《Vibe Coding劝退?那是你没给AI戴上这三顶“紧箍咒”》

0 阅读8分钟

从“AI乱写代码”到“AI规范施工”,我的工程化实践与反思

前言:Vibe Coding的困境

2026年,Vibe Coding成为开发者社区的热词——用自然语言描述需求,让AI生成代码,享受“意念编程”的快感。然而,当我把一个金融新闻分析Agent的需求丢给AI时,理想很丰满,现实很骨感:

  • AI遇到模糊需求直接猜,而不是反问澄清
  • 100行能解决的问题,AI写出500行企业级抽象
  • 修一个bug,顺手reformat了整个文件
  • 口头说“完成了”,但根本没验证

这不是模型能力的问题,而是AI行为纪律的问题。就像一个有天赋但散漫的程序员,需要一套“紧箍咒”来规范行为。

我找到了三套方法论:Karpathy Skills(行为纪律)、Superpowers(开发流程)、OpenSpec(规范追溯)。三者组合,让Vibe Coding从“野路子”变成“正规军”。

一、Karpathy Skills:70行Markdown的紧箍咒

背景

前特斯拉AI总监、OpenAI创始成员Andrej Karpathy在X上发了一篇长文,吐槽AI编程Agent的三大“原罪”:

“模型会代你做错误假设,然后不假思索地执行。”
“它们真的很喜欢把代码搞复杂,堆砌抽象概念。”
“它们有时仍会改动或删除自己理解不足的代码和注释。”

开发者Forrest Chang把这些观察翻译成模型能直接执行的规则,形成了Karpathy Skills——一个不到70行的Markdown文件,冲上GitHub趋势第一,收获60k+ Stars。

四条核心原则

原则1:编码前思考(Think Before Coding)
遇到模糊需求,必须先问、不能猜。强制AI输出推理过程,暴露假设和权衡。

效果:AI不再擅自做决定,而是输出“【理解】【假设】【边界】【待确认】”四个模块,等待用户确认后再动手。

原则2:简洁优先(Simplicity First)
用最少的代码解决问题。不加未请求的功能、不为一次性代码搞抽象。

效果:单个函数不超过50行,无抽象类,无“未来可能用到”的代码。

原则3:精准修改(Surgical Changes)
只碰必须碰的地方。不允许顺手reformat、不重构没坏的东西。

效果:一次变更只改≤3个文件,代码审查的diff清晰可读。

原则4:目标驱动执行(Goal-Driven Execution)
把“修复Bug”改成“先写能复现Bug的测试,再让它通过”。

效果:AI必须提供测试通过的证据,不能口头说“完成了”。

实现原理

Karpathy Skills本质上是一个行为约束层,通过在项目根目录放置CLAUDE.md文件,让AI在每次对话前读取这些规则。它不依赖任何框架,只是一个Markdown文件,但效果立竿见影——就像给AI戴上了紧箍咒。

二、Superpowers:14个Skills的开发流程框架

背景

如果说Karpathy解决的是“AI怎么做”的行为纪律,Superpowers解决的是“AI怎么推进”的流程管理。Superpowers由obra维护,提供14个核心skill,覆盖从头脑风暴到代码审查的完整开发流程。

核心Skills

Skill作用
brainstorming探索技术方案,对比优缺点
writing-plans将需求拆解为可执行的任务清单
test-driven-development强制先写测试,再写代码
requesting-code-review阶段性审查,确保质量
verification-before-completion验证真正完成,不口头声称
finishing-a-development-branch规范收尾,合并或PR

实现原理

Superpowers采用技能库模式:每个skill是一个SKILL.md文件,定义该技能的角色、任务和步骤。AI根据用户指令,按需调用相应skill。

与Karpathy不同,Superpowers是主动调用的——用户需要明确触发某个skill(如@superpowers/test-driven-development),而Karpathy是被动生效的——始终在后台约束AI行为。

作用

Superpowers解决的是流程门禁问题:

  • 不允许跳过设计直接写代码
  • 不允许不写测试就声称完成
  • 不允许没有审查就合并代码

三、OpenSpec:轻量级规范驱动开发

背景

OpenSpec是开源的规范驱动开发工具,定位是“轻量级变更管理”。与Spec-Kit的重型宪法不同,OpenSpec采用变更即代码的理念,每个功能变更都有完整的提案、规范、设计、任务清单。

核心命令

命令作用
/opsx:new创建新变更提案
/opsx:explore纯思考模式,探索方案、起草规范
/opsx:apply按任务清单实施
/opsx:archive归档完成的变更

实现原理

OpenSpec在项目根目录创建openspec/文件夹:

text

openspec/
├── changes/           # 活跃变更
│   ├── <change-name>/
│   │   ├── proposal.md   # 为什么做
│   │   ├── tasks.md      # 做什么(可勾选)
│   │   ├── design.md     # 怎么做(技术决策)
│   │   └── specs/        # 规范增量
│   └── archive/          # 已归档变更
└── specs/             # 当前真相(所有已实现功能的最终规范)

每次变更归档时,changes/中的spec增量会合并到specs/,保证specs/始终是当前系统的唯一真相。

作用

OpenSpec解决的是可追溯性问题:

  • 每个功能变更都有proposal、tasks、design
  • 团队可以查看历史变更,理解“为什么这么做”
  • 合规审计可以直接用openspec/changes/archive/作为证据

四、三件套组合:从需求到代码的完整工作流

为什么需要三者组合?

规范解决什么问题触发方式
KarpathyAI行为纪律(不瞎猜、不乱写)被动生效(始终在后台)
Superpowers开发流程门禁(先设计、再TDD、再审查)主动调用(按需触发)
OpenSpec变更追溯(proposal→tasks→archive)命令驱动(/opsx:xxx)

三者各管一摊、互不冲突,形成完整闭环:

text

Karpathy约束行为 → Superpowers规范流程 → OpenSpec记录痕迹

完整工作流示例

以“实现股票新闻检索功能”为例:

步骤操作涉及的规范产出
1输入模糊需求-“帮我做个新闻检索”
2Karpathy自动反问Karpathy原则1【理解】【假设】【待确认】
3用户回答澄清-明确的需求
4调用brainstormingSuperpowers3个技术方案对比
5调用/opsx:newOpenSpecproposal + tasks + specs
6调用/opsx:applyOpenSpec开始实施
7每个任务自动执行:思考→TDD→实现→审查Karpathy+Superpowers高质量代码
8调用/opsx:archiveOpenSpec变更归档,spec合并

关键创新:改造OpenSpec Workflow

为了让这三个规范在/opsx:apply执行时自动生效,我们改造了OpenSpec的workflow文件。

改造后的opsx-apply.md包含5个强制阶段

text

Phase 0: 任务宣布
Phase 1: Karpathy - 编码前思考(强制输出理解、假设、边界、待确认)
Phase 2: Superpowers TDD - 先写失败的测试(RED)
Phase 3: Superpowers - 最简实现(GREEN,≤50行)
Phase 4: Superpowers - 代码审查(检查Karpathy四条原则)
Phase 5: OpenSpec - 标记任务完成

在Antigravity中的配置

Antigravity支持.agent/workflows/目录,将改造后的opsx-apply.md放入即可自动注册为可调用的Workflow。

同时需要创建软链接,将全局skills链接到项目:

bash

ln -s ~/.gemini/antigravity/skills/karpathy-skills .agent/skills/
ln -s ~/.gemini/antigravity/skills/superpowers .agent/skills/

并在.claude/rules.md中固化Karpathy原则,确保始终生效。

五、带来的效果

1. AI行为可预测

以前:AI遇到模糊需求直接猜,经常跑偏。
现在:AI主动输出“【理解】【假设】【边界】【待确认】”,等用户确认后才动手。

2. 代码质量可控

以前:100行能解决的问题,AI写出500行抽象类。
现在:强制≤50行/函数,无抽象类,代码简洁可读。

3. 变更历史可追溯

以前:改了什么都记不清,3个月后不知道为什么这么设计。
现在:每个功能都有proposal、tasks、design,archive目录是完整的历史档案。

4. 测试覆盖率有保障

以前:AI口头说“完成了”,但根本没跑测试。
现在:TDD强制先写测试,验证通过后才能标记完成。

5. Code Review自动化

以前:人工审查AI代码,效率低。
现在:AI自检Karpathy四条原则,不符合自动返工。

六、实践建议

快速入门

  1. 第一步:在项目根目录放CLAUDE.md(Karpathy规则),立即生效
  2. 第二步:安装OpenSpec,执行openspec init
  3. 第三步:改造opsx-apply.md,嵌入5阶段流程
  4. 第四步:配置skills软链接,让Antigravity识别Superpowers

适用场景

场景是否推荐原因
个人POC✅ 推荐保证代码质量,面试可解释
团队协作✅ 强推变更历史完整,新人上手快
金融/医疗等合规场景✅ 强推审计需要完整的决策记录
简单脚本⚠️ 可选流程可能过重,按需裁剪

注意事项

  • Karpathy的70行规则是最小投入最大产出,建议所有项目都加上
  • Superpowers的14个skills不必全用,选4个核心(brainstorming、TDD、review、verification)即可
  • OpenSpec的/opsx:explore是纯思考模式,非常适合需求澄清阶段

七、总结

Karpathy、Superpowers、OpenSpec三件套的组合,本质上是对Vibe Coding的一次工程化改造

  • Karpathy:把“AI不听话”变成“AI有纪律”
  • Superpowers:把“AI乱流程”变成“AI按流程”
  • OpenSpec:把“AI不留痕”变成“AI可追溯”

三者叠加,Vibe Coding从“黑客式的快速原型”进化到“工程化的规范开发”。这不仅仅是效率的提升,更是AI编程从玩具到工具的质变

当AI戴上紧箍咒,它不是被束缚,而是学会了如何做一个合格的工程师。


本文提到的所有工具都是开源的,你可以在GitHub上找到: