规范驱动开发三剑客:Spec Kit、Superpowers 与 OpenSpec 的深度原理与选型指南

358 阅读11分钟

当 AI 编程 Agent 从"能写代码"进化到"能承担工程",我们真正缺的不是更强的模型,而是一套能让 AI 的产出可验证、可维护、可交接的工程纪律。 本文先拆解三个框架共同回答的底层问题——规范驱动开发(Spec-Driven Development, SDD)到底在解决什么;再横向对比 GitHub Spec Kit、obra/superpowers、Fission-AI/OpenSpec 在模板、命令、适用场景上的差异;最后给出选型矩阵与落地建议。


一、引言:为什么"规范驱动"突然成了 AI 编程的显学

2026 年的 AI 编程已经跨过了一个临界点:问题不再是"AI 能不能写出能跑的代码",而是"AI 写的代码能不能被信任、被评审、被长期维护"。

当我们让一个 Agent 直接"实现这个功能"时,它给出的结果往往是一个黑盒——我们不知道它为什么这么做、改动了哪些范围、是否破坏了既有行为、后续如何回滚。这种"快但不可控"的体验,在个人原型阶段尚可接受,一旦进入企业级代码库(尤其是那些已经运行多年的"棕地"系统),就会迅速演变成灾难。

于是,业界不约而同地走向同一个方向:把"意图"前置,把"实现"后置。 先让 Agent 产出一份可评审的规范(Spec)、一份技术计划(Plan)、一份任务清单(Tasks),确认无误后再让 Agent 动手写代码。这套方法论就是 规范驱动开发(Spec-Driven Development, SDD)。

而本文要对比的三个框架——GitHub 官方的 Spec Kit、Jesse Vincent (obra) 的 Superpowers、Fission-AI 的 OpenSpec——正是这套方法论在 2026 年最主流的三个实现。它们不是竞争关系,而是从不同维度回答了同一个底层问题。


二、深度原理:三个框架共同回答的底层问题

在对比模板和命令之前,我们必须先搞清楚:规范驱动开发到底在解决什么本质矛盾? 只有理解了这一点,你才能判断哪个框架适合你的项目,而不是被表面的功能清单迷惑。

2.1 核心矛盾:AI 的"生成速度"与工程的"可验证性"之间的断裂

传统软件开发中,"写代码"是成本最高、最需要小心的环节。但在 AI 编程时代,这个环节的成本几乎归零——Agent 可以在几分钟内生成一个功能。

但工程成本并没有消失,它只是转移了:

传统开发AI 编程时代
写代码是瓶颈写代码不再是瓶颈
需求分析、设计相对轻意图确认、范围控制、行为验证成为新瓶颈
人通过代码评审把关代码评审的对象变成了"Agent 生成的代码",人很难逐行审查

这就产生了一个断裂:AI 生成得越快,我们越难确认"它做的是不是我们想要的"。

规范驱动开发的核心洞察是:与其让 AI 先写代码、我们再发现问题,不如让 AI 先写规范、我们确认规范,再让 AI 写代码。 把"验证"从代码层面提前到"意图层面",从而用一份可读的文档,把 AI 的不可控性关进笼子里。

2.2 SDD 的本质:一次"意图契约"的建立与执行

规范驱动开发可以拆解为一条完整链路:

image.png

这条链路回答了几个关键问题:

  • Spec(规范):回答"我们要做什么、为什么做"。它是给人和 AI 共同阅读的"意图契约",不涉及具体实现细节。
  • Plan(技术计划):回答"我们打算怎么做"。这是技术方案的论证,需要评估备选方案、权衡取舍。
  • Tasks(任务清单):回答"拆成哪些可执行的步骤"。每个任务应当足够小,能被 Agent 独立完成并验证。
  • Converge(收敛):回答"实现是否兑现了规范"。这是最关键的一步——把最终行为与最初意图对照,防止 Agent 跑偏。

2.3 三个框架:同一问题的三种回答

理解了这个底层问题,三个框架的差异就清晰了——它们分别从不同维度切入:

image.png

  • Spec Kit:模板驱动。它把 SDD 的每一步都固化成模板和命令,强调"产出规范产物"。你运行 /specify、/plan、/tasks 等命令,每个命令产出一份标准化的文档。它最像"官方教科书",把 SDD 的标准流程给你封装好。
  • Superpowers:流程驱动。它不关心你产出的文档长什么样,而是强制规定开发流程——从头脑风暴、独立工作树、写计划、子 Agent 执行、TDD、代码评审到收尾验证,每一步都有对应的 skill,并用"铁律"(Iron Laws)硬性约束。它更像"工程纪律教练",逼着 Agent 按工程方式行事。
  • OpenSpec:增量驱动。它的核心概念是 Delta Spec(增量规范)——不重述整个系统规范,只描述"这次变更改了什么"。这使它天然适配**棕地(brownfield)**代码库:你不需要为整个系统写一份大而全的规范,只需为每次改动写一份增量规范。它更像"外科手术工具",专门处理存量代码上的精准改动。

一句话总结:Spec Kit 给你"标准答案",Superpowers 给你"纪律约束",OpenSpec 给你"增量手术"。


三、横向对比:模板、命令、适用场景

理解了底层差异,我们来看三个框架在具体操作层面的差异。这是你选型时最关心的部分。

3.1 GitHub Spec Kit:官方教科书

定位:GitHub 官方出品的 SDD 工具集,把规范驱动开发的完整流程封装成可执行的命令和模板。

核心工作流:一次项目初始化 + 每特性执行 Specify → Plan → Tasks → Implement → Converge。

关键命令(通过 /speckit.* 斜杠命令或 specify CLI 触发):

命令作用
/speckit.constitution初始化项目宪法(Constitution),定义项目的技术偏好、约束、编码规范
/speckit.specify生成规范(Spec),定义"做什么、为什么"
/speckit.clarify澄清需求(质量门),处理歧义
/speckit.plan生成技术计划(Plan),定义"怎么做"
/speckit.checklist质量检查清单(质量门)
/speckit.tasks拆解任务清单(Tasks)
/speckit.analyze跨产物分析(质量门),检查一致性
/speckit.implement按任务实现
/speckit.converge收敛验证,对照规范检查实现

模板结构:.specify/templates/ 目录下包含 spec-template.md、plan-template.md、tasks-template.md 等标准模板,以及对应平台的执行脚本(如 bash/、powershell/)。

适用场景:

  • 新项目(绿地 greenfield)或需要建立标准 SDD 流程的团队
  • 团队希望有一套"官方认可"的标准流程,方便新人上手
  • 需要产出标准化、可评审的规范文档(适合审计、交接)

优点:模板标准化、流程完整、有 GitHub 官方背书、质量门(clarify/checklist/analyze)完善。 缺点:对棕地项目偏重——每个特性都要走完整流程,文档产出量大;模板偏"教科书",需要团队自行裁剪。

3.2 obra/superpowers:工程纪律教练

定位:一个完整的软件开发方法论,基于一组可组合的 skills 和初始指令,强制 Agent 按工程方式开发。由 Jesse Vincent (obra) 创建,是目前 GitHub 上最受关注的 Agent skills 框架之一。

核心工作流:七步流程,每一步对应一个 skill:

image.png

铁律(Iron Laws):这是 Superpowers 最独特的设计。它把关键规则压缩成 Agent 能在工作记忆中记住的"单条铁律",例如:

  • NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST(没有根因调查之前不修 bug)——源自 systematic-debugging skill
  • 强制测试——源自 test-driven-development skill
  • 收尾必须验证——源自 verification-before-completion skill

核心 skills(约 14-15 个):

  • brainstorming:先澄清需求,不直接写代码
  • using-git-worktrees:用独立工作树隔离改动
  • writing-plans:写细粒度计划
  • subagent-driven-development:子 Agent 执行 + 两阶段评审
  • test-driven-development:严格红-绿-重构
  • systematic-debugging:四阶段根因排查
  • code-review:代码评审
  • verification-before-completion:收尾验证

适用场景:

  • 追求"工程级可靠性"、希望 AI 严格遵循工程纪律的团队
  • 需要处理新功能、特性增强、bug 修复等多种场景
  • 愿意接受"流程更重、执行更慢但更稳"的团队

优点:铁律强制约束、流程完整、强调测试与根因排查、可靠性高。 缺点:流程较重,文档产出不如 Spec Kit 标准化;skills 依赖 Claude Code 生态;对团队协作(多 Agent 并发)支持相对弱。

3.3 Fission-AI/OpenSpec:棕地手术刀

定位:为真实世界的棕地代码库和多 Agent 开发环境设计的轻量 SDD 框架。核心是 Delta Spec(增量规范)。

核心工作流:Propose → Apply → Archive 循环。

image.png

核心概念:

  • Delta Spec:不重述整个系统规范,只描述"这次变更改了什么"。这是 OpenSpec 能在棕地代码库上工作的关键。
  • changes/ 目录:每次变更是一个目录,包含 proposal.md(提案)、specs/(增量规范)、tasks.md(任务)。
  • archive/ 目录:变更完成后归档,增量规范合并进主规范(source of truth)。

关键命令(通过 openspec CLI 触发):

  • openspec init:初始化项目
  • openspec change:创建变更
  • openspec validate:校验增量规范
  • openspec archive:归档变更
  • 集成 25+ 工具(Claude Code、Cursor、Kiro、Pi 等)

适用场景:

  • 棕地(brownfield)代码库——已有大量存量代码,需要精准改动
  • 多 Agent 并发开发——每个 Agent 处理一个变更,互不干扰
  • 不希望为整个系统写大而全规范、只想为每次改动写增量规范的团队

优点:Delta Spec 天然适配棕地、轻量、多 Agent 友好、工具集成广。 缺点:对绿地项目(从零开始)可能不够"全面";增量规范需要团队自律维护;规范粒度较细,需要一定的维护成本。


四、选型矩阵与落地建议

4.1 选型矩阵

维度Spec KitSuperpowersOpenSpec
核心驱动模板驱动流程驱动增量驱动
核心概念Constitution + 标准模板七步流程 + Iron LawsDelta Spec
适用代码库绿地(greenfield)优先通用(新功能/增强/修复)棕地(brownfield)优先
文档产出高(标准化文档)中(计划 + 测试)低(仅增量)
流程重量中重轻
多 Agent 支持中弱强
生态依赖通用(多平台脚本)Claude Code 为主25+ 工具集成
官方背书GitHub 官方社区明星项目Fission-AI
学习成本中(模板多)高(流程重)低(概念简单)

4.2 落地建议:按项目阶段选择

如果你在做新项目(绿地):

选 Spec Kit。它的标准模板和完整流程最适合从零建立工程规范,GitHub 官方背书也让团队接受度更高。你可以用 Constitution 统一团队技术偏好,用 Specify→Converge 让每个特性都走标准流程。

如果你在维护存量系统(棕地):

选 OpenSpec。Delta Spec 让你不必为整个系统重写规范,只需为每次改动写一份增量规范。这对已有大量代码、需要精准改动、且多 Agent 并发的团队尤其友好。

如果你追求工程可靠性和严格纪律:

选 Superpowers。它的 Iron Laws 和七步流程能硬性约束 Agent 的行为,强制测试、根因排查、收尾验证,特别适合对代码质量要求极高、愿意接受更重流程的团队。

4.3 组合使用:不互斥,可叠加

这三个框架不是竞争关系,而是可以叠加的。一个成熟的团队可以这样组合:

image.png

  • OpenSpec 负责"每次变更的增量规范",适配存量代码。
  • Spec Kit 负责"标准 SDD 流程",产出可评审的规范产物。
  • Superpowers 负责"工程纪律",用 Iron Laws 约束 Agent 的测试与验证行为。

4.4 关键提醒:别让"规范"变成负担

最后,我想提醒一个容易踩的坑:规范驱动开发的目的是让 AI 可控,而不是让流程变重。

如果你发现团队在"写规范"上花的时间超过了"写代码",说明流程过重了。此时应该:

  1. 裁剪模板——只保留必要的部分(Spec + Tasks 往往足够)
  2. 用 OpenSpec 的 Delta Spec 替代大而全的规范
  3. 只在"有歧义、有风险"的特性上走完整流程,简单改动直接实现

规范是工具,不是目的。 它的价值在于让 AI 的产出可验证、可维护、可交接,而不是制造新的流程负担。


五、总结

规范驱动开发的兴起,本质上是 AI 编程从"生成代码"走向"承担工程"的必然结果。当 AI 生成代码的成本趋近于零,工程的重心就转移到了意图确认、范围控制、行为验证上——这正是三个框架共同回答的底层问题。

  • Spec Kit 用"标准模板"给出了教科书式的答案,适合绿地项目。
  • Superpowers 用"工程纪律"给出了硬约束的答案,适合追求可靠性的团队。
  • OpenSpec 用"增量规范"给出了适配存量代码的轻量答案,适合棕地项目。

选型时,不要被功能清单迷惑,先问自己:我的项目是绿地还是棕地?我更需要标准流程还是工程纪律?我能否接受更重的流程?

想清楚这三个问题,答案自然浮现。