摘要:当 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 工作流可能包含:
- 需求解析节点:将模糊需求转化为技术规格
- 架构设计节点:生成系统架构和模块划分
- 代码生成节点:基于架构生成具体实现
- 质量验证节点:自动测试、lint、类型检查
- 人类审查节点:关键决策点的人工确认
支柱三:记忆与上下文管理(Memory & Context)
解决 Vibe Coding 最大的痛点——上下文丢失。
当前业界的主流方案:
- 向量记忆:将代码、文档、对话向量化存储
- 图谱记忆:用知识图谱维护实体关系(如 Cognee)
- 分层上下文:区分系统级、项目级、任务级上下文
三、实战:从 Vibe 到 Agentic 的迁移路径
3.1 阶段一:建立技能库(第 1-2 周)
不要一开始就试图搭建完美的 Agent 系统。从整理你的提示词开始:
- 收集:把过去三个月用过的好提示词整理出来
- 分类:按场景归类(代码生成、重构、测试、文档等)
- 标准化:为每类提示词定义统一的输入输出格式
- 验证:建立简单的测试集,确保技能可用
示例:前端组件生成技能
## 技能: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) 的必经之路。
我们可以预见:
- 更智能的 Agent:从"执行指令"到"理解意图",再到"预判需求"
- 更紧密的人机协作:人类负责创意和决策,Agent 负责实现和优化
- 更完善的工程体系:CI/CD、监控、可观测性全面适配 AI 时代
- 新的职业形态:"AI 工程师"成为独立岗位,介于传统开发和算法之间
结语
从 Vibe Coding 到 Agentic Engineering,本质上是从使用工具到驾驭系统的跃迁。
作为开发者,我们不需要恐惧这种变化。恰恰相反,AI 正在把我们从重复劳动中解放出来,让我们有更多精力去做真正有价值的事——系统设计、架构思考、用户体验、业务创新。
正如计算机科学家 Donald Knuth 所说:
"编程的艺术就是处理复杂性的艺术。"
在 Agentic Engineering 的时代,这门艺术有了新的内涵:不再是独自对抗复杂性,而是设计能够驾驭复杂性的智能系统。
参考资源:
- Andrej Karpathy 的 X 帖子合集
- Superpowers 官方文档
- MCP 协议规范
- Cognee GitHub 仓库
本文首发于稀土掘金,转载请注明出处。