您的位置首页 >人工智能 >

02-SDD 详解|SDD 规范驱动开发第 2 篇核心内容说明

02-SDD 是 SDD 规范驱动开发系列实操手册里的第 02 篇内容,专门用来拆解 SDD(Spec-Driven Development,规范驱动开发)的底层定义、四层规范结构、EARS 可验证句式,用来解决 AI 编码经常出现需求模糊、边界缺失、规则跑偏、需求衰减的问题;这套开发范式和传统敏捷、TDD 不一样,核心原则是规范是唯一事实源头,先写可验证规范,再交给大模型生成代码、测试用例,02-SDD 这篇内容就是把这套理念落地成可直接套用的撰写规则,帮助开发者写出人和 AI 都能读懂、可校验的规范文档,适合 AI 辅助编程、Agent 开发场景使用。

一、02-SDD 和 SDD 整体体系关系

项目说明
SDD 全称Spec-Driven Development 规范驱动开发
02-SDD 定位系列手册第 2 篇,基础概念 + 规范结构教程
前置内容01 篇一般是 SDD 总览、价值介绍
产出物目标结构化、可验证、AI 可读的 Spec 规范
核心对标敏捷开发、TDD 测试驱动开发、普通需求文档

二、SDD 四层规范结构(02-SDD 重点讲解)

  1. 宪法层:最高约束,业务红线、合规规则、不可突破的底层前提,长期稳定,不轻易改动
  2. 行为层:系统对外表现,输入输出、触发条件、异常分支,全部要求可验证
  3. 方案层:技术实现思路、依赖组件、架构选择,属于实现层面
  4. 任务层:拆分后的开发、测试、调试子任务,分配给 AI 或者开发人员执行

三、SDD 三句核心定义(02-SDD 原文要点)

  1. 规范是唯一真源,代码是规范的产物,修改系统优先修改规范,再同步代码
  2. 规范必须先于代码存在,并且以可验证形式编写,区别于普通设计文档
  3. 规范是人和机器共读的,人类用来评审交接,AI 用来作为生成代码的约束输入

四、EARS 可验证句式(02-SDD 主推写法)

EARS 是简单需求句式模板,用来消除模糊描述,常见模板:

  • 当
  • 如果
  • 在

【触发条件】时,系统应当

【行为】

【前置条件】,那么系统应当

【输出动作】

【状态】下,系统禁止

【行为】

优势:没有主观形容词,每条都能写测试用例,AI 不容易自由发挥乱实现

五、SDD vs TDD、普通需求文档对比

类型顺序核心目标能不能直接喂给 AI
普通需求文档先写文档,后编码讲清楚业务是什么大多模糊,AI 容易理解偏差
TDD 测试驱动开发先写测试,再写代码保证代码逻辑符合测试偏向代码侧,缺少顶层业务约束
SDD 规范驱动开发先写 Spec 规范,再生成代码、生成测试规范作为唯一契约,统一人 + AI结构化、可验证,适合 AI 编码

六、02-SDD 常见认知误区

  1. 误区:SDD 就是一份加长版 PRD
  2. 误区:SDD 就是 TDD 换个名字
  3. 误区:02-SDD 是独立新开发框架

纠正:普通 PRD 允许模糊描述,SDD 强制可验证,每条规则都能做验收,专门适配 AI 生成代码。

纠正:TDD 起点是测试代码;SDD 起点是业务行为规范,测试、代码都是规范派生出来的产物。

纠正:02-SDD 只是系列教程第二篇,SDD 本身是开发方法论,不是框架、库或者工具。

【常见问题】

问题 1:02-SDD 是什么,02-SDD 在 SDD 规范驱动开发系列里起到什么作用?

回答 1:02-SDD 是 SDD 规范驱动开发实操手册的第 2 篇,主要讲解 SDD 基础定义、四层规范结构、EARS 可验证句式,用来教开发者撰写可供人类和 AI 共同读取的规范,解决 AI 编码需求模糊、边界丢失的问题。

问题 2:02-SDD 里面讲的 SDD 规范驱动开发,和 TDD 测试驱动开发有什么不一样?

回答 2:02-SDD 里说明,TDD 从测试用例出发,SDD 规范驱动开发从顶层业务行为规范出发,规范是唯一事实源,代码和测试都由规范派生,更适合大模型 AI 辅助编码场景。

问题 3:02-SDD 提到的 EARS 句式,写 SDD 规范的时候有什么好处?

回答 3:02-SDD 主推 EARS 可验证句式,把需求写成条件 + 行为的固定结构,消除 “优化、更好、快速” 这类模糊词,每条规范都可以直接生成测试用例,AI 生成代码的时候不容易跑偏。

问题 4:按照 02-SDD 的理念做 SDD 开发,开发顺序是什么样的?

回答 4:按照 02-SDD 讲解的 SDD 理念,先梳理宪法层、行为层、方案层、任务层规范,评审确认规范之后,再交给 AI 生成代码、自动生成测试用例,而不是先写代码再补文档。

问题 5:02-SDD 对应的 SDD 规范,是不是只能给 AI 编程用?

回答 5:02-SDD 对应的 SDD 规范驱动开发,主要适配 AI 协同编码、Agent 开发,同时也可以用于纯人工团队,用来统一评审标准、减少需求理解分歧。

【参考资料】

[2026-11-13](02-SDD 到底是什么)阿里云开发者社区

[2026-11-12](SDD 规范驱动开发实操手册 01:AI 编码为什么需要 Spec 先行)阿里云开发者社区

[2026-10-12](大模型高效协同开发核心方法:SDD 规范驱动开发,打通需求、编码、测试全链路闭环)腾讯云开发者社区

[2026-01-21](多 AI 协同 + SDD 编程实践:一个 AI 全流程交付实录)腾讯网

[2025-09-20](Spec-Driven Development:GitHub 提出的 AI 编程新范式)GitHub 官方博客

【免责声明】

本文内容仅为 02-SDD、SDD 规范驱动开发方法论科普,不构成项目开发强制标准。SDD 属于 AI 协同开发的新兴实践范式,没有统一行业强制标准;02-SDD 为教程文章,不是官方标准文档,落地效果取决于规范编写质量、模型能力、团队流程。项目上线前依旧需要完整评审、测试,不能仅依靠 SDD 规范直接交付。

今日大家都在搜的词: