Post

Vibe Coding + Agentic Coding 编程新范式

重新定义软件开发的本质:从手工编写代码转向智能协作创造,从关注实现细节转向专注问题本质,从个人技能竞争转向人机协作效率。

Vibe Coding + Agentic Coding 编程新范式

Anthropic 公司在 2025 年 4 月发布了 Claude Code,一个智能编码助手,并宣称它是 Agentic Coding 的一次最佳实践。

更早之前,Andrej Karpathy 2 月提出了 Vibe Coding 这个新词汇,引发热议,随后被业内媒体与文章广泛沿用与解读。

新术语的涌现常常预示着变革正在发生,如 Peter Steinberger 所言:

Claude Code 代表了一次范式转变:从简单的命令执行工具,进化为能够理解开发者意图并自主采取行动的智能助手。

我不只是更快地敲命令——我是在一个更高的抽象层次上操作。

与其想着“我需要写一个 bash 脚本来处理这些文件,设置 chmod,测试它,调试它”,我会想着“按日期整理这些文件,并压缩所有超过 30 天的内容”。

这种思维方式的转变,标志着智能化编程时代开启。

让我们深入了解这两种正在兴起的编程新模式。

AI 辅助编程的两种新模式:Vibe Coding vs Agentic Coding

2025 年开发者社区逐渐形成了两种 AI 辅助编程方式。一种叫 “Vibe Coding”,另一种叫 “Agentic Coding”。虽然都依托 AI 来编写代码,但两者的工作理念和实现方式存在差异。

Vibe Coding:对话式协作编程

Vibe Coding,可以理解成“氛围编程”或“感觉编程”。你不需要写出精确的代码,而是通过自然语言和 AI 对话,一步步引导它生成你想要的东西。它强调直觉、快速实验,以及关注最终成果,而非具体的实现细节。  

核心工作流:对话循环

氛围编码的核心是一个紧密的 human-in-the-loop 循环:

  1. 描述:开发者用通俗的自然语言提出一个高层级的指令,例如“创建一个用户登录表单” 。  
  2. 生成:AI 根据指令,快速生成第一版代码。
  3. 执行与观察:开发者运行生成的代码,观察结果是否符合预期 。  
  4. 优化:开发者通过对话提供反馈,例如“不错,但在密码框旁边加一个‘忘记密码’的链接”。

这个过程不断重复,直到达到满意的结果。

典型工作场景:

一个电商平台需要为商家创建一个新的库存管理界面原型。传统方法需要 2-3 天的开发时间,但通过 Vibe Coding:

1
2
3
4
5
6
7
开发者:创建一个库存管理界面,要能显示商品图片、库存数量,支持批量编辑
AI:[生成基础界面代码]
开发者:添加一个库存预警功能,低于10件时标红
AI:[更新代码,添加条件渲染]
开发者:能不能加个图表显示最近30天的库存变化?
AI:[集成图表库,生成趋势图]

整个原型仅用了 2 小时就完成了,虽然后续仍需要优化和完善,但大大加快了产品迭代速度。

开发者的角色:

在这种模式下,开发者扮演着“创意总监”的角色,指导一个 AI 协作者完成工作。

优势与局限:

  • 优势:氛围编码非常适合于快速原型设计、构建“一次性的周末项目”、学习新的编程语言或框架,以及那些速度比健壮性更重要的创意探索阶段。它极大地降低了软件创造的门槛。

  • 劣势:这种方法容易产生质量低下、效率不高或存在安全漏洞的代码。由于开发者可能不理解底层逻辑,调试变得异常困难。它难以处理技术复杂性高的问题,不适用于需要结构化架构、长期维护和高性能的大型生产级系统。

氛围编码的本质是对编程语法的终极抽象。编程语言本身就是对机器码的抽象,而像 Python 这样的高级语言又进一步抽象了内存管理等底层复杂性。

氛围编码则迈出了逻辑上的下一步,它直接抽象掉了高级语言的语法本身,允许开发者用英语(或其他自然语言)进行编程。

Agentic Coding:自主化智能编程

智能体编程(Agentic Coding)是一种软件开发范式,其中基于 LLM 的智能体能够在极少的人工干预下,自主地规划、执行和完善复杂的软件开发任务。

核心架构

想象一下,AI 编程助手就像一个经验丰富的开发者,坐在你的电脑前工作。它能够:

  • 访问你的整个代码库(就像打开项目文件夹)
  • 运行终端命令(就像你在命令行输入指令)
  • 使用编译器和调试器(就像你点击”运行”按钮)
  • 提交代码到版本控制系统(就像你使用Git)
  • 调用外部API(就像你测试接口)

这个 AI 编程助手被赋予了一个目标后,会自主地感知代码库的当前状态,分析需要做什么,然后一步步执行命令来完成任务。

典型工作场景:

一次大规模的代码迁移,将支付处理系统从 Node.js 14 升级到 Node.js 20,涉及超过 500 个微服务和 200 万行代码。

传统方法预计需要 6 个高级工程师工作 3 个月。使用 Agentic Coding 后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
工程师定义目标:
- 将所有服务升级到 Node.js 20
- 确保所有单元测试和集成测试通过
- 更新所有依赖包到兼容版本
- 保持 API 向后兼容
- 生成详细的迁移报告

[AI 智能体自主工作 72 小时]

结果:
- 成功升级 487 个服务(97.4%)
- 自动修复 1,247 个兼容性问题
- 更新 3,892 个依赖包
- 所有测试通过率 99.8%
- 13 个需要人工介入的复杂案例被标记出来

AI 智能体不仅完成了机械性的代码替换,还能理解上下文,处理边缘案例,甚至发现并修复了一些之前没注意到的潜在问题。

实践中的关键特性

  • 自主性(Autonomy):智能体可以在无人监督的情况下长时间工作。它能够将一个高层级的目标,如“实现用户登录功能”,自主分解为数十个具体的子步骤,例如:创建新文件、编写前端UI代码、编写后端API逻辑、连接数据库、编写单元测试、运行测试、根据错误信息进行调试、修复代码,最后将所有更改提交到版本控制系统。

  • 交互性(Tool Interaction):智能体编码的交互性主要体现在其与开发工具的互动上,而非与人类的持续对话。它将来自这些工具的反馈——例如,编译器的错误信息或测试框架的失败报告——作为其迭代改进过程中的主要信号和依据。

  • 迭代式完善(Iterative Refinement):与一次性生成代码不同,智能体会不断改进。就像人类开发者的”编写-测试-修复”循环,它会持续优化直到目标达成。

  • 目标导向(Goal-Oriented):智能体的所有行动都围绕最终目标展开。它不会盲目执行指令,而是理解目标后制定最优路径。

开发者的新角色

在这种新范式下,开发者的角色发生了深刻的转变。他们不再是逐行编写代码的工匠,而是转变为:

  • 目标定义者:清晰地阐述需要实现的高层级业务目标或功能需求。
  • 环境架构师:配置智能体的工作环境,为其提供必要的工具、权限和上下文信息。
  • 约束设定者:定义系统的边界、护栏和质量标准。
  • 最终审核者:审查智能体完成的最终工作成果,例如一个完整的拉取请求(Pull Request),并决定是否将其合并到主代码库中 。  

这种转变意味着,传统的软件开发生命周期(SDLC)本身被视为一个可以被算法解决和自动化的复杂问题。

人类开发者的工作流程——将高层目标转化为一系列离散的手动操作(编写代码、编译、读错误、修复、测试)——被智能体编码系统形式化为一个自动化的智能体循环。

总之,两种辅助编程的新模式各有优势,关键是在合适的场景选择合适的模式,实现效率与质量的最佳平衡。

那么,这些新模式为何会集中在2025年这个时点出现呢?

AI Coding 新范式出现的原因

1. 模型变得更”聪明”了

想象一下,早期的 AI 编程助手就像一个刚毕业的实习生,只能完成简单的代码补全。而现在的 AI 模型,就像拥有 10 年经验的高级工程师,不仅懂代码,还理解业务逻辑和最佳实践。

具体提升体现在:

  • 更大的”大脑容量”:最新的模型拥有数千亿甚至上万亿的参数,让它们能记住和理解更多的编程模式和解决方案

  • 更长的”记忆力”:新模型能一次性”记住” 20 万个 token 的上下文(相当于一本 300 页的技术书),意味着它可以理解整个项目的代码,而不只是当前文件。

  • 更强的”推理能力”:在 HumanEval(一个测试编程能力的标准考试)上,最新模型的得分从两年前的 30% 提升到了 85% 以上,接近人类程序员的水平。

2. 能”看图说话”了

2025 年推出的新一代模型,包括 OpenAI 的 GPT-5 和谷歌的 Gemini 2.5 系列,从设计之初就是原生多模态的。它们的架构使其能够处理复杂的跨模态推理任务,例如根据物理学图表解决问题,或通过自然语言描述来理解三维场景。

2025 年的 AI 不再是”文字处理器”,而是真正的”多面手”。一位设计师在 Figma 中完成了一个购物车界面设计,她直接截图发给 AI:”把这个设计实现成 React 组件。”AI 不仅识别出了所有的 UI 元素(按钮、输入框、商品列表),还理解了交互逻辑(点击加减按钮改变数量、自动计算总价),生成了完整可用的代码。

这种能力让设计到代码的转换时间从原来的 2-3 天缩短到了 30 分钟。

3. 能真正”动手干活”了

2025 年被业界称为“智能体之年”,因为它标志着 AI 从一个单次响应的被动工具,转变为一个能够主动规划、使用外部工具(如代码解释器、网络搜索)并执行多步骤工作流以达成复杂目标的系统。

2025年的 AI 编程工具具备了”智能体”(Agent)能力,这意味着它们能像真正的开发者一样自主工作。

举个例子:当你告诉传统 AI”修复这个 bug”,它只会给你一段修复代码。但智能体 AI 会:

  1. 先分析bug产生的原因
  2. 在多个相关文件中寻找问题根源
  3. 生成修复方案
  4. 自动运行测试验证修复是否有效
  5. 如果测试失败,继续调整方案
  6. 最终提交一个完整的、经过验证的解决方案

GitHub 的数据显示,使用智能体模式的开发者,bug 修复效率提升了 3.5 倍。

这些进步加在一起,让 AI 从一个“高级代码补全工具”,变成了真正的“编程伙伴”。

开发者的未来

有研究表明,开发者真正用于写代码的时间只占工作的一小部分,更多时间花在系统设计、问题分析、团队沟通等高层次活动中。AI 智能助手的出现,恰好能将开发者从繁重的编码工作中解放出来。

软件工程师的角色并不会被消除,而是被提升到一个新的、更具战略性的高度。

未来,成功的工程师所需具备的关键技能正在从底层的代码实现转向以下三个核心能力:

  • 高层级问题拆解能力:能够将复杂的业务问题或产品需求,精确地分解为定义清晰、边界明确、可委托给 AI 智能体执行的清晰目标。

  • 系统架构与提示工程能力:设计智能体运行的环境、工具集和约束条件。这包括编写 AGENTS.md 或 CLAUDE.md 这类指导文件,配置 API 访问权限,以及构建稳健的测试框架等。这本质上是在“对程序员进行编程”,即塑造和引导 AI 的行为。

  • 批判性审查与验证能力:对 AI 生成的系统进行严格的审查、测试和验证,将成为开发者最不可或缺的职责。人类开发者是质量、安全性和最终正确性的终极守护者。

对开发者来说,现在可以先从 Vibe Coding 开始,在小项目里和 AI 对话式编程,积累协作经验。然后,逐步尝试 Agentic Coding,把一些重复性的、标准化的任务交给 AI 自主完成,锻炼自己审查和控制 AI 产出的能力

小结

Vibe Coding 与 Agentic Coding 代表了 AI 辅助编程的两个重要方向,它们并非互相排斥的选择,而是面向不同场景的互补方案。

AI 编程工具不是要取代程序员,而是要解放程序员,让他们能够专注于更有创造性和战略性的工作。

未来最成功的开发团队,将是那些能够灵活运用这两种模式的团队。他们既能在创意迸发时与 AI 深度对话(Vibe Coding),也能在面对繁重任务时果断委托 AI 自主执行(Agentic Coding)。

这种变化正在重新定义软件开发的本质:从手工编写代码转向智能协作创造,从关注实现细节转向专注问题本质,从个人技能竞争转向人机协作效率。

编程的未来已经到来,它既不是人类的替代,也不是简单的工具升级,而是一种全新的智能协作模式。在这个新时代里,最重要的不是掌握某种特定的编程语言或框架,而是学会与 AI 有效协作,成为真正的”AI 时代的开发者”

This post is licensed under CC BY 4.0 by the author.