从 Vibe Coding 到 Agentic Engineering:AI 编程范式的演进与实践

1 阅读7分钟

摘要:当 Andrej Karpathy 宣布 "Vibe Coding 已死,未来属于 Agentic Engineering" 时,整个 AI 编程圈为之震动。本文深入剖析这一范式转变背后的技术逻辑,探讨开发者如何从" vibe 着写代码"进化为"工程化驾驭 AI Agent",并提供可落地的实践框架。


一、Vibe Coding 的兴起与局限

1.1 什么是 Vibe Coding?

2024 年,OpenAI 联合创始人 Andrej Karpathy 在 X 上首次提出 "Vibe Coding" 这个概念,描述一种全新的编程方式:

"完全沉浸在 vibe 中,拥抱指数级演进,忽略代码细节,只因一切顺利而感到愉悦。"

简单来说,Vibe Coding 就是:用自然语言描述需求,让 AI 生成代码,开发者只负责审查和引导

这种模式在初期确实带来了惊人的效率提升:

  • 一个下午搭建完整的前端页面
  • 几小时完成原本需要几天的 CRUD 功能
  • 零基础用户也能" vibe "出能用的产品原型

1.2 蜜月期的终结

然而,随着项目复杂度上升,Vibe Coding 的局限性逐渐暴露:

问题类型具体表现
上下文爆炸项目超过一定规模后,AI 开始"失忆",重复造轮子
代码质量失控生成的代码能跑,但难以维护、测试困难
架构债务累积缺乏系统性设计,技术债呈指数级增长
调试噩梦当 AI 生成的代码出错,定位问题比手写代码更困难

正如一位开发者在掘金评论区吐槽的:"Vibe Coding 让我三天写完了项目,却花了三周去 debug。"


二、Agentic Engineering:下一代范式

2.1 范式转变的核心

2025 年 2 月,Karpathy 再次发推,宣布 "Vibe Coding 已死,未来是 Agentic Engineering"

这不是对 AI 编程的否定,而是方法论层面的升级

Vibe Coding          →    Agentic Engineering
─────────────────────────────────────────────────
被动接受 AI 输出     →    主动设计 Agent 工作流
一次性提示词         →    可复用的技能系统(Skills)
忽略代码细节         →    工程化质量管控
人与 AI 混写代码     →    人设计框架,AI 填充实现

2.2 Agentic Engineering 的三大支柱

支柱一:技能系统(Skills)

不再依赖零散的提示词,而是构建可复用、可组合的技能库

以 Superpowers 框架为例,一个技能通常包含:

  • 技能定义:明确的能力边界和输入输出
  • 示例代码:高质量的实现参考
  • 测试用例:确保输出质量的可验证标准
  • 文档说明:使用场景和注意事项
# skill-example.yaml
name: "api-endpoint-design"
description: "设计符合 RESTful 规范的 API 端点"
inputs:
  - resource_name: string
  - operations: ["GET", "POST", "PUT", "DELETE"]
outputs:
  - endpoint_specs: array
  - validation_rules: object
test_cases:
  - input: { resource_name: "user", operations: ["GET", "POST"] }
    expected: { endpoints: [...], status: "valid" }

支柱二:工作流编排(Workflow Orchestration)

将复杂任务拆解为可编排、可观测、可回滚的工作流节点。

一个典型的 Agentic 工作流可能包含:

  1. 需求解析节点:将模糊需求转化为技术规格
  2. 架构设计节点:生成系统架构和模块划分
  3. 代码生成节点:基于架构生成具体实现
  4. 质量验证节点:自动测试、lint、类型检查
  5. 人类审查节点:关键决策点的人工确认

支柱三:记忆与上下文管理(Memory & Context)

解决 Vibe Coding 最大的痛点——上下文丢失

当前业界的主流方案:

  • 向量记忆:将代码、文档、对话向量化存储
  • 图谱记忆:用知识图谱维护实体关系(如 Cognee)
  • 分层上下文:区分系统级、项目级、任务级上下文

三、实战:从 Vibe 到 Agentic 的迁移路径

3.1 阶段一:建立技能库(第 1-2 周)

不要一开始就试图搭建完美的 Agent 系统。从整理你的提示词开始:

  1. 收集:把过去三个月用过的好提示词整理出来
  2. 分类:按场景归类(代码生成、重构、测试、文档等)
  3. 标准化:为每类提示词定义统一的输入输出格式
  4. 验证:建立简单的测试集,确保技能可用

示例:前端组件生成技能

## 技能:React 组件生成

### 输入
- 组件名称
- 功能描述
- Props 接口(可选)
- 样式偏好(Tailwind/AntD/自定义)

### 输出规范
- 使用 TypeScript
- 包含基础 Props 类型定义
- 导出默认组件
- 包含简单使用示例

### 质量检查清单
- [ ] 类型定义完整
- [ ] 无 any 类型
- [ ] 支持 ref 转发
- [ ] 包含 loading/error 状态处理

3.2 阶段二:引入工作流(第 3-4 周)

当你的技能库覆盖 80% 的日常场景后,开始设计工作流:

需求输入 → 需求解析 → 复杂度判断
                    ↓
        简单 → 直接生成 → 代码审查 → 输出结果
        复杂 → 架构设计 → 模块拆分 → 并行生成 → 集成测试 → 代码审查 → 输出结果

关键原则

  • 每个节点都有明确的输入输出
  • 在关键节点设置"人工检查点"
  • 保留完整的执行日志,便于复盘

3.3 阶段三:构建记忆系统(第 5-8 周)

记忆系统是 Agentic Engineering 的"分水岭"。

最小可行方案(MVP)

# 伪代码示例
class ProjectMemory:
    def __init__(self):
        self.code_index = VectorStore()  # 代码语义索引
        self.decision_log = []           # 决策日志
        self.architecture_graph = Graph() # 架构图谱
    
    def query(self, intent: str) -> Context:
        # 1. 意图理解
        # 2. 检索相关代码片段
        # 3. 查找相关决策记录
        # 4. 组装上下文
        pass
    
    def update(self, event: Event):
        # 更新各类索引
        pass

推荐工具

  • Cognee:6 行代码即可接入的图谱+向量记忆
  • Mem0:专为 AI Agent 设计的记忆层
  • LangMem:LangChain 生态的记忆扩展

四、工具链选型指南

4.1 AI 编程助手

工具优势适用场景
Claude Code上下文理解强、代码质量高复杂项目、长期维护
Cursor体验流畅、生态丰富日常开发、快速迭代
GitHub Copilot与 IDE 深度集成代码补全、简单生成
Trae国内可用、中文支持好国内开发者入门

4.2 Agent 框架

框架特点学习曲线
LangChain生态最完善较陡
LangGraph支持复杂工作流中等
AutoGen多 Agent 协作中等
CrewAI角色扮演友好平缓
n8n可视化编排平缓

4.3 MCP(Model Context Protocol)

MCP 是 Anthropic 推出的开放协议,让 AI 能够安全地连接外部工具和数据源。

必装的 MCP 服务

  • Filesystem:本地文件操作
  • GitHub:仓库管理
  • Playwright:浏览器自动化
  • PostgreSQL:数据库访问
  • Brave Search:网络搜索

五、未来展望

Agentic Engineering 并非终点,而是通向 "自主软件工程"(Autonomous Software Engineering) 的必经之路。

我们可以预见:

  1. 更智能的 Agent:从"执行指令"到"理解意图",再到"预判需求"
  2. 更紧密的人机协作:人类负责创意和决策,Agent 负责实现和优化
  3. 更完善的工程体系:CI/CD、监控、可观测性全面适配 AI 时代
  4. 新的职业形态:"AI 工程师"成为独立岗位,介于传统开发和算法之间

结语

从 Vibe Coding 到 Agentic Engineering,本质上是从使用工具驾驭系统的跃迁。

作为开发者,我们不需要恐惧这种变化。恰恰相反,AI 正在把我们从重复劳动中解放出来,让我们有更多精力去做真正有价值的事——系统设计、架构思考、用户体验、业务创新。

正如计算机科学家 Donald Knuth 所说:

"编程的艺术就是处理复杂性的艺术。"

在 Agentic Engineering 的时代,这门艺术有了新的内涵:不再是独自对抗复杂性,而是设计能够驾驭复杂性的智能系统


参考资源

  • Andrej Karpathy 的 X 帖子合集
  • Superpowers 官方文档
  • MCP 协议规范
  • Cognee GitHub 仓库

本文首发于稀土掘金,转载请注明出处。