从 Vibe Coding 到 Agentic AI Engineering
"Vibe Coding" 这个词到处都在说,但从随便跟 AI 聊聊到真正的 Agentic AI Engineering,中间的差距到底有多大?这节课带你从基础概念走到大型IT公司正在使用的实战工作流。
从 Vibe Coding 到 Agentic Engineering 的演进
我们和 AI 协作的方式经历了明显的进化路径:
- Vibe Coding — 随便聊聊,复制粘贴,碰运气
- Prompt Engineering — 结构化 prompt,给角色、给例子、给约束,AI 输出质量和一致性大幅提升
- Agentic AI Engineering — Spec + 工具 + 迭代循环,AI 成为你的工作伙伴,能理解上下文、自动读代码、跑测试、提交 PR
关键转变:你从"写代码的人"变成了"审代码的人"。
AI 核心概念
LLM(大语言模型)
Large Language Model 本质上是一个用数十亿文字训练出来的程序。核心机制是 token 预测。你给它一句话的开头,它根据训练时学到的统计规律,一个 token 一个 token 地往后接。这就是为什么 AI 的回复都是一个单词一个单词蹦出来的。
它不是在"思考",它是在生成统计上最可能的延续。
重点:现在的 LLM 在对话中不会学习。所有知识都来自训练阶段,一旦训练完,权重就冻结了。
Token
Token 是 AI 阅读和计费的基本单位,一个 token 不完全等于一个"单词",而且每个模型计算 token 的方式不一样。比如同一句中文,GPT-4 算出 11 个 token,DeepSeek 算出 9 个 token。
成本计算很简单:输入 token 数 + 输出 token 数 = 总成本。时间不影响成本 — AI 想了 10 秒还是 1 秒,花的钱一样,只有文本大小影响价格。
Prompt
好的 Prompt 决定一切。这里介绍 Anthropic 的 4D Framework:
- Delegation(委派) — 判断什么时候该用 AI,什么时候不该。比如写邮件它很擅长,但精确数学计算和实时数据查询,应该用专门的工具
- Description(描述) — 把目标说清楚。不要说"帮我写个邮件",而是"帮我给客户写一封道歉邮件,告诉他我把数据库删了,语气要专业但诚恳,200字以内"
- Discernment(辨别) — 批判性地评估 AI 的输出,检查 bug 和逻辑错误,不要直接复制粘贴到生产环境
- Diligence(尽责) — 你才是那个点 approve 的人。出问题了,负责的还是人类
黄金法则:输出质量 ≈ 输入质量。
Context(上下文)
Context 就是整个对话历史加上你当前的输入。AI 每次回答时能看到的就是这个 context。但 context 只存在于当前 session,换一个新对话就没了。
不同模型的 context 窗口大小不一样:Claude 4 是 200K token,GPT-4o 是 128K,Gemini 1.5 Pro 最大有 1M。
实用技巧:在同一个 session 里,你不需要重复提供信息,AI 都还记得。
Agent:AI + 工具
Agent 的定义很简单:AI 加上工具。普通 AI 只能给建议,Agent 能实际去执行 — 改文件、跑命令、提交代码。
Agent 三要素:
- 感知 — 读取信息(context、文件、数据库)
- 决策 — 判断下一步做什么(LLM 规划)
- 行动 — 实际去操作(调用工具执行)
举例:消费洞察助手。你上传银行账单,AI 先读取(感知),然后自动分类消费、检测异常大额交易(决策),最后生成月度消费报告(行动)。它不是告诉你"你应该看看你的账单",而是直接帮你分析完了。
Tool Use(函数调用)
没有工具的 AI 只能从训练数据回答。有工具的 AI 能调用外部函数,返回有证据的答案。
流程四步:Define 定义工具 → User Asks 用户提问 → AI Picks AI 选工具 → Execute 执行并返回。
AI 自己不执行代码 — 它只是说"我想调这个函数,参数是这些",然后由你的程序真正执行,把结果返回给 AI。
Agent 架构
一个完整 Agent 有四大组件:
- Brain(大脑) — LLM 本身,负责思考和决策
- Hands(双手) — 工具,能读文件、跑命令、调 API
- Memory(记忆) — Context window,记住对话历史
- Loop(循环) — 思考 → 行动 → 观察结果 → 再思考 → 再行动
Loop 是 Agent 和普通 API 调用最本质的区别 — API 是 one-shot 的,问题进去答案出来就结束了;Agent 会一直循环,直到任务完成。
AI 编程工具全景
- Claude Code — CLI agent,跑在终端里。读代码、改代码、跑测试、提交 git 全在命令行完成,适合后端工程师和 DevOps
- Cursor & Windsurf — AI-native IDE,类似 VS Code 但内置 AI 能力,目前最主流,特别适合前端开发和快速迭代
- GitHub Copilot — 最早的 AI 编程工具(2021),主要是自动补全加内联聊天
它们底层都是 Agent,区别只是能访问的工具不同。表现不稳定时,问题无非出在四个组件中的某一个。
Spec 驱动开发(核心重点)
Andrej Karpathy(OpenAI 联合创始人之一)2025 年提出了 "Vibe Coding",2026 年又提出了 "Agentic Engineering" 作为其专业进化版。Spec-driven development 就是让 Agentic Engineering 真正落地的方法论。
Vibe Coding 怎么做? 想到哪里让 AI 写到哪里,不对就继续改。
Spec-driven 怎么做? 先花几小时甚至几天写一个 spec,把目标、需求、约束、示例都写清楚,然后喂给 AI。
输出不对怎么办?Vibe coding 直接让 AI 继续改。Spec-driven 不一样 — 你不改代码,改 spec,然后重新生成。
黄金法则:输出不对,编辑 Spec,不是代码
AI 是完美的执行者,但平庸的决策者。把决策写在 spec 里,它就能精确执行。
为什么 TDD 不适合 AI 开发
TDD 的核心是"先写测试,再写实现",但 AI 一次性生成大量代码,结构可能完全不是你预期的 — 函数名不对、接口不对、分层不对,测试全红但代码本身可能是对的。更糟的是,AI agent 会自主重构,觉得测试碍事了可能直接改你的测试去通过,完全失去了 TDD 的意义。
Spec-driven 描述的是"要什么",不是"怎么实现",所以不管 AI 怎么写代码,spec 都是稳定的评判标准。
行业实践:谁在做 Spec-Driven?
三家公司,三条路线,同一个共识:
- Amazon Kiro — IDE-native,基于 VS Code 的 fork。输入自然语言需求,自动生成 user stories、架构文档和 task list。Spec 住在 IDE 里
- Claude Code — Agent-native。推荐工作流 Explore → Plan → Implement → Commit。支持 CLAUDE.md、rules、skills、auto memory 等完整的文件生态
- GitHub SpecKit — Tool-agnostic,不绑定任何 AI 工具。六步工作流:Constitution → Specify → Plan → Tasks → Implement → Iterate
共同点:Spec 是你和 AI 之间的合同。 没有 spec 的 agent 就是在 vibe coding;有了 spec 的 agent 才是 agentic engineering。
多 Agent 协作建议
实际开发中,建议使用独立的 PM Agent、Implementation Agent 和 End-to-End Testing Agent,避免自我审查偏差。将大型需求拆分为合理规模的小任务,避免幻觉问题和过高 token 消耗。
2026 Prompt 新范式
- Extended Thinking(扩展思考) — Claude 4.x 和 GPT-4o 都内置了 thinking mode,不需要手动加"请一步一步来"。对复杂代码和架构决策,开 thinking 准确率提升明显
- Few-Shot Examples(少样本示例) — 一直有效,没变过。给 2-3 个输入输出的例子,AI 就能模仿模式
- Structured Output(结构化输出) — Claude 和 GPT 都支持原生 JSON Schema,模型保证输出符合定义的格式,对写工具和 pipeline 非常关键
- Multi-turn Iteration(多轮迭代) — 2026 年最重要的模式转变。不要指望一次 prompt 就得到完美结果,让 agent 循环:plan → act → observe → refine
核心观点:Prompt 的本质已经从"一次性技巧"变成了"持久化合同"。 CLAUDE.md、.cursorrules、spec.md 本质上都是 prompt,只是它们持久化了、版本化了。
问答精选
Q: Spec 和 Product Design 有什么区别? A: 本质相同。Spec 即 Product Design,理想情况下应由 PM 编写。
Q: 工程师还需要手写代码吗? A: 公司代码会审查(因 CR 流程),个人项目很少手写,更多通过 Spec 迭代。
Q: 如何看待代码维护问题? A: 代码可读性只需 AI 能懂。重写往往比深入理解旧代码更快,通过端到端测试保证质量。
Q: 工程师角色会怎样演变? A: 从"全栈超人"回归深度专业化。公司规模可能缩小,但保留专业分工(PM、Designer、Engineer、Tester 各一人)。
实战建议
- 大需求人工拆分为小功能模块,避免 context 过载
- 使用 Playwright 进行前端端到端测试
- 优先修改 Spec 而非直接改代码
- 工作中小批量提交 CR(2-3 个 task),便于人工 Review
- 个人项目可以一次性完整实现,20 分钟后回顾结果并迭代 Spec
- Junior 工程师:持续学习新工具,保持灵活性,不必死磕单一方向
总结
- 基础概念(LLM → Token → Prompt → Context)— 理解了这四个概念你就知道 AI 在干什么
- Agent 三件套(Agent → Tool Use → Agent Architecture)— 工具 + 循环让 AI 从"只能聊天"变成"能干活"
- AI 编程工具(Claude Code / Cursor / Copilot)— 底层都是 Agent,区别只是接了什么工具
- Spec-Driven 方法论 — 今天最核心的收获:Spec 才是产品,代码是副产品
- 2026 Prompt 新范式 — 从单次技巧到持久化合同,从 single-shot 到 multi-turn iteration
Keep sipping. Keep shipping.
参考资源
- Tiktokenizer — Token 计算可视化工具,直观感受不同模型的 token 拆分方式
- GitHub SpecKit — GitHub 开源的 Spec 驱动开发框架
- AlignUp — Yun Fan 开发的免费 AI 面试练习平台
基于 Yun Fan 在自留地社区的技术分享"从 Vibe Coding 到 Agentic AI Engineering"。