Vibe Coding vs Agentic Engineering
Karpathy 的定义演变
Vibe Coding(2025.02): - Karpathy 原话:“fully give in to the vibes, embrace exponentials, and forget that the code even exists.” - 翻译:完全沉浸到 vibes 中,拥抱指数级增长,忘记代码的存在
典型工作流:
用户描述需求(自然语言)
↓ AI 生成代码
↓ 用户运行代码
↓ 如果出错 → 复制错误信息贴回 prompt
↓ AI 修复
↓ 重复直到"看起来能工作"
Agentic Engineering(2026): - Karpathy 修正:原始框架太狭窄 - 定义:AI 在精心设计的约束、测试和反馈循环中工作,人类保留架构、正确性和质量的监督
光谱模型:不是二元选择
白皮书核心框架:Vibe Coding 和 Agentic Engineering 是光谱的两端。
关键差异:不是是否使用 AI,而是围绕 AI 输出的结构、验证和人类判断有多少。
五维度对比表
| 维度 | Vibe Coding | Structured AI-Assisted | Agentic Engineering |
|---|---|---|---|
| 意图说明 | 随意自然语言 prompt | 详细 prompt + 示例和约束 | 正式规范、架构文档、memory 文件 |
| 验证 | “看起来能工作?” | 手动测试、抽查 | 自动化测试套件、CI/CD 门禁、LLM 评委 |
| 代码库理解 | 最小;可能不读生成的代码 | 选择性审查关键路径 | 全面审查架构;AI 处理实现细节 |
| 错误处理 | 复制粘贴错误信息回 AI | 开发者诊断根因,AI 修复 | Agent 自我诊断(定义范围内);人类处理架构问题 |
| 适用范围 | 原型、脚本、个人项目、黑客马拉松 | 已建立代码库中的功能 | 生产系统、团队规模开发 |
| 风险特征 | 高;适用于一次性代码 | 中;关键点有人类判断 | 低;每阶段系统验证 |
最大的差异:验证机制
白皮书强调:
“The single biggest differentiator between the two ends is how outputs get verified.”
翻译:两端间最大差异是如何验证输出。
Vibe Coding: - 验证可选:运行代码,检查是否”看起来对” - 依赖直觉判断
Agentic Engineering: - 两层验证机制协同: - Tests(测试): 验证确定性部分(给定输入 → 特定输出) - Evaluations(评估/evals): 验证非确定性部分(轨迹、工具、响应质量)
关键声明:
“Without both, the practice is always vibe coding, regardless of how sophisticated the prompts are.”
翻译:没有测试和评估两者,无论 prompt 多精巧,实践总是 vibe coding。
为什么这很重要?
验证缺失的后果:
| 验证层次 | 缺失后果 |
|---|---|
| Tests 缺失 | 代码”看起来对”但有 bug、安全漏洞 |
| Evals 缺失 | Agent 跳过验证步骤,流畅输出但路径错误 |
| 两者缺失 | 比有可见错误更危险 —— 问题隐藏直到生产环境 |