AI 辅助开发:从“复制粘贴”到“氛围编程 (Vibe Coding)”
大语言模型 (LLM) 的迅速崛起从根本上改变了软件工程的格局。随着这些模型变得越来越强大(特别是针对大规模代码库进行的微调),它们已从简单的聊天机器人转变为强大的编程助手。如今,AI 不再仅仅是一个参考工具,它已成为 IDE 中不可或缺的参与者。
与此同时,随着 LLM 技术的发展,AI Agent 技术也迅速兴起。AI Agent 是能够自主执行任务、做出决策并与其他系统交互的智能程序。在编程领域,AI Coding Agent 被广泛应用于代码生成、代码编辑、调试、测试等环节。这些 AI Agent 工具普遍支持 创建新文件、内联编辑(inline-editing)Cmd+I(在 macOS 上)或 Ctrl+I(在 Windows 上) 等功能,极大地提升了开发效率。开发者可以通过自然语言指令,让 AI 生成、修改、重构代码,从而将注意力从语法细节中解放出来,专注于更高层次的逻辑与用户体验。
目前市场上出现了大量 AI Coding Agent,它们可以分为多种类型:
- 商业产品:如 Cursor、GitHub Copilot、Claude 等。
- 开源工具:如 Goose、OpenCode、Cline、Continue 等。
这些 AI Coding Agent 的形式多种多样,有些以命令行工具的形式存在,例如通过终端直接调用的脚本或程序;有些则作为 IDE 插件的形式集成在开发环境中,如 VS Code、JetBrains 系列编辑器等;还有一些产品同时支持命令行和 IDE 插件两种形式,以满足不同开发者的使用习惯和场景需求。
演变:现有的 AI 工作流及其局限性
随着 AI 编程助手的普及,出现了几种不同的工作流。虽然它们很有帮助,但各自都带有特定的技术摩擦:
“手动搬运工” (对话界面 + 复制/粘贴): 将 AI 视为高端搜索引擎。你请求一段代码片段,然后手动将其移动到项目中。
- 例子: 你在浏览器中打开 ChatGPT,问道:“给我一个 Python 函数,按特定键对字典列表进行排序。”你复制该代码块,切换到 IDE,将其粘贴到文件中,并手动调整缩进以匹配项目。
- 局限性: 摩擦力大。频繁切换标签页和手动调整格式会导致“上下文切换疲劳”。
“安全网” (AI 增强工程): 你仍然是主要的编写者,但你使用 AI 进行行内编辑。你将 AI 视为一名初级开发人员,必须逐行审核其工作。
- 例子: 你选中一段代码,然后按下快捷键
Cmd+I(在 macOS 上)或Ctrl+I(在 Windows 上)。你输入:“为这个 API 调用添加错误处理。”AI 会显示一个“差异对比(Diff)”(红绿线)。在点击“接受”之前,你会仔细阅读建议的try/catch块的每一行,确保它不会破坏现有逻辑。 - 局限性: 微观管理。你仍然深陷于语法的“琐事”中,需要核对每一个分号和括号。
- 例子: 你选中一段代码,然后按下快捷键
“导演” (多文件编辑): 你不再关注具体的代码行,而是开始关注功能。你给出宏观指令,要求 AI 理解你的整个项目结构。
- 例子: 你告诉 AI:“在导航栏添加一个‘深色模式’切换开关,并保存用户的偏好。”AI 会自动识别用于颜色的 CSS 文件、用于按钮的 Header 组件以及用于保存设置的状态管理文件。你看着它同时修改三个文件。
- 局限性: 架构焦虑。如果 AI 犯了错,很难被发现,因为一次性更改的文件太多。
引入:氛围编程 (Vibe Coding)
氛围编程 (Vibe Coding) 代表了这一演变中的最新范式转移。这是一种开发风格,程序员几乎完全依赖高层级的、对话式的意图,而不是细致入微的语法。不过,“氛围”这一中文译名其实并不十分贴切,容易引起混淆。实际上,氛围编程更强调的是开发者将自己定位为产品负责人(Product Owner)的角色,专注于需求描述或具体使用场景的表达,而非繁琐的技术实现细节。
简史
这个术语由 Andrej Karpathy(OpenAI 联合创始人)于 2025 年 2 月提出。Karpathy 描述了一种转变:由于像 Cursor 和 Claude 这样的工具变得如此强大,他几乎“忘记了代码的存在”。他有一句名言:“我只是看到东西,说点东西,运行东西,复制粘贴东西,然后它基本就能跑了。”
到 2025 年 3 月,它被列为《韦氏词典》的热门词汇,并最终被《柯林斯词典》评为 2025 年度词汇。
社区与治理
与 DevOps 等成熟框架不同,Vibe Coding 由一个松散的爱好者网络维护:
- 氛围编程社区 (VCC): GitHub 和 Discord 上分享“氛围优先”最佳实践的空间。
- 平台驱动的应用: Replit 和 Lovable 等公司已经构建了专门针对这种风格的“智能体 (Agentic)”工作流。
- 教育团体: 像 Karpathy 的 Eureka Labs 正在开始将高层级“氛围”与工程原理之间的桥梁正式化。
Vibe Coding 与现有工作流的区别
核心区别在于你与语法的心理距离。传统工作流关注代码验证(“逻辑正确吗?”),而 Vibe Coding 关注行为验证(“这个应用的感觉和表现符合我的预期吗?”)。
“氛围”的优势
- 10 倍速度: 几分钟内完成从创意到原型的转化。
- 降低门槛: 让不是语法专家的“开发者”也能创建复杂的软件。
- 专注于创意: 能量集中在用户体验上,而不是去寻找缺失的分号。
如何识别你的工作流
| 特性 | 1. 手动搬运工 | 2. 安全网 | 3. 导演 | 4. 纯粹氛围 (Vibe) |
|---|---|---|---|---|
| 主要视图 | 聊天 UI | 代码编辑器 | 项目树 | 实时预览/浏览器 |
| 验收单位 | 代码片段 | 代码行 | 功能/逻辑 | “氛围”/体验 |
| 修正错误 | 手动重写 | 编辑 + AI 审核 | 提示词逻辑修正 | 重新提示“氛围” |
| 心理角色 | 作者 | 高级审核员 | 首席架构师 | 产品负责人 |
总结
Vibe Coding 的核心在于委托实现细节,专注于开发意图。 最强大的现代开发者是那些既能利用 Vibe Coding 以惊人速度构建产品,又能在关键架构需要人类精确度时随时切换回“安全网”模式的人。
AI 辅助开发:从“复制粘贴”到“氛围编程 (Vibe Coding)”