第 8 章

Vibe Coding

氛围编程 · 一份从理解到熟练的实战指南

2025 年 2 月,AI 领域知名学者、前 OpenAI 研究员 Andrej Karpathy 在社交媒体上随手写下一段话,给一种新兴的编程方式起了个名字——Vibe Coding(氛围编程)。一年多过去,它已经从小圈层的新潮实验,变成许多开发者日常工作流中的一部分。

Vibe Coding 不是某一款 IDE 或编辑器,而是一种根本性的思维转变:从"逐行敲代码"到"用自然语言描述意图",从"程序员"到"产品设计师"。在这个范式里,AI 是工程师,你是指挥官。这篇指南会带你走完从理解到熟练的完整路径。

🌊
范式快速扩散 从一句口号,进入越来越多开发者的日常工作流
原型提速 小功能和可运行原型,常能从"按天计"压缩到"按小时计"
🧭
能力被重定义 最值钱的不再是语法记忆,而是判断与表达

在动手之前,先搞清楚三件事:它从哪来、它改变了什么、它需要你具备什么能力。

它从何而来

"Vibe Coding"一词由 Andrej Karpathy(Stanford 博士、前 OpenAI 研究员、前 Tesla AI 负责人)在 2025 年 2 月推广。他在社交媒体上用这个词描述了一种高度依赖 AI 大模型、以自然语言和快速迭代为主的编程体验:

Karpathy 大意是:这种新编程方式让人更多沉浸在意图、反馈和迭代里,甚至会暂时"忘记代码本身";它特别适合周末项目、原型和快速探索,但并不等于可以在严肃工程里跳过审查。

—— 根据 Andrej Karpathy 2025 年 2 月相关表述整理

它改变了什么:编程范式的三次演进

要理解 Vibe Coding 的位置,把它放进编程方式的三次跃迁里看最清楚:

🖥️ 传统编程

1950s — 2020s
程序员用编程语言逐行编写代码,是唯一的实现者
  • 人类编写每一条语句
  • 编译 → 运行 → 调试
  • 开发效率受限于人类速度
  • 学习曲线陡峭

🤖 AI 辅助编程

2021 — 2024
AI 作为助手,提供代码补全和片段生成。
  • AI 建议代码片段(如 Copilot)
  • 程序员仍是主要编写者
  • 在部分受控任务中能明显提速
  • 仍需理解并管理全部代码

🌊 Vibe Coding

2025 — 至今
程序员用自然语言描述意图,AI 是主要实现者
  • AI 生成完整功能乃至整个项目
  • 人类扮演"产品经理 + 评审者"
  • 在原型、样板代码和小功能场景中提速明显
  • 人人皆可构建软件

核心理念

Vibe Coding 用一句话概括:用自然语言编程,让 AI 写代码。它的核心主张是——开发者最重要的能力不再是记忆语法,而是理解问题、分解需求、判断方案质量。这些"软能力",在 Vibe Coding 时代反而变得更重要了。

💬

自然语言优先

用日常语言描述你想要什么,而不是先学一门编程语言的语法。需求描述越清晰,AI 产出质量越高。

AI 驱动实现

由大模型(Claude、GPT、Gemini 等)负责理解意图、生成代码、调试修复——它是实际的"编码引擎"。
🔄

快速迭代

通过"描述 → 生成 → 运行 → 反馈"的超短循环,几分钟内完成传统开发要数天才能做完的事。

你需要的三种核心能力

范式变了,值钱的能力也变了。在 Vibe Coding 时代,真正拉开差距的是下面这三种能力:

🧩

问题拆解

把复杂需求分解成 AI 能理解的小步骤——这是 Vibe Coding 最核心的能力,决定一切。
🔍

结果判断

理解并审查 AI 生成的代码,判断它的正确性、安全性与性能——你得能看出好坏。
🎯

精确表达

用清晰、具体、无歧义的语言描述需求,减少来回沟通的损耗——Prompt 就是你的新编程语言。

理解了概念,接下来就动手。先找到适合你的起步路径,选对工具,跑通第一个标准工作流。

🚀 新手快速上手路径:你的第一天

不同背景的人,最顺的起步方式不同。对号入座,照着走你就能在一个下午内做出第一个能跑的东西:

🌱
零基础 · 完全不会编程
目标:先体验"说话就能造东西"
  1. 装什么:打开 Bolt.newLovable,浏览器里直接用,零安装、零配置。
  2. 第一个练习:用一句话生成一个"个人介绍页",再让它改配色、加按钮、换布局,感受迭代。
  3. 进阶:用 v0.dev 生成 UI 组件,逐步过渡到 Cursor,开始接触真实代码。
💻
有编程经验 · 想提效
目标:把 AI 嵌入你现有工作流
  1. 装什么Cursor(AI 原生编辑器)或 Claude Code(终端 Agent)。
  2. 第一个练习:挑一个你熟悉的小功能(如待办列表),用自然语言重写一遍,对比手写效率。
  3. 进阶:用 Cursor Agent / Claude Code 做多文件重构,建立项目级规范(如 .cursorrules 或项目说明文件)。
🎨
产品 / 设计同学
目标:把想法变成可验证的成品
  1. 装什么v0.dev(出 UI 原型)+ Lovable(搭可交互应用)。
  2. 第一个练习:把一张设计稿或 Figma 截图,用文字描述给 v0,生成可复用的 React 组件。
  3. 进阶:用 Lovable 搭一个能真实运行的 MVP,直接拿给用户验证想法。

工具生态(2026 版)

过去两年,AI 编程工具从"代码补全插件"进化到了"能自主完成多步任务的 Agent"。下面按使用入口把常见工具分成两类:

IDE 类工具

Cursor 常用

基于 VS Code 打造的 AI 原生编辑器,是 Vibe Coding 代表性工具之一。
  • Tab 补全:预测性多行补全,按 Tab 接受
  • Cmd+K:选中代码或空白处输入提示,即时生成/修改
  • Agent:跨文件编辑,按任务规划并修改项目
  • Chat:内置 AI 对话,可引用文件与代码
  • 支持 Claude、GPT 等多种后端模型

Claude Code 常用

Anthropic 推出的 AI 编程 Agent,最初以命令行体验为核心,现已扩展至桌面应用 (Mac/Windows)、网页端、以及 VS Code 和 JetBrains 等 IDE 插件入口。
  • 多入口:CLI / 桌面应用 / 网页 / IDE 插件全覆盖
  • 自主执行:能读、改、运行代码并查看结果
  • 多文件编辑:理解整个项目结构,跨文件修改
  • 内置调试:运行测试、定位 bug、自动修复
  • 深度集成 git 工作流,可直接提交代码

GitHub Copilot

微软 / GitHub 推出的 AI 编程助手,是最早大规模普及的 AI 代码助手之一,用户基数最大。
  • 行内补全:实时代码建议,多语言支持
  • Copilot Chat:IDE 内 AI 对话
  • Copilot Agents:自主执行多步编码任务
  • 深度集成 VS Code、JetBrains 等主流 IDE

Windsurf

主打"深度上下文感知"的 AI IDE,后被 Cognition 收购并与 Devin 生态整合,代表了一类 Agent IDE 思路。
  • Deep Context:理解整个项目文件与结构
  • Flow 模式:多文件协同编辑
  • 智能推荐:基于上下文的代码建议

Zed

Sublime 创始人打造的高性能编辑器,内置 AI 集成,追求极致速度。
  • 超高性能:Rust 编写,毫秒级响应
  • 内置 AI:直接接入大模型
  • 协作优先:实时多人编辑

Cline 开源

开源自主编程 Agent,以 VS Code 插件形式存在,可连接任意 OpenAI 或 Anthropic 模型,支持文件编辑、终端命令执行、浏览器操作。
  • 完全开源:社区驱动,自由定制
  • MCP 集成:通过 MCP 协议连接外部工具与服务
  • 跨模型:支持 Claude、GPT 等多种后端
  • 自主执行:可在 IDE 内独立完成多步任务

国产 AI 编程工具

通义灵码 国内常用

阿里巴巴旗下 AI 编程助手,基于通义千问代码大模型,是国内用户量最大的 AI 编程工具之一。
  • 智能补全:行级 / 函数级代码自动生成与补全
  • 代码解释:自然语言解释复杂代码逻辑
  • 单元测试:一键生成单元测试用例
  • 多 IDE:支持 VS Code、JetBrains 全家桶
  • 团队协作:2025 年新增团队项目管理与跨平台协作功能
  • 中文友好:对中文语境和国内技术栈支持出色

智谱清码 (CodeGeeX) 开源

智谱 AI 推出的 AI 编程助手,底层基于 CodeGeeX 4 代码大模型,支持超过 100 种编程语言。
  • 多语言:支持 100+ 编程语言代码生成与理解
  • 代码修复:自动检测并修复代码中的错误
  • 插件化:VS Code / JetBrains 插件 + 独立网页版
  • 开源模型:CodeGeeX 系列模型开源,可私有化部署

百度 Comate

百度推出的 AI 编程助手,基于文心快码大模型,深度集成百度智能云生态。
  • 全栈生成:支持前后端代码生成与补全
  • 智能对话:自然语言问答与代码解释
  • 代码迁移:辅助不同语言/框架间的代码转换
  • 企业版:支持私有化部署与知识库增强

Amazon Q Developer

亚马逊推出的 AI 编程助手(原 CodeWhisperer 升级),深度集成 AWS 云生态,2025 年新增 Agentic 模式。
  • Agentic 模式:自主分解任务、跨文件编辑、自动调试
  • CI/CD 集成:直接嵌入持续集成与部署流程
  • AWS 生态:与 Lambda、DynamoDB 等 AWS 服务深度联动
  • 20+ 语言:支持主流编程语言

命令行 Agent

Gemini CLI 开源

Google 于 2025 年 3 月发布的开源命令行编程 Agent,轻量快速,直接在终端中与 Gemini 模型交互。
  • 命令行优先:终端内完成代码生成、调试、重构
  • 开源:GitHub 公开源码
  • 多模型:支持多种 Gemini 模型切换
  • 多文件编辑:理解项目上下文,跨文件修改

OpenClaw 开源

开源 AI 编程 Agent,集成于主流 IDE,支持代码生成、调试、优化,强调开放生态与多模型接入。
  • 开源核心:社区驱动,透明可审计
  • 多语言:支持多种编程语言
  • IDE 集成:VS Code、JetBrains 等
  • 多模型:灵活切换后端 AI 模型

Web 应用生成平台

Bolt.new 新锐

StackBlitz 推出的浏览器内全栈 AI 开发平台,直接构建、运行、部署完整 Web 应用。
  • 零配置:打开浏览器即可编程
  • 即时预览:实时热更新
  • 一键部署:直接发布到 Netlify / Vercel

Lovable 新锐

AI 驱动的 Web 应用构建平台,擅长生成现代化的 UI 界面和全栈功能。
  • UI 优先:生成美观的 React + Tailwind 界面
  • 后端集成:一键接入 Supabase 数据库
  • 自然语言到应用:描述需求即生成完整应用

v0.dev

Vercel 推出的生成式开发工具,早期以 UI 组件生成著称,现在也覆盖全栈应用、部署和协作流程。
  • 文字到应用:描述界面或功能即可生成代码
  • Tailwind CSS:生成的代码直接用 Tailwind
  • 协作交付:生成结果可继续迭代、接入项目或部署

Replit Agent

Replit 推出的 AI Agent,能从自然语言描述直接构建、部署并迭代完整的全栈应用,覆盖从编码到上线的全生命周期。
  • 端到端:编码 → 测试 → 部署一条龙
  • 零环境:云端运行,无需本地配置
  • 全栈:前后端 + 数据库 + 部署一体

如何选择?

如果你是开发者:从 CursorClaude Code 开始,它们提供较完整的 Agent 编程体验。
如果你偏好开源:试试 ClineOpenClaw,社区活跃且灵活可定制。
如果你在国内通义灵码 对中文和国内生态支持最好,智谱清码 模型开源可私有部署。
如果你是产品 / 非开发者:从 Bolt.newLovableReplit Agent 开始,零代码基础也能构建应用。
如果你需要快速 UI / Web 原型v0.dev 很适合描述即生成并继续迭代。
如果你喜欢命令行Gemini CLIClaude Code CLI 都是不错的选择。

Vibe Coding 标准工作流

不管用哪个工具,一次典型的 Vibe Coding 过程都包含这四个核心步骤,循环往复:

1

描述需求

用自然语言清晰描述你想构建的功能或应用

2

AI 生成

AI 理解意图,生成代码文件或完整项目

3

运行验证

运行代码,观察输出是否符合预期

4

迭代反馈

告诉 AI 哪里要改,进入下一轮迭代

能跑起来只是开始。想真正"用得好",需要看懂一个完整案例、掌握 Prompt 写法、并养成工程化的最佳实践。

🛠️ 完整实战案例:做一个番茄钟

用一个真实的小项目——"番茄钟网页",把整个流程走一遍。重点不是成品多炫,而是每一步人脑该做什么

1
一句话需求
"做一个番茄钟。" —— 这是起点,但远远不够。模糊的需求只会换来模糊的产出。
2
人脑拆解(最关键的一步)
先想清楚三件事:技术栈(单页 HTML+JS 就够)、核心功能(25 分钟倒计时、开始/暂停/重置、结束时提示)、UI 风格(简洁、居中大数字、暖色调)。
3
写一个具体的 Prompt
// 具体描述技术栈、功能、交互、风格
单个 HTML 文件(内联 CSS + JS) 做一个番茄钟
功能:
- 25:00 倒计时,居中大号数字显示
- 三个按钮:开始 / 暂停 / 重置
- 倒计时归零时弹窗提示"休息一下"
风格:简洁、居中、暖色背景、大圆角按钮。
4
AI 生成第一版
AI 一次给出可运行的 HTML。打开浏览器,番茄钟基本能用——但你会发现:暂停后再点"开始"会重置时间,而不是接着走。
5
迭代反馈(Vibe Coding 的常态)
// 指出问题,给出预期行为
暂停后再点"开始"会重置成 25:00,请改成
从暂停的那一刻继续倒计时,不要重置。
6
成品与反思
两三轮迭代后,番茄钟完整可用。复盘:真正花时间的不是写 Prompt,而是第 2 步的拆解第 5 步的精准反馈——这正是 Vibe Coding 的核心能力。

Prompt 写作技巧

在 Vibe Coding 中,Prompt 就是你的"新编程语言"。写好它,直接决定产出质量:

❌ 差的 Prompt
// 太模糊,AI 无法给出精确实现
做一个 "网站"
✅ 好的 Prompt
// 具体描述技术栈、功能、UI 风格

React + Tailwind CSS 构建一个个人博客主页。
要求:
- 顶部导航栏:Logo + 三个链接(关于、文章、联系)
- 英雄区域:大标题 + 一句话简介 + CTA 按钮
- 文章列表:展示最近 5 篇文章,含标题、摘要、日期
- 底部:版权信息和社交媒体链接
- 风格:简洁、现代、暗色主题

Prompt 六大原则

🎯 具体明确

不要说"做一个好看的页面",要说"用 Tailwind 构建一个暗色主题的个人主页,包含导航、英雄区域和页脚"。

📦 分步拆解

复杂项目拆成多个小任务。先搭骨架,再逐步加功能,每次聚焦一个模块。

🛠️ 指定技术栈

明确框架、库和样式方案(如"用 React + TypeScript + Tailwind"),避免 AI 随机选择。

📐 提供参考

给 AI 看参考截图、描述已有代码结构、提供设计稿,能大幅提升生成质量。

🔄 迭代优化

别期待一次成功。运行结果后告诉 AI 哪里要调——这是 Vibe Coding 的正常流程。

🧪 边界情况

明确异常处理、错误页面、响应式适配等边界,让生成的代码更健壮。

📚 Prompt 模板库(可直接复用)

下面三个模板覆盖最常见的三类任务,把方括号里的内容换成你的实际情况即可。它们的共同骨架是:角色 + 技术栈 + 需求 + 约束 + 输出格式

🧩 模板一 · 新功能开发
// 角色 + 技术栈 + 需求 + 约束 + 输出
你是一位资深前端工程师。请用 [React + TypeScript + Tailwind]
实现一个 [带搜索和分页的用户列表]
要求:
- [数据用 mock,字段:姓名、邮箱、角色、注册时间]
- [支持按姓名模糊搜索,每页 10 条]
- [响应式,移动端单列]
输出:可直接运行的完整代码 + 关键设计说明。
🐞 模板二 · Bug 修复
// 现象 + 复现步骤 + 相关代码 + 预期
这段代码有个 bug[暂停后再点开始,倒计时被重置]
复现步骤[点开始 → 等 5 秒 → 点暂停 → 再点开始]
相关代码
[粘贴 startTimer / pauseTimer 函数]
预期[从暂停处继续,而非重置成 25:00]
定位原因并给出最小改动。
♻️ 模板三 · 重构优化
// 现状 + 痛点 + 目标 + 不变约束
请重构以下代码
现状[一个 300 行的提交订单函数,职责混杂]
痛点[校验、计价、库存、持久化全堆在一起,难测试]
目标[拆成单一职责的小函数,便于单测]
不变约束[对外行为和返回值保持一致]
输出:重构后代码 + 拆分思路。

最佳实践

🔐 守住高风险边界

永远不要把 API Key、密码等敏感信息交给 AI。涉及权限、资金、隐私或不可逆操作时,只确认关键边界,不把责任交给流程。

🧭 关注关键路径

不必逐行审查 AI 的每个实现,但要知道目标、入口、关键数据流和验收结果,遇到异常时能准确描述问题。

🧭 保持架构感

即使是 Vibe Coding,也要有架构意识:文件组织、模块划分、依赖管理,定期重构 AI 生成的代码。

经验还重要吗?重要,但越来越不重要

在同样的 AI 工具面前,初级程序员、非程序员和有经验的程序员都能更快做出第一版。差距并没有消失,只是从“谁写代码更快”,逐渐转向“谁能把问题定义得更准、把风险看得更早”。

BEGINNER / NON-CODER

初级程序员 / 非程序员

优势

目标通常更贴近真实需求,少受旧技术路径束缚;愿意快速尝试,也更容易把 AI 当成真正的实现伙伴。

短板

容易低估复杂度,难以识别隐藏风险;需求、边界和验收标准模糊时,容易得到“能跑但不可靠”的结果。

更适合原型、页面、自动化、小工具、业务流程验证
EXPERIENCED ENGINEER

有经验的程序员

优势

能拆解任务、识别系统边界,提前想到异常路径、数据一致性、权限和后续维护问题。

短板

可能被既有经验束缚,容易过度设计;如果仍按过去的方式亲自实现,反而会错过 AI 带来的速度。

更适合核心架构、复杂集成、数据迁移、权限安全、长期维护
THE SHIFT

经验没有消失,只是从“实现优势”迁移到了“判断优势”。 AI 越来越擅长把明确的意图变成代码,所以经验在第一版实现速度上的稀缺性正在下降;但在高风险任务里,拆解、取舍和验收依然需要经验。

01

低风险 · 边界清晰

初级成员或非程序员主导。让 AI 负责实现,通过运行结果和简单测试验收。

02

原型 · 界面探索

产品、设计、初级开发者都可主导。经验程序员提供约束、方向和必要的技术护栏。

03

复杂系统 · 核心数据

经验程序员负责拆解和最终决策。AI 承担大量实现、迁移和迭代工作。

04

长期维护 · 多人协作

经验程序员守住规范与交付边界。初级成员和非程序员负责清晰的小任务、验证和反馈。

模型不是越强越好:先判断任务,再选择档位

A SMALL BUT IMPORTANT LESSON

一开始我把 GPT 推理强度直接拉满

当时的直觉很简单:模型越强,结果应该越好。但实际用下来发现,高推理档位会思考更多、确认更多、反复追问更多;对于一些本来几分钟就能完成的小需求,等待和沟通本身反而成了主要耗时。

后来我换成 medium,甚至 low,效果并没有明显变差,速度却快了很多。真正重要的不是永远调用最强模型,而是先判断:这个任务是否值得更长的思考时间?

THE PRINCIPLE

简单需求用速度换反馈,复杂需求用思考换确定性。

模型选择,本质上也是判断力的体现。
01

简单需求

LOW / MEDIUM

目标明确、范围局部、结果容易验证,错了也容易回退。

  • 改一个页面样式、补一个按钮或表单
  • 已知技术栈中的 CRUD、格式转换、脚本和文案
  • 输入、输出和验收标准都能一句话说清
  • 几分钟内可以运行、截图或用测试确认
建议:先用 low;需要多文件协同时升到 medium。
02

复杂需求

MEDIUM / HIGH

目标仍有歧义、影响多个边界,或者结果难以快速验证,错了代价较高。

  • 涉及架构、数据模型、跨模块协作或第三方集成
  • 权限、安全、隐私、资金和不可逆操作
  • 需要处理并发、异常、兼容性和迁移问题
  • 问题本身不清楚,需要先调查、拆解和建立方案
建议:先让模型澄清和规划,再用 medium 或 high 执行关键部分。
HOW TO CHOOSE一个实用的升档规则
01

先看能否快速验收:能在几分钟内确认,就不要一开始拉满。

02

先用 low / medium 试跑:让模型先做小闭环,观察它是否真正卡住。

03

出现信号再升档:需求反复理解错、跨模块推理失败、方案取舍困难,再换更强档位。

04

升档也要带着问题升:不要只说“再想想”,而要指出冲突、约束和失败现象。

复杂度不等于代码行数。一个 500 行但边界清楚的页面,可能比一个 50 行却涉及权限和数据一致性的接口更简单。能否说清目标、边界、风险和验收方式,才是判断复杂度的关键。

这一部分帮你少走弯路:先看清最容易踩的坑,再判断 Vibe Coding 适合哪些场景。

⚠️ 常见误区 / 避坑清单

这些坑,几乎每个 Vibe Coding 新手都会踩。提前知道,就能省下大量返工时间:

01

期望一次成型

误区指望一句 Prompt 就得到完美成品。

正解分步迭代才是常态,每轮聚焦一个小目标。

02

把 Code Review 当成必选流程

误区每次都逐行检查,把审查本身变成新的负担。

正解小项目优先看运行结果、关键路径和真实反馈。

03

把密钥贴给 AI

误区直接把 API Key、数据库密码写进 Prompt。

正解敏感信息脱敏,用环境变量管理,绝不入库。

04

一次塞太多需求

误区把整个复杂系统一次性甩给 AI。

正解拆成单一模块逐个实现,质量与可控性都更高。

05

不做版本管理

误区一路生成、一路覆盖,改崩了无法回退。

正解每轮迭代用 git commit 留快照,随时可回滚。

06

把信任 AI 误解成不验收

误区AI 说完成了,就跳过运行、测试和真实场景。

正解信任实现过程,但用结果确认它真的解决了问题。

MY POSITION · TRUST THE AGENT

我不把 Code Review 当成 Vibe Coding 的必选动作

如果 AI 已经理解需求、完成实现,并且结果经过运行验证,那么逐行 Review 不一定带来同等价值。Vibe Coding 的意义,正是把“实现”更多交给 AI;我倾向于相信 AI 在当前任务中的决策,不再把传统审查流程当作每次交付的门槛。

不做什么 不为符合个人习惯而逐行挑代码。
看什么 看目标是否达成、关键路径是否成立、异常是否可接受。
怎么确认 用运行结果、简单测试、截图和真实数据反馈替代形式化审查。
边界提醒

这不是“什么都不验证”。当任务涉及安全、权限、资金、隐私、核心数据或不可逆操作时,仍要确认这些关键边界;确认的是结果和风险,而不是把时间耗在检查每一行实现上。

理念之争:该不该全面拥抱?

Vibe Coding 的兴起一直伴随着争议。了解正反两面的观点,能帮你判断它的真实边界:

👍 支持方:开发民主化

Vibe Coding 的核心价值在于降低创造门槛:

  • 人人皆可编程:非技术背景的人也能构建应用、实现创意
  • 极大提升效率:开发者可以更快完成原型验证和重复性实现
  • 释放创造力:从繁琐语法中解放,专注于产品创新
  • 教育变革:编程教育从"学语法"转向"学思维"

"Vibe Coding 不是让程序员失业,而是让程序员升值。"

👎 反对方:技术根基流失

Vibe Coding 也带来值得警惕的风险:

  • 代码质量不可控:生成的代码可能存在性能问题与安全漏洞
  • 理解能力退化:过度依赖 AI 可能削弱独立编码能力
  • 调试困境:不理解代码,遇复杂 bug 时束手无策
  • 大型项目瓶颈:目前更适合中小项目,大型系统仍需深厚功底

"如果不懂代码原理,你甚至不知道 AI 在胡说八道。"

它最适合做什么

了解了争议,你就能明智地选择战场。下面是 Vibe Coding 当前最如鱼得水的场景:

🚀

原型开发

快速验证产品想法,一天内完成传统开发要一周的 MVP。
👤

个人项目

独立开发者快速构建工具、网站、自动化脚本。
📊

数据分析

快速进行数据探索、可视化、生成分析报告。
📝

文档与教程

自动生成 API 文档、代码注释、技术教程。
🧪

学习工具

初学者通过 AI 生成的代码学习编程概念与模式。
🔧

内部工具

快速搭建 CRM、仪表盘、管理等企业内部工具。

了解 Vibe Coding 的边界,比掌握它的使用方式更重要。知道 AI 不能做什么,才能避免踩进那些看似合理却致命的陷阱。

AI 编程能力的六维雷达

为了直观理解 Vibe Coding 的能力边界,我们从六个维度对当前 AI 编程 Agent(以 Claude Code、Cursor Agent 为代表)进行主观评估:

🕸️ 当前 AI 编程能力雷达图

满分 5 星。这个雷达图是经验性示意,用来展示 AI 在不同编程任务维度上的相对强弱,而不是严格 benchmark。

代码生成 原型构建 单元测试 文档编写 架构设计 安全审查 4.5 4.8 3.5 3.0 2.5 2.0 能力评分(满分 5) 擅长领域 中等水平 薄弱领域

▲ 当前 AI 编程 Agent 的六维能力主观评估。原型构建和代码生成通常较强,但安全审查和架构设计仍需要人工主导。

AI 擅长的事

✅ 快速生成样板代码

CRUD 接口、表单组件、数据模型等重复性高、模式固定的代码,AI 可以秒级生成,准确率极高。

✅ 解释和理解已有代码

把一段复杂的代码丢给 AI,它能用通俗语言解释它在做什么——这对接手他人项目尤其有帮助。

✅ 编写单元测试

给定一个函数,AI 可以快速生成覆盖正常路径和常见边界情况的初版测试用例,但覆盖率和断言质量仍需要人工检查。

✅ 翻译和转换代码

Python 转 JavaScript、React 转 Vue、旧版 API 迁移到新 SDK——AI 在语言/框架间迁移代码方面表现出色。

✅ 调试常见错误

把报错信息贴给 AI,它通常能准确定位到问题所在,并给出修复方案——尤其是语法错误、类型错误等常见问题。

✅ 生成文档和注释

函数签名 + 简要描述 → 完整的 API 文档。虽然需要人工润色,但能节省大量时间。

AI 不擅长的事

🚫 安全审计

AI 生成的代码可能包含 SQL 注入、XSS、硬编码密钥等安全隐患。它不了解你的业务安全上下文,也无法保证没有后门。

🚫 复杂架构设计

微服务拆分、分布式事务、容灾方案——这些需要深刻理解业务约束和技术权衡,AI 缺乏全局视野。

🚫 性能优化

AI 可能写出"能跑"的代码,但很难保证在高并发、大数据量下的性能表现。瓶颈分析和调优需要专业经验。

🚫 业务逻辑判断

"这个字段要不要做空值处理?""这个状态流转是否覆盖所有场景?"——这些问题需要理解业务上下文,AI 只能猜测。

灰色地带:AI 正在进步但仍有局限

⚠️ 大型多文件重构

AI 可以处理几百行的单文件重构,但当涉及几十个文件的跨模块变更时,容易出现遗漏或不一致的修改。需要人工逐文件审查。

⚠️ 复杂业务需求理解

对于"用户注册后发送欢迎邮件并创建默认团队"这类需求,AI 能生成代码,但可能遗漏边界条件(如邮件发送失败怎么办?团队已存在怎么办?)。

⚠️ 第三方 API 集成

AI 可能生成看起来合理的 API 调用代码,但如果 API 文档更新了、有速率限制、或需要特殊认证,AI 可能给出过时或错误的信息。

⚠️ 代码审查的深度

AI 可以发现明显的 bug 和风格问题,但对于"这个设计是否违反了领域驱动设计原则"这类深层次的设计审查,AI 的判断力有限。

人机分工矩阵:谁该做什么?

最理想的 Vibe Coding 不是"让 AI 替我做一切",而是明确分工——让 AI 做它擅长的,人做它该做的:

🤖 AI 负责

  • ✓ 生成样板代码和脚手架
  • ✓ 提供多种实现方案供选择
  • ✓ 编写单元测试和文档
  • ✓ 解释复杂代码的逻辑
  • ✓ 查找和修复已知类型的 bug
  • ✓ 代码格式化和风格统一

🧑‍💻 人负责

  • ✓ 需求拆解和问题建模
  • ✓ 技术方案选型和架构决策
  • ✓ 安全审查和风险评估
  • ✓ 业务逻辑的正确性判断
  • ✓ 最终代码审查和质量把关
  • ✓ 性能分析和优化策略

核心原则:AI 是副驾驶(Co-pilot),你是机长(Captain)。
它可以帮助你飞得更快,但航线、目的地和最终决策——必须由你来做出。理解 Vibe Coding 的边界,不是为了限制它的使用,而是为了更安全、更有效地使用它。

Vibe Coding 解决的是“如何让 AI 参与实现”,这一节进一步回答:在一次具体对话里,人和 AI 各自知道什么?

很多人把 AI 用不好,第一反应是换模型、换工具,或者继续收集 Prompt 模板。但对话效果往往首先取决于认知位置:你是否理解这个问题,AI 是否拥有完成任务所需的知识和上下文?

参考“AI 对话四象限”框架,可以把人与 AI 的关系放到一张地图上。定位之后,再选择直接指令、分层提问、补充资料,还是把 AI 当作共同探索的伙伴。

一张判断人机关系的地图

四象限由两个问题切开:横向看人是否知道,纵向看AI 是否知道。这里的“知道”不是绝对全知,而是指对当前任务是否有足够的背景、事实和判断依据。

AI 的知识状态
人的知识状态
AI 知道
AI 不知道
人不知道
人知道
01 · OPEN

公开区

双方对目标和背景都有基本认知,适合直接沟通,追求完成速度。

策略:简洁直给
02 · BLIND

盲区

AI 可能掌握相关知识,但人还不熟悉。重点是把大问题拆成学习路径。

策略:分层提问
03 · HIDDEN

隐藏区

人掌握业务或个人背景,AI 缺少上下文。重点是先补齐资料和约束。

策略:知识投喂
04 · UNKNOWN

未知区

双方都没有现成答案,需要用假设、试验和判断共同探索。

策略:协同共创
图 1 · 先定位认知差异,再决定对话方式
使用口诀:人知、AI 也知,就直接问;人不知、AI 知,就拆开学;人知、AI 不知,就先喂资料;双方都不知,就一起做实验。

四种对话模式,四种“必杀技”

O
Open · 闪电战双方都有足够背景

不要为了显得专业而堆砌复杂 Prompt。把目标、格式和验收标准说清楚即可。

示例把下面的会议纪要压缩成 5 条行动项,每条包含负责人、截止时间和风险。
B
Blind · 寻宝战AI 可能知道,你还不知道

把陌生领域拆成“是什么—为什么—怎么做—如何判断好坏”,让 AI 既讲解又检查你的理解。

示例我只有基础了解。请先画一张概念地图,再分 4 轮带我学习,每轮结束提出 2 个检查问题。
H
Hidden · 情报战你知道,但 AI 不知道

业务规则、项目进展、个人偏好不会自动出现在模型上下文里。先提供背景,并让 AI 复述理解。

示例以下是背景、约束和验收标准。请先列出你的理解与缺失信息,确认后再给方案。
U
Unknown · 共创战双方都没有现成答案

把 AI 输出当作创意素材而不是结论,要求它提供反例、风险和可以快速验证的小实验。

示例提出 5 个大胆假设,分别说明机制、最大风险,以及 48 小时内可完成的低成本验证。
表 1 · AI 对话四象限速查
象限认知关系主要打法典型任务
Open人知,AI 也知简洁直给总结、改写、格式化
Blind人不知,AI 知分层拆解学习、解释、建立知识地图
Hidden人知,AI 不知补充上下文业务分析、项目协作、个性化建议
Unknown双方都不知假设共创创新、研究、跨界探索

把地图变成日常工作流

01定位

我知道目标和背景吗?AI 是否有完成任务所需的知识?

02补齐

Blind 补学习路径,Hidden 补任务情报,Unknown 补假设和评价标准。

03推进

选择直接指令、递进提问、结构化投喂或发散共创。

04验证

用事实、案例、测试或人工评审检查输出,形成反馈闭环。

Blind 区:把“我不懂”变成学习路线

  • 先要一张概念地图,确认前置知识和学习顺序。
  • 让 AI 多举例,并主动指出类比的边界。
  • 每轮结束做一次小测或复述,避免“听懂了但不会用”。

Hidden 区:建立专属任务手册

  • 提供目标、受众、已有资料和不可违反的约束。
  • 补充术语、流程、历史决策和验收标准。
  • 资料接入要遵守最小化、授权和隐私保护原则。

Unknown 区:把答案改成可验证假设

  • 允许先提出大胆方向,再要求 AI 找反例。
  • 把创意压缩成低成本、短周期的小实验。
  • 根据结果修正假设,而不是维护第一版答案。

和 Vibe Coding 的连接:自然语言只是入口,真正决定产出的,是你能否判断当前处在哪个象限。Open 区追求效率,Blind 区追求理解,Hidden 区补齐上下文,Unknown 区共同探索。

参考来源与说明

本节参考腾讯云开发者社区文章《AI对话四象限:你的未来十年「人机共生导航图」》整理、改写并结合 Vibe Coding 场景补充示例。原文作者:三猫;页面显示发布时间:2025-11-28,文中注明原始发表时间为 2025-06-06。本文不是原文逐字转载。查看参考文章 ↗

前面讲的是方法,这一节讲一段真实经历:我如何从一份 PRD 出发,用 Vibe Coding 在 54 天里搭出一套智能档案管理系统,又如何在 1,000 多次提交和一轮轮返工中,重新理解“应该怎么和 AI 一起写软件”。

A REAL VIBE CODING LOG

从一句“按 Spec 一步步开发”,到一套真正要跑业务的系统

2026 年 7 月 3 日,我给 AI 的起点并不是一张完整架构图,而是一段业务描述:新建任务、扫描目录、切割 PDF、OCR、识别文件归属、人工复核、按户归档,再把结果输出到本地。第一轮提示词里,产品轮廓已经很清楚,但技术边界、异常策略、数据模型和验收标准仍然模糊。

此后,项目从 FastAPI + Vue 的最小骨架,一路扩展到 PDF 处理、OCR、智能体整理、档案提取、账号权限、离线计费、打包部署、监控与审计。回头看,这段经历最有价值的不是“AI 写了多少代码”,而是它完整暴露了 Vibe Coding 的两面:它能把想法快速推成产品,也会把模糊、急躁和侥幸同步放大。

54 天持续迭代 2026-07-03 → 2026-08-25
1,044 个 master 提交 从 Spec 到产品化与运维
465 个相关会话记录 含主对话与 worker / reviewer 子任务
207 个测试文件 后端 130 · 前端 77
这组数字说明了什么?

Vibe Coding 的速度确实惊人,但“提交很多”不等于“方向一直正确”。按提交前缀粗略统计,项目有 356 个 feat,也有 344 个 fix。功能与修复几乎一比一,正好说明:早期推进越快,后期越需要靠测试、复核和真实数据把系统拉回正确轨道。

五个阶段:我的 Vibe Coding 是怎样长出来的

01
7 月 3 日 · 从业务语言开始

先把 PRD 翻译成 Spec,再做最小闭环

最初的提示词做对了一件非常关键的事:没有直接说“帮我写个系统”,而是要求 AI 先阅读 PRD、输出 Spec,再按 Spec 逐步开发。第一阶段只做登录、任务、目录扫描、进度、文件索引和页面展示,暂时不做 OCR 与智能整理。

收获:先建立共同地图,AI 才不会一上来就替你发明需求。
02
7 月 3—5 日 · 快速形成产品手感

边用边改:搜索、页数、预览、切割工作台与视觉重构

系统刚能跑,我就立刻用真实目录测试,并连续提出“文件索引支持搜索”“记录 PDF 页数”“页面更好看”“源文件与切割件双向追溯”等要求。截图和实际操作反馈让 AI 不再只对着代码猜,而是开始对着用户体验改。

收获:可运行原型比十页需求文档更容易暴露真正的问题。
03
7 月 5—12 日 · 从“聊天写代码”转向工程协作

Spec → Plan → TDD → Worker → Reviewer → Merge

随着功能复杂度上升,我开始把任务拆成独立工作树和小提交:实现 worker 先写红灯测试,再完成代码;规格 reviewer 检查是否满足计划;质量 reviewer 专查竞态、边界、兼容性和回归风险。这些 reviewer 同样由 AI 承担,并不是我逐行人工审查代码。项目不再依赖“一次生成正确”,而是依赖 AI 之间的多轮交叉验证。

收获:AI 最适合进入流程,不适合成为流程本身。
04
7 月中下旬—8 月初 · 业务复杂度反扑

OCR、归户、整理、提取接入后,“能跑”不再等于“能用”

当系统进入真实档案场景,问题从按钮和接口变成了业务语义:材料类型目录被误认成户目录、同一主体出现多个键、单一置信度掩盖身份错配、逐页切割破坏上下文。某次脱敏后的 10 户样本测试中,486 个源文件生成 820 个切割产物,最终 485 条整理结果需要复核。

收获:真实数据不是最后的验收材料,而应该从第一周就进入开发闭环。
05
8 月 · 从功能项目走向可运营产品

账号、权限、计费、打包、日志、监控、删除审计

后期的提示词不再只是“加一个功能”,而开始关注谁能看见什么、一次处理消耗多少、如何离线部署、怎样追踪阶段耗时、删除档案柜如何二次确认和留痕。到这一步我才真正意识到:产品化的大头,往往是最初 Demo 里看不见的部分。

收获:从 Day 1 就要为权限、可观测性、数据安全和可恢复性留位置。

我做对了什么

01

先讲业务闭环,不先钦定代码

最初描述的是“扫描—切割—识别—复核—归档—输出”,这比只说技术栈更有价值。技术可以替换,业务闭环才是系统存在的理由。

02

尽快拿真实目录试跑

真实文件路径、真实 PDF、真实页面截图,让问题快速从抽象讨论变成可复现缺陷,也逼着文件安全、路径校验和异常处理提前落地。

03

把主观反馈变成持续迭代

“太丑”“信息看不全”虽然不够精确,但我没有停留在批评,而是持续截图、操作、对比和缩小问题范围,最终形成了更接近真实工作台的交互。

04

逐渐建立 AI 工程流水线

工作树隔离、TDD、小步提交、规格审查、质量审查、构建验证和浏览器验收,让多个 Agent 可以协作,又不至于互相覆盖。

05

愿意让数据否定第一版方案

当真实归档效果不好时,没有只调低复核阈值,而是继续追查目录语义、主体字典、证据分层、提示词和后端校验的共同问题。

06

把过程沉淀成可追踪资产

Spec、设计文档、实现计划、测试、提交记录、阶段报告和日志共同组成了项目记忆。即使对话上下文丢失,新的 Agent 仍能接着工作。

我踩过的坑,以及它们为什么会发生

坑 1

业务语义没稳定,就过早重构界面

项目刚跑起来时,我很快要求“大大重构”“参考最好的档案系统”。这能提升产品手感,却也会让尚未稳定的数据结构和交互反复推倒重来。

改法:先画低保真流程,确认对象、状态、操作和异常;核心流程跑通后,再做视觉系统和大规模布局重构。

坑 2

把我的第一反应,当成了最终解决方案

例如“全部按单页切开”“中间文件放同级 tmp 目录”,都是直觉上合理的方案。但合同跨页、证据上下文、并发任务、清理策略和权限边界出现后,早期方案就会变成约束。

改法:提示词先写问题、约束和验收,再把自己的方案标记为“候选”,要求 AI 给出替代方案与反例。

坑 3

用“继续开发”代替优先级管理

“接下来还有什么功能”“继续完成”会让 AI 很积极,但它倾向于填满功能清单,而不是主动替产品做取舍。结果是能力迅速膨胀,依赖、页面和状态也同步膨胀。

改法:每轮只允许一个主目标,并明确“不做什么”、成功指标和停止条件;新想法进入 backlog,不插入当前闭环。

坑 4

“不用测试,直接改”是在向未来借时间

纯文案或局部样式有时可以降低测试成本,但当这句话成为习惯,AI 很难判断改动是否真的只影响前端。快速合并看似省了十分钟,后面可能用数小时排查回归。

改法:可以不跑全量测试,但至少执行最小验证:类型检查、构建、目标页面手测、控制台检查和 diff 审查。

坑 5

把模型问题误判成提示词问题

真实样本说明,归档不准并不只是“Prompt 写得不够好”。输入目录语义、材料类型枚举、主体主键、证据结构、后端校验和评估指标任何一层不稳,模型都会被迫猜测。

改法:先判断问题属于数据、规则、模型、代码还是交互;Prompt 只负责表达任务,不能代替领域模型和确定性约束。

坑 6

提交速度很快,但部分提交信息失去上下文

历史里出现过不少 fixnew1 之类提交。它们不影响代码运行,却会削弱回溯能力:几周后很难知道为什么改、改了什么、如何验证。

改法:让 AI 在提交前总结“问题—原因—改动—验证”,再生成可检索的提交信息;小提交不等于随意提交。

现在回头看,我会怎样正确地 Vibe Coding

不是追求“一句话生成整个系统”,而是让每一轮对话都成为一个可验证的小闭环。我把这套方法压缩成七步:

01定界

写清用户、场景、目标、约束和暂不实现的内容。

02固化

把口头共识写进 Spec、数据模型、接口契约和项目规则。

03切片

一次只交付一个可演示、可回滚、可测试的垂直切片。

04实现

让 AI 先读代码和约束,再按最小改动原则完成任务。

05验证

测试只是底线,还要用真实样本、截图、日志和人工操作验收。

06复盘

区分需求错、设计错、实现错、数据错和 Prompt 错,不盲目重试。

07沉淀

把结论写回文档、测试、规则和提交,让下一轮不再从零开始。

一份更适合真实项目的 Prompt 模板

feature-task.md
【背景】
当前系统解决什么业务问题?相关用户、流程和历史决策是什么?

【本轮唯一目标】
完成一个可以独立验收的结果,不顺手扩展其他功能。

【范围】
允许修改哪些模块 / 文件?明确不修改什么。

【必须保持的不变量】
兼容性、权限、数据安全、现有交互、路径规则、接口契约。

【验收标准】
用 Given / When / Then 写出正常路径、失败路径和边界情况。

【执行方式】
先阅读现有实现并复述理解;复杂任务先给方案;
先写失败测试,再实现;保持小提交,不覆盖他人改动。

【验证】
运行最小相关测试、构建和页面验证;报告命令与结果。

【交付】
列出改动文件、关键决策、风险、未完成项和下一步建议。
容易返工的说法
“这个页面太丑了,参考最好的系统,大大重构一下。”
更可执行的说法
“保留现有功能和接口,只重构 PDF 切割工作台的信息层级。桌面端同时看见任务列表、页缩略图和预览;窄屏可顺序操作。先给布局方案,再实现,并用两种视口截图验收。”
容易误诊的说法
“归档结果不准,继续优化提示词。”
更可验证的说法
“基于固定脱敏样本建立基线,分别统计主体、材料类型、路径和复核原因的准确率;先定位错误来自目录解析、OCR、规则、模型还是校验器,再决定是否修改 Prompt。”

我的最终结论

01

Vibe 负责速度,工程负责方向

自然语言让实现速度暴涨,但 Spec、架构、测试、运行验证和真实数据决定这股速度是不是朝正确方向。

02

你可以不亲自写每一行,但必须亲自做判断

产品边界、业务规则、风险取舍和验收结论不能外包给模型。AI 可以建议,责任仍在人。

03

最好的 Prompt,最终会变成项目资产

真正重要的约束不应该只留在聊天框里,而要进入代码、测试、文档、配置、日志和评估集。

所以,应该怎么 Vibe Coding?

先用业务语言描述方向,再用工程语言收紧边界;让 AI 快速实现,让测试和真实数据持续反驳;每次只推进一个闭环,每轮都把新认知沉淀回项目。Vibe Coding 不是“凭感觉写代码”,而是“用感觉发现方向,用证据校准结果”。

复盘口径

本节基于本地保留的项目 Spec、实现计划、测试与复盘文档、Git 历史,以及 Codex、Claude Code、OpenCode 中与该仓库相关的会话记录整理。统计快照截至 2026 年 8 月 25 日;会话数包含主对话及被拆分出的实现、审查子任务。涉及真实业务样本的名称和个人信息均已省略或脱敏。

理解了 Vibe Coding 的方法之后,
下一篇先打开我的工具箱,看看 Coding Agent 如何接上命令行、IDE、MCP 与 Skill,
逐步变成一条真正能进入工作现场的AI机械臂