核心要点

  • 先写清晰的规范/契约(接口、行为、约束),再进入实现

  • 规范作为「单一事实源」,代码与测试都围绕它对齐

  • AI 时代:用自然语言规范驱动 AI/Agent 生成与验证代码

  • 配合自动化测试与人工评审形成「规范-生成-验证」闭环

标准回答

SDD 是什么

规范驱动开发(Spec-Driven Development)强调在动手实现前,先把「要做什么」写成清晰、可验证的规范:包括接口契约、输入输出、边界条件与验收标准。规范成为团队的单一事实源(single source of truth),实现与测试都从它派生。

与传统流程的关系

它把模糊的口头需求前置为明确的书面契约,减少返工与理解偏差,天然衔接 TDD/BDD——规范定义「正确」的标准,测试去验证它。

AI 时代的意义

当由 AI/Agent 生成大量代码时,规范的价值被放大:

  • 自然语言规范作为给 AI 的精确指令,约束生成方向,减少幻觉与跑偏。
  • 规范同时是验证依据:可据此自动生成测试、评审生成结果是否符合契约。
  • 形成「写规范 → AI 生成 → 测试/评审验证 → 修正规范」的闭环,人聚焦在「定义正确」,把「实现细节」交给 AI。

可读、可验证的规范,是让 AI 协作可控、可信的前提。

常见误区

⚠️ 常见踩坑

规范不是越长越好,更不是写完就丢的一次性文档;它必须可验证且随实现同步演进,否则会与代码脱节、退化为过时摆设。

追问

追问 1SDD 和 TDD 是什么关系?

互补且层次不同。SDD 先用规范定义「正确的标准是什么」,TDD 再用测试在实现阶段逐步逼近这个标准。规范回答「做什么/对的定义」,测试回答「是否真的做对了」,二者常配合使用。

追问 2为什么 AI 生成代码时规范尤为重要?

AI 会忠实但盲目地放大指令中的模糊与歧义,规范不清就容易产出看似合理却偏离意图的代码;清晰规范既能约束生成、又能作为自动验证与评审的客观标尺,是把 AI 输出纳入可控闭环的关键。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。