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 跳过验证步骤,流畅输出但路径错误
两者缺失 比有可见错误更危险 —— 问题隐藏直到生产环境