Skip to content

规格驱动开发 (SDD)

规格驱动开发(Spec-Driven Development, SDD)是 SuperSpec 的核心理念,它改变了我们与 AI 编码助手协作的方式。

什么是 SDD?

SDD 是一种开发方法论,强调在编码之前先明确规格(specification)。与传统的"先写代码后补文档"不同,SDD 要求:

  1. 先定义规格: 在写任何代码之前,先明确要做什么、为什么做、成功标准是什么
  2. 规格驱动实现: 让规格文档指导代码实现
  3. 实现验证规格: 完成后验证实现是否符合规格

为什么 AI 时代需要 SDD?

AI 编码助手(如 Cursor、Claude Code)能够快速生成代码,但也带来新的挑战:

问题 1: 上下文丢失

AI 的上下文窗口有限,长对话中容易"忘记"之前的讨论。

SDD 解决方案: 将关键信息记录在规格文档中,随时可以恢复。

问题 2: 需求漂移

没有明确规格,AI 可能按自己的理解实现,偏离原始需求。

SDD 解决方案: proposal 和 spec 提供明确的需求基准。

问题 3: 代码不一致

多次对话可能产出风格不一致的代码。

SDD 解决方案: 统一的 artifact 和工作流确保一致性。

问题 4: 难以复用

有价值的决策和讨论散落在对话历史中,难以复用。

SDD 解决方案: clarify.md 记录决策,可供未来参考。

SDD 工作流

需求 → 提案 → 规格 → 任务 → 实现 → 验证 → 归档
       ↓       ↓       ↓       ↓       ↓
     proposal spec   tasks   code  validate

每个阶段都有对应的 artifact,形成完整的文档链。

SDD 与敏捷开发

SDD 不是要回到瀑布模型,而是在敏捷框架内增加必要的结构:

敏捷原则SDD 实现
响应变化/ss-clarify 记录变更
可工作的软件分阶段任务,频繁交付
客户协作proposal 获取确认
简洁第一性原理,最小文档

在 SuperSpec 中实践 SDD

SuperSpec 提供了完整的 SDD 工具链:

  1. proposal.md: 记录变更提案
  2. spec.md: 定义详细规格(增强模式)
  3. tasks.md: 分解为可执行任务
  4. clarify.md: 记录澄清和决策
  5. context.md: 支持上下文恢复

通过这些工具,你可以与 AI 助手进行结构化、可追溯的协作。

基于 MIT 许可发布