Appearance
什么是规范驱动开发(SDD)
定义
规范驱动开发(Spec-Driven Development,SDD) 是一种以"可执行规范文档"为核心驱动的软件开发方法论。它的核心思想很简单:
先写规范,再写代码。AI 负责执行规范,人类负责定义规范。
在传统的软件工程中,我们已经有需求文档、API 文档、测试用例等各种"规范"。但这些规范往往是静态的 Word 文档或 Wiki 页面,AI 无法直接理解和执行。SDD 的关键突破在于:将规范转化为结构化、机器可读的格式,让 AI 编码助手能直接基于规范生成代码、验证实现。
SDD 不是"先设计再编码"的老生常谈。在 AI 时代,它是让 AI 编码从"盲人摸象"变成"按图施工"的根本性转变。
为什么需要 SDD
AI 编码的三大痼疾
AI 编码工具(如 Claude Code、Cursor、Copilot)已经足够强大,但缺乏规范约束时,它们会反复掉进同样的陷阱:
1. 幻觉(Hallucination)
AI 会自信地生成不存在的 API、虚构的库函数、编造不兼容的用法。没有规范约束,AI 就像一个记忆力出色但爱吹牛的程序员——听起来什么都懂,实际跑起来全是 bug。
bash
# AI 自信地写出了不存在的 API
const result = await user.deleteAllRecords() // 这个方法根本不存在2. 上下文腐烂(Context Decay)
随着对话变长、文件增多,AI 对项目的理解会逐渐失真。它会忘记之前的架构决策,忽略已有的类型定义,甚至重复实现已经存在的功能。项目越大,上下文腐烂越严重。
3. 缺乏纪律(No Discipline)
没有明确的约束,AI 会随心所欲地选择技术方案:今天用 REST,明天就换 GraphQL;这个文件用 TypeScript,那个文件就写 JavaScript;命名风格变幻莫测。缺乏一致性让代码库迅速恶化为"大杂烩"。
SDD 如何解决这些问题
| 问题 | 无规范时 | 有规范时 |
|---|---|---|
| 幻觉 | AI 凭空捏造 API 和用法 | 规范明确列出可用 API 和约束,AI 只能使用已定义的接口 |
| 上下文腐烂 | 长对话后 AI 遗忘架构决策 | 规范作为持久化记忆,每次交互都从规范刷新上下文 |
| 缺乏纪律 | 技术选型随意,风格不统一 | 规范锁定技术栈、命名规范、项目结构 |
| 需求理解 | 靠 Prompt 猜测用户意图 | 规范明确记录功能需求和非功能约束 |
| 代码质量 | 能跑就行,没有标准 | 规范定义验收标准,生成代码可验证 |
生态中的三大工具
SDD 并非纸上谈兵,GitHub 上已经有多个成熟的规范驱动开发工具:
Superpowers ⭐ 99.6K
SUPERPOWERS(原名 Claude Code Best Practices)是目前最热门的 AI 编码规范项目。它由 Jesse Vincent(obra)维护,为 Claude Code 提供了一套完整的最佳实践指南。
Superpowers 的核心理念是"ClAUDE.md 驱动"——通过在项目根目录放置一个精心编写的 CLAUDE.md 文件,让 Claude Code 始终遵循项目规范。它涵盖代码风格、提交规范、测试要求、架构约束等方方面面,是目前社区公认的 Claude Code 规范标杆。
OpenSpec ⭐ 32.5K
OpenSpec 来自 Fission Labs,提供了一个更加形式化的规范框架。它将项目规范组织为结构化的 YAML/Markdown 文档,支持多层次的规范定义(从全局架构到单个函数)。
OpenSpec 的特色在于其"活文档"理念——规范不是一次性写死的,而是随着项目演进持续更新的。它特别适合需要严格 API 契约的团队协作场景。
GSD(Get Shit Done)⭐ 36.4K
GSD 采取了更务实的路线:将规范驱动与任务管理结合,提供一套"从想法到上线"的完整工作流。它不仅仅是规范框架,更是一个 AI 原生的项目执行系统。
GSD 的核心是"任务分解 + 规范执行"的双轮驱动模式:先把大目标拆解为可执行的小任务,再为每个任务定义清晰的输入输出规范,让 AI 逐步完成。
SillySpec:取长补短
SillySpec 的设计充分借鉴了上述三大工具的优点,同时针对中文开发者做了深度优化:
| 特性 | Superpowers | OpenSpec | GSD | SillySpec |
|---|---|---|---|---|
| 中文支持 | ❌ | ❌ | ❌ | ✅ 原生中文 |
| 一键安装 | ✅ CLAUDE.md | ⚠️ 手动配置 | ✅ | ✅ init.sh |
| 头脑风暴 | ❌ | ❌ | ✅ | ✅ 内置 |
| 规范生成 | ✅ 手动编写 | ✅ 结构化 | ✅ 任务驱动 | ✅ AI 自动生成 |
| 多模型支持 | Claude | 多模型 | 多模型 | Claude + GLM |
| 学习曲线 | 低 | 中 | 中 | 最低 |
| 增量迭代 | ✅ | ✅ | ✅ | ✅ 智能合并 |
SillySpec 的独特价值:
- 中文原生:所有规范模板和交互提示均为中文,降低使用门槛
- 零配置启动:一条命令即可初始化,不需要理解复杂的规范格式
- AI 生成规范:通过头脑风暴自动生成项目规范,而不是手写
- 智能增量更新:项目演进时自动合并新规范,不会覆盖已有约束
- 双模型支持:同时适配 Claude Code 和智谱 GLM,给开发者更多选择
无规范 vs 有规范:全景对比
| 维度 | 无规范(裸奔模式) | 有规范(SDD 模式) |
|---|---|---|
| 开发流程 | 想到哪写到哪 | 先规范后编码,按图施工 |
| AI 行为 | 自由发挥,不可预测 | 受规范约束,行为一致 |
| 代码质量 | 参差不齐,风格混乱 | 统一标准,质量可控 |
| Bug 率 | 高(幻觉导致) | 低(规范约束) |
| 可维护性 | 差(缺乏文档) | 好(规范即文档) |
| 协作成本 | 高(靠口头约定) | 低(规范是唯一真相源) |
| 新人上手 | 困难(靠猜) | 快速(读规范即可) |
| 重构难度 | 极高(牵一发动全身) | 可控(规范保护核心架构) |
| AI Token 消耗 | 高(反复试错) | 低(一次到位) |
总结
规范驱动开发不是给 AI 套上枷锁,而是给 AI 装上导航仪。就像建筑行业从"经验施工"进化到"图纸施工"一样,SDD 代表了 AI 辅助编程的下一个阶段。
选择 SillySpec,就是选择让 AI 编码从"听天由命"变成"按规矩办事"。