🎯 核心主张(一句话)
开源社区上百个工作流框架殊途同归地指向同一个答案——SDD(规格驱动开发):先定义规范再写代码;而它们全部是用 CLAUDE.md、Skills、子智能体、Hooks 这几个恒定零件拼出来的。
📖 正文
为什么 vibe coding 需要升级
Vibe coding 的问题不是写得慢,而是方向错了也写得飞快——AI 会把一个错误的问题解决得很漂亮。SDD(Specification-Driven Development,规范驱动开发)的主张只有一句:先把"做什么、不做什么、怎么算做完"写成规范,再让 AI 动手。
书里有个祛魅式的判断:SDD 的核心不在插件,而在"先思后行"的习惯。启动 Claude Code 前花 5 分钟想清目标范畴和验证标准,即使一个插件都不装,效果也超过九成的凭感觉编程。插件的本质只是把这个习惯自动化。
SDD 生态的四层架构
社区涌现的工具可以按解决的问题分成四层,从轻到重:
第一层,原子技能。 代表是 Matt Pocock 的 grill-me——6 行 Markdown,把 Claude 从"唯命是从的执行者"变成"穷追不舍的面试官",逼你交代每个未决假设。这是 Skills 声明式重塑 AI 行为的极致示范:改变行为不需要代码,只需要一段描述。
第二层,上下文持久化。 解决长任务的失忆问题。Planning with Files 用最朴素的招:计划写进 task_plan.md、findings.md、progress.md,上下文被清空后重读文件即可恢复进度。Trellis 更进一步,用 .trellis/ 目录结构做跨平台标准化,同一份规范在 Claude Code、Cursor、OpenCode 等十余个平台通用。
第三层,规范生成框架。 提供从规范到代码的完整管线。Spec-Kit(GitHub 官方)用 9 个命令覆盖全生命周期,但小项目嫌重;OpenSpec(Fission AI)只要 4 个核心命令;cc-sdd 引入 EARS 需求语法走极简路线。
第四层,完整方法论。 Superpowers(Anthropic 官方插件市场收录)打包 14 个可组合 Skills,定义七个标准阶段:头脑风暴 → Git Worktree → 制订计划 → 执行 → TDD → 代码审查 → 收尾合并。它强制 TDD 到了不留情面的程度——先写代码后写测试,系统直接删掉你的代码。Compound Engineering(复合工程)补上其他框架都忽略的"学习"维度:每次迭代后用 /ce:compound 把经验写入 docs/solutions/,下次遇到类似问题优先检索历史解法。别的框架管这一次做对,复合工程管下一次做得更快。
框架与原生机制的融合:零件恒定,组合无穷
这些框架没有一个发明了新模型,它们全是同一套原生零件的不同编排:
- Superpowers 的七阶段 = Skills 定义各阶段行为 + 子智能体并行分发任务 + Hooks 强制 TDD 纪律。
- Compound Engineering 的经验积累 = CLAUDE.md(长期记忆)与 Skills(按需知识)的高级应用。
- Planning with Files = Anthropic 说的 structured note-taking 的手工版。
- Trellis = 把规范做成与平台无关的文件协议。
组合也讲搭配。书中给的推荐方案:个人开发者用 grill-me + OpenSpec + Planning with Files(需求拷问 → 快速出规范 → 文件保进度);小团队用 Superpowers + Trellis(跨平台规范一致 + 标准化流程接管);长期演进项目用 OpenSpec + Compound Engineering + grill-me(严格规范之上叠加历史解法复用)。反面清单同样重要:Superpowers 和 Spec-Kit 都是重型框架,阶段定义冲突,混用必乱;全量安装只会增加认知负担。
趋势判断:Harness 工程正在成为独立学科
作者在 2025 年末到 2026 年初的写作期间目睹了一次范式转移:业界的问题从"哪个模型最强"变成了"如何让同一个模型表现得更卓越"。答案不指向更大参数或更长窗口,而指向更精巧的 Harness——更准的上下文管理、更合理的工具编排、更严的权限约束。
整本书的结构本身就是这套工程的隐喻:上下文注入(项目背景)、工具注册(Skills/子智能体/Hooks/MCP)、执行环境(Headless/SDK/Plugins)、治理层(成本/安全/协作)——恰好是 Harness 的四大组件。开源数据也在佐证:Superpowers 四万多星,靠的不是模型,是编排。
书末用莫比乌斯环收束 Agentic Loop 的意象,我更愿意这样转述:"推理 → 调工具 → 结果回注 → 继续推理"这个环没有终点,也没有正反面——每一轮的输出翻转过来就是下一轮的输入。 智能不是一次灵光乍现,而是这个环上持续的试探与修正;bug 修复时先看日志、再搜代码、再验证的"聪明"行为,没有一行是硬编码的,全是循环涌现的。
工程师的位置因此很清楚:不干预环内的每步决策(那是模型的事),只设计环的边界条件——能感知什么(工具白名单)、能记住什么(CLAUDE.md + 上下文管理)、能做什么(权限)、何时停(max-turns + Hooks)。Harness 工程的本质是约束行为,不是编程行为。 当一个领域有了自己的核心问题(边界条件设计)、方法论谱系(SDD 四层生态)和度量方式(成本/质量/可追溯性),它就不再是"用工具的技巧",而是一门独立的工程学科。
🧭 业界视角(书外补充)
- Karpathy 等人的 "agentic engineering" 提法:研究 → 计划 → 执行 → 审查 → 交付的循环里,人是监督者不是打字员。先用 Plan mode 把探索与执行分开,避免"把错误的问题解决得很漂亮"——这正是 SDD"先思后行"的另一种表述,两条脉络在 2026 年合流。
- Anthropic 40 万会话研究(2025.10-2026.04):典型会话中人做大部分规划决策,Claude 做大部分执行决策;使用者领域专业度越高,单条指令撬动的工作量越大。这解释了为什么 SDD 框架的杠杆点全压在规划端——那是人的比较优势所在。
- Simon Willison 的参照仓库法:写新功能前让 Claude 先 clone 一个风格相近的参考仓库到 /tmp 研究其模式再照着写。可以看作一种轻量 SDD:用现成代码库当活的规范文档。
- 社区分层选型共识:提示词模板 → slash command;有领域逻辑 → Skill;需隔离上下文 → 子智能体;必须 100% 执行 → Hook。评估任何 SDD 框架时先问它把什么放在哪一层——放错层的框架(比如用系统提示词做强制约束)迟早失灵。
🔗 知识网络
- upstream:Claude Code 成本与安全工程、ClaudeAgent SDK:从使用者到构建者、ClaudePlugins:能力的标准化分发
- downstream:(暂无)
- 平行关联:Skills:渐进式披露的知识包、Claude Code子智能体:上下文隔离与任务委派、Agentic Harness:马具比模型重要、index