AI 编程时代的规范驱动开发:四大 SDD 技能选型指南
引言
随着 AI 编程工具的普及,Claude Code、Cursor、Windsurf 等 AI 编程助手已经成为开发者的日常工具。然而,AI 编程也带来了新的挑战:如何让 AI 准确理解需求并保持决策一致性?
答案就是 规范驱动开发(Spec-Driven Development,SDD)。
目前,社区已经涌现出多款实现 SDD 理念的技能包,其中最具代表性的四个是:OpenSpec、Superpowers、Get Shit Done(GSD) 和 Spec-Kit。
这四者的共同点:都提供了规范驱动开发能力,帮助开发者在编码前先明确”要做什么”。
不同点:在设计理念、实现方式、工具支持、适用场景上各有侧重。
本文将:
- 深入解析 SDD 的核心理念和价值
- 对比四大 SDD 技能包的特点和差异
- 提供基于团队规模和项目需求的选型建议
一、什么是规范驱动开发(SDD)
1.1 SDD 的核心理念
规范驱动开发(Spec-Driven Development,SDD) 是一种软件开发方法论,其核心思想是:在编写代码之前,先编写规范(Spec),让所有人对”要做什么”达成一致。
1 | 传统开发流程: |
1.2 为什么团队都在推崇 SDD?
问题1:AI 编程工具的”幻觉”问题
现象:
1 | 用户:帮我添加用户认证功能 |
SDD 解决:
1 | 用户:/opsx:propose "添加用户认证功能" |
问题2:团队协作中的”需求理解不一致”
现象:
1 | PM:需要一个搜索功能 |
SDD 解决:
1 | PM:/opsx:propose "搜索功能" |
问题3:大型项目的”上下文衰减”
现象:
1 | 项目开发到第 100 轮对话: |
SDD 解决:
1 | 规范文档作为"锚点": |
1.3 SDD 的核心价值
对个人开发者
1 | ✅ 减少返工:想清楚再动手,避免改来改去 |
对团队
1 | ✅ 对齐理解:所有人基于同一份规范工作 |
对企业
1 | ✅ 合规审计:规范文档就是最好的审计材料 |
1.4 SDD vs 传统开发对比
| 维度 | 传统开发 | SDD 开发 |
|---|---|---|
| 需求传递 | 口头描述 + 文档(可能过期) | 结构化规范文档(持续更新) |
| 理解一致性 | ⚠️ 各自理解,可能偏差 | ✅ 基于规范,理解一致 |
| AI 辅助 | ❌ AI 瞎猜需求 | ✅ AI 按规范执行 |
| 返工率 | ⚠️ 高(理解偏差导致) | ✅ 低(提前对齐) |
| 文档维护 | ⚠️ 文档容易过期 | ✅ 规范与代码同步 |
| 新人上手 | ⚠️ 需要大量沟通 | ✅ 读规范即可 |
| 审计追溯 | ❌ 困难 | ✅ 完整记录 |
1.5 为什么 AI 编程时代更需要 SDD?
原因1:AI 理解能力的局限
1 | AI 虽然强大,但不能真正"理解"需求 |
原因2:AI 编程的规模化应用
1 | 越来越多的团队使用 AI 编程工具 |
原因3:上下文窗口的限制
1 | AI 有上下文限制(如 200K tokens) |
二、四大 SDD 技能包概览
需要明确:这四个都是 Skills(技能包),都实现了 SDD 理念,但在实现方式和侧重点上有所不同。
2.1 都提供 SDD 能力
1 | ┌─────────────────────────────────────────────┐ |
共同点:
- ✅ 都支持规范先行,再编码实施
- ✅ 都能解决 AI 理解偏差问题
- ✅ 都提供某种形式的文档化
- ✅ 都适合团队协作场景
差异点:
- 规范的持久化方式不同
- 工作流程的复杂度不同
- 跨工具支持的范围不同
- 学习曲线和易用性不同
2.2 支持的工具范围
| 技能包 | 支持的 AI 工具 | 数量 |
|---|---|---|
| OpenSpec | Claude Code、Cursor、Windsurf、Gemini CLI、OpenCode、Codex、GitHub Copilot、Cline、Continue、Trae 等 24+ 工具 | 最多 |
| Spec-Kit | Claude Code、Cursor、Windsurf、Gemini CLI、Codex、Copilot、Jules、Junie、Qoder、Kiro 等 24+ 工具 | 最多 |
| Get Shit Done | Claude Code、OpenCode、Gemini CLI、Codex、GitHub Copilot CLI、Cursor CLI、Antigravity | 7个 |
| Superpowers | Claude Code、Cursor、Codex、OpenCode、Gemini CLI | 5个 |
关键差异:
- OpenSpec:支持最广泛的工具(24+),适合团队混用不同 AI 工具的场景
- Spec-Kit:GitHub 官方开发,支持最广泛的工具(24+),宪法驱动的企业级方案
- Superpowers:专注主流工具,深度集成,功能最丰富
- GSD:平衡跨工具支持和易用性,独立开发者友好的轻量方案
2.3 核心定位对比
虽然三者都实现 SDD,但侧重点不同:
1 | ┌─────────────────────────────────────────────┐ |
定位差异:
- OpenSpec:变更级管理(适合现有项目迭代)
- Superpowers:工作流管理(适合复杂开发流程)
- GSD:项目管理(适合新项目从零开始,个人/小团队)
- Spec-Kit:宪法级管理(适合企业级项目,正式团队流程)
三、OpenSpec:最纯粹的 SDD 实现
3.1 核心能力
OpenSpec 是 SDD 理念最纯粹的实现,专注于规范的生成、持久化、共享和追溯。
安装方式:
1 | npm install -g @fission-ai/openspec |
安装后会根据你的 AI 工具生成对应的配置文件,支持 24+ AI 编程工具。
核心命令:
/opsx:propose- 提出变更方案,生成规范文档/opsx:explore- 探索代码结构,分析现有实现/opsx:apply- 应用已批准的规范/opsx:archive- 归档完成的变更历史
3.2 解决的核心问题
问题1:AI 临时决策,缺乏规划
1 | 传统方式: |
问题2:团队协作需求理解不一致
1 | 场景:PM 提需求 → 开发实施 → 发现理解偏差 |
问题3:大型项目缺少历史追溯
1 | 传统方式: |
3.3 适用场景
✅ 推荐使用:
- 正式项目开发(需要文档和规范)
- 团队协作(5人以上)
- 长期维护的项目(需要历史追溯)
- 跨工具团队(成员使用不同 AI 工具)
- 合规要求高的项目(需要审计记录)
❌ 不推荐使用:
- 快速原型验证(流程太重)
- 个人学习项目(杀鸡用牛刀)
- 小型临时脚本(没必要文档化)
四、Superpowers:SDD + 工作流编排
4.1 核心能力
Superpowers 将 SDD 与完整的工作流编排结合,提供 14+ 个可组合的技能。
SDD 实现:
- 通过
brainstorming→writing-plans→executing-plans实现 SDD 流程 - 规范文档在
brainstorming和writing-plans阶段生成 - 但规范是临时的,不持久化到文件系统
安装方式:
1 | npx skills add obra/superpowers |
核心技能组合:
计划阶段:
brainstorming- 多角度头脑风暴writing-plans- 编写详细计划executing-plans- 执行计划
实施阶段:
subagent-driven-development- 启动子代理处理子任务dispatching-parallel-workers- 并行处理多个任务
质量保证:
code-review- 代码审查test-driven-development- 测试驱动开发
4.2 解决的核心问题
问题1:复杂任务无从下手
1 | 场景:重构一个大型支付模块 |
问题2:需要灵活编排工作流
1 | 场景:不同项目需要不同的开发流程 |
问题3:大型项目需要并行处理
1 | 场景:同时重构多个独立模块 |
4.3 适用场景
✅ 推荐使用:
- 复杂项目开发(需要多阶段流程)
- 中等规模团队(2-5人)
- 需要灵活定制工作流
- 探索性任务(需要多角度分析)
- 使用主流 AI 工具的团队
❌ 不推荐使用:
- 简单脚本开发(太重了)
- 个人学习项目(学习成本高)
- 使用小众 AI 工具的团队(仅支持主流 5 个工具)
五、Spec-Kit:宪法驱动的 SDD 平台
5.1 核心能力
Spec-Kit 是 GitHub 官方开发的开源 SDD 工具包,采用”宪法驱动”理念。
SDD 实现:
- 通过
/speckit.constitution创建项目宪法,定义项目原则和开发准则 - 7 阶段工作流:constitution → specify → clarify → plan → tasks → implement → analyze
- 规范持久化保存在
.specify/目录 - 支持 24+ AI 编程工具
安装方式:
1 | # 使用 Specify CLI 初始化项目 |
核心工作流:
/speckit.constitution- 创建项目宪法和开发准则/speckit.specify- 定义需求(做什么和为什么)/speckit.clarify- 澄清不明确区域(可选)/speckit.plan- 创建技术实施计划/speckit.tasks- 生成可执行任务列表/speckit.implement- 执行任务/speckit.analyze- 跨制品一致性和覆盖分析(可选)
宪法驱动理念:
1 | 第一步:创建宪法(constitution) |
扩展系统:
- Extensions(扩展):添加新能力(如 Jira 集成、代码审查)
- Presets(预设):自定义现有工作流(如敏捷、瀑布、领域驱动设计)
- 项目级覆盖:临时调整单个项目
5.2 解决的核心问题
问题1:项目原则不一致
1 | 场景:团队开发到第 10 个阶段 |
问题2:跨工具团队协作困难
1 | 场景:团队成员使用不同的 AI 工具 |
问题3:缺乏需求澄清机制
1 | 场景:需求描述模糊 |
5.3 与 GSD 的设计理念差异
GSD 作者对 Spec-Kit 的批评:
“Other spec-driven development tools exist; BMAD, Speckit… But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you’re building.”
核心理念对比:
| 维度 | Spec-Kit | GSD |
|---|---|---|
| 设计哲学 | 企业级,正式流程 | 简洁高效,反企业剧场 |
| 目标用户 | 企业团队 | 个人/小团队 |
| 工作流复杂度 | 7 阶段(完整) | 5 阶段(精简) |
| 宪法驱动 | ✅ 强制第一步创建宪法 | ❌ 无宪法概念 |
| 扩展性 | ✅ 扩展 + 预设系统 | ⚠️ 有限 |
| 澄清机制 | ✅ /speckit.clarify |
✅ /gsd:discuss-phase |
| 验证机制 | ✅ /speckit.analyze |
✅ /gsd:verify-work |
用户反馈:
“I’ve done SpecKit, OpenSpec and Taskmaster — this has produced the best results for me.”(用过 SpecKit、OpenSpec、Taskmaster,GSD 效果最好)
“Nothing over-engineered. Literally just gets shit done.”(没有过度工程,真的就是把事情做完)
选择建议:
- 选 Spec-Kit:企业团队、需要正式流程、需要宪法级一致性
- 选 GSD:个人/小团队、追求效率、反感复杂流程
5.4 适用场景
✅ 推荐使用:
- 企业级项目开发
- 需要正式流程和文档的团队
- 混用多种 AI 工具的团队
- 需要高度定制工作流
- 需要项目级宪法指导
❌ 不推荐使用:
- 个人项目(流程太重)
- 快速原型验证(流程太正式)
- 小团队敏捷开发(GSD 更合适)
六、Get Shit Done:项目级 SDD 平台
6.1 核心能力
GSD 是一个完整的项目级 SDD 平台,提供从需求分析到实施验证的全流程管理。
SDD 实现:
- 通过
/gsd:new-project启动完整的项目初始化 - 规范持久化保存在
.planning/目录 - 使用结构化文档(PROJECT.md、REQUIREMENTS.md、ROADMAP.md 等)
- 任务使用 XML 格式,结构化、可验证
规范文件结构:
1 | .planning/ |
为什么是”项目级平台”:
- OpenSpec:专注规范本身(变更级)
- Superpowers:专注工作流编排(任务级)
- GSD:完整项目管理(项目级),从零到一的全生命周期
安装方式:
1 | npx gsd-build/get-shit-done |
支持一键安装到所有平台:--all 标志
核心工作流:
/gsd:new-project- 新建项目,提问 → 研究 → 需求提取 → 创建路线图/gsd:discuss-phase- 讨论阶段细节/gsd:plan-phase- 生成阶段任务计划(XML 格式)/gsd:execute-phase- 执行任务/gsd:verify-work- 验证完成情况
安装方式:
1 | npx gsd-build/get-shit-done |
支持一键安装到所有平台:--all 标志
6.2 解决的核心问题
问题1:新项目从零开始的混乱
1 | 场景:启动一个新项目 |
问题2:项目状态和决策容易遗忘
1 | 场景:项目开发到第 10 个阶段 |
问题3:缺少验证标准的任务执行
1 | 场景:实现一个功能 |
6.3 适用场景
✅ 推荐使用:
- 新项目启动(从零到一)
- 需要完整项目管理的团队
- 中长期项目(多个阶段迭代)
- 需要跨会话状态记忆的项目
- 使用多个 AI 工具的团队(支持 7 个工具)
❌ 不推荐使用:
- 简单脚本开发(太重了)
- 小改动、bug 修复(不需要完整项目管理)
- 临时原型验证(流程太正式)
七、对比分析与选型指南
7.1 核心维度对比
| 维度 | OpenSpec | Superpowers | Get Shit Done | Spec-Kit |
|---|---|---|---|---|
| SDD 层级 | 变更级 | 工作流级 | 项目级 | 宪法级 |
| 开发方 | 社区 | 社区 | 独立开发者 | GitHub 官方 |
| 规范持久化 | ✅ 文件系统(openspec/changes/) |
✅ 设计文档保存 | ✅ 完整目录结构(.planning/) |
✅ 完整目录结构(.specify/) |
| 学习曲线 | 中等 | 陡峭(14+技能) | 中等(5个核心命令) | 中等(7个核心命令) |
| 跨工具支持 | ✅ 最强(24+工具) | ⚠️ 中(5个工具) | ✅ 强(7个工具) | ✅ 最强(24+工具) |
| 团队协作 | ✅ 强(变更可共享) | ⚠️ 中(需对齐) | ✅ 强(完整项目文档) | ✅ 强(宪法驱动) |
| 工作流灵活性 | ⚠️ 中(三步流程) | ✅ 强(自由组合) | ⚠️ 中(固定流程) | ✅ 强(扩展+预设) |
| 验证机制 | ⚠️ 手动验证 | ✅ 两阶段审查 + TDD | ✅ XML 验证标准 | ✅ 跨制品分析 |
| 宪法驱动 | ❌ | ❌ | ❌ | ✅ 核心特性 |
| 扩展性 | ⚠️ 中 | ⚠️ 中 | ⚠️ 低 | ✅ 高(扩展+预设) |
| 适合场景 | 现有项目迭代 | 复杂开发流程 | 新项目从零开始,个人/小团队 | 企业级项目,正式团队流程 |
7.2 根据项目类型选型
现有项目迭代
推荐:OpenSpec
理由:
- 变更级管理,适合增量开发
- 每个功能变更独立管理
- 不影响现有项目结构
- 支持 24+ 工具,团队可混用
场景示例:
1 | 现有项目:给博客添加评论功能 |
新项目从零开始
根据团队规模选择:
个人/小团队(1-5人)→ Get Shit Done
理由:
- 项目级管理,从零到一的全生命周期
- 简洁高效,不搞企业剧场
- STATE.md 记录所有决策,跨会话记忆
- XML 任务格式,明确的验证标准
场景示例:
1 | 新项目:开发一个电商平台 |
企业团队(5人以上)→ Spec-Kit
理由:
- 宪法驱动,项目级一致性
- GitHub 官方支持,成熟稳定
- 支持 24+ AI 工具,团队可混用
- 完善的扩展和预设系统
场景示例:
1 | 新项目:企业级电商平台 |
复杂开发流程
推荐:Superpowers
理由:
- 14+ 技能灵活组合
- 完整工作流:brainstorming → planning → execution
- 子代理驱动开发,两阶段审查
- 强制测试驱动开发
场景示例:
1 | 复杂任务:重构支付系统 |
7.3 根据团队规模选型
个人开发者
根据项目类型选择:
- 现有项目迭代 → OpenSpec(轻量灵活)
- 新项目从零开始 → GSD(简洁高效)
- 复杂功能开发 → Superpowers(工作流编排)
小团队(2-5人)
根据工作风格选择:
追求效率 → GSD
- 快速迭代
- 简洁工作流
- 反企业剧场
需要灵活编排 → Superpowers
- 复杂开发流程
- 团队成员使用相同 AI 工具
- 需要多角度分析
工具混用 → OpenSpec
- 团队成员使用不同 AI 工具
- 需要正式的变更文档
- 现有项目的增量开发
中大型团队(5人以上)
企业级项目 → Spec-Kit
- 需要正式流程和文档
- 宪法驱动的一致性
- 支持 24+ AI 工具混用
- 完善的扩展和预设系统
现有项目迭代 → OpenSpec
- 现有大型项目的迭代
- 团队成员使用不同 AI 工具
- 需要变更级管理和追溯
新项目从零开始 → GSD 或 Spec-Kit
- GSD:敏捷团队,追求效率
- Spec-Kit:企业团队,需要正式流程
7.4 能否同时使用?
答案:可以,但需谨慎。
1 | ✓ 技术上可行: |
八、实际案例对比
案例:重构支付模块 - 四种 SDD 实现
OpenSpec 方式:最严格的 SDD 实现
1 | # 1. 提出变更方案 |
特点:
- ✅ 变更级 SDD 实现(规范先行,独立文档)
- ✅ 规范持久化到文件系统,可归档追溯
- ✅ 团队可共享审核
- ✅ 轻量灵活,适合增量开发
Superpowers 方式:SDD + 工作流编排
1 | # 1. 头脑风暴 |
特点:
- ✅ 工作流级 SDD(规范在工作流中生成并保存)
- ✅ 14+ 技能灵活组合
- ✅ 子代理驱动 + 两阶段审查 + TDD
- ✅ 系统化、适合复杂开发流程
Get Shit Done 方式:项目级 SDD 平台
1 | # 1. 初始化项目(如果是从零开始) |
特点:
- ✅ 项目级 SDD 平台(完整生命周期管理)
- ✅ 规范持久化到
.planning/目录 - ✅ STATE.md 记录所有决策,跨会话记忆
- ✅ XML 任务格式,明确的验证标准
Spec-Kit 方式:宪法驱动的企业级 SDD
1 | # 1. 创建项目宪法 |
特点:
- ✅ 宪法级 SDD(项目原则一致性,第一步定义宪法)
- ✅ GitHub 官方支持,成熟稳定
- ✅ 7 阶段工作流,最完整(constitution → specify → clarify → plan → tasks → implement → analyze)
- ✅ 扩展 + 预设系统,高度可定制
- ✅ 支持 24+ AI 工具,跨工具协作
- ✅ 可选的澄清和分析阶段,确保质量
九、选型决策树
基于项目类型和团队规模的 SDD 工具选择:
1 | 开始选型:你需要什么样的 SDD 实现? |
关键决策点:
- 项目类型:现有项目迭代 vs 新项目 vs 复杂流程
- 团队规模:个人/小团队 vs 企业团队
- 跨工具支持:团队成员使用的 AI 工具是否一致?
- 验证需求:是否需要强制测试驱动或自动验证?
- 一致性要求:是否需要宪法级项目原则?
十、总结
核心观点
SDD 是核心,工具是手段:
- SDD(规范驱动开发)解决的是 AI 编程时代的根本问题
- 四个工具都是 SDD 的不同实现方式
- 选择工具 = 选择 SDD 的实现层级
实现层级的差异:
- OpenSpec:变更级 SDD,适合现有项目迭代,跨工具支持最广(24+)
- Superpowers:工作流级 SDD,适合复杂开发流程,技能组合最灵活(14+)
- Get Shit Done:项目级 SDD 平台,适合新项目从零开始,个人/小团队首选
- Spec-Kit:宪法级 SDD 平台,GitHub 官方,企业级项目首选
没有最好的工具,只有最合适的工具:
- 现有项目迭代 → OpenSpec(轻量灵活)
- 新项目(个人/小团队)→ GSD(简洁高效)
- 新项目(企业团队)→ Spec-Kit(宪法驱动)
- 复杂开发流程 → Superpowers(工作流编排)
Spec-Kit vs GSD 的理念差异:
- Spec-Kit:企业级,正式流程,宪法驱动
- GSD:简洁高效,反企业剧场,独立开发者友好
- 根据团队文化选择合适的工具
推荐方案
1 | 现有项目迭代 → OpenSpec |
SDD 实践建议
- 先理解 SDD 理念:工具只是手段,理念才是核心
- 从简单开始:个人项目用 GSD,熟悉 SDD 流程
- 考虑团队规模:团队越大,越需要正式的规范管理
- 考虑工具生态:团队成员使用的 AI 工具是否一致
- 可以组合使用:主用 1 个,特定场景辅助其他
- 持续优化规范:SDD 是迭代过程,规范要不断完善
下一步行动
如果你有现有项目需要迭代:
1 | 1. 安装 OpenSpec:npm install -g @fission-ai/openspec |
如果你要启动一个新项目(个人/小团队):
1 | 1. 安装 GSD:npx gsd-build/get-shit-done |
如果你要启动一个企业级项目:
1 | 1. 安装 Specify CLI:uv tool install specify-cli --from git+https://github.com/github/spec-kit.git |
如果你需要复杂开发流程:
1 | 1. 安装 Superpowers:npx skills add obra/superpowers |
SDD 不只是一个方法论,更是 AI 编程时代的新范式。根据项目类型和团队规模选择合适的工具,让你的团队拥抱 SDD,提升开发效率和代码质量。
参考资料
- OpenSpec GitHub - 支持 24+ AI 工具
- Superpowers GitHub - 102k+ stars,支持 5 个主流工具
- Get Shit Done GitHub - 支持 7 个工具,独立开发者友好
- Spec-Kit GitHub - GitHub 官方,支持 24+ 工具,企业级
- Claude Code 官方文档
- AI Agent Skills 生态