SDD(Spec-Driven Development)
Spec 驱动 AI 研发范式的本质
一、问题定义:传统 AI 编程的痛点
当前主流的 AI 辅助研发流程通常是:
自然语言需求 → AI 直接生成代码 → 人工 review → 迭代修正
这一模式的根本问题是契约缺失:AI 对需求的理解是一次性、内化的,人类难以在生成之前判断 AI 是否真正理解了边界、约束和验收标准。结果是:
- 不可复现:同样的 prompt 多次执行,输出可能差异很大;
- 难以审查:代码与需求之间的映射关系不透明;
- 边界失控:AI 容易在权限、性能、安全等关键约束上“自由发挥”;
- 知识随对话流失:需求理解沉淀不下来,换一次对话就要重新交代。
Spec 驱动范式正是为了解决这些问题而产生的。
二、本质定义
Spec 驱动 AI 研发范式的本质,是将“需求→代码”的线性过程改造为“需求→Spec→代码”的契约化过程。
在这个范式中:
- Spec 是中间契约层:它不是传统意义上的“设计文档”,而是人类意图与机器执行之间的可验证、可复用、可审计的正式表达。
- AI 是 Spec 的执行者:AI 不再直接根据自然语言生成代码,而是先理解、遵循、有时甚至生成 Spec,再基于 Spec 执行具体任务。
- 人类保留关键决策权:人类负责定义、确认和验收 Spec,AI 负责按 Spec 生成、校验和优化。
简言之,Spec 驱动让 AI 从“自由创作者”变成“契约执行者”。
三、范式架构
一个典型的 Spec 驱动研发流程包含三个层次:
1. 规范底座层(Spec Layer)
Spec 可以以 Markdown、结构化 schema、配置文件、规则文件等形式存在,核心内容包括:
- 业务目标与范围:要解决什么问题、边界在哪里;
- 约束与红线:性能、安全、副作用、合规要求;
- 接口与数据契约:输入输出、字段定义、状态机;
- 验收标准:如何判断实现是否正确;
- 执行步骤:AI 应该按什么顺序调用哪些能力。
这一层的关键特征是机器可读、人可维护。
2. 执行入口层(Execution Layer)
AI Agent 或 Skill 作为执行入口,按 Spec 中定义的步骤调用工具、生成代码、执行校验。它的核心职责是:
- 解析 Spec;
- 按 Spec 约束选择行动;
- 在执行关键步骤前请求人类确认;
- 输出可追溯的执行记录。
3. 流程兜底层(Governance Layer)
通过 Git 工作流、PR/MR 模板、代码审查、CI 校验等手段,确保:
- 所有代码变更都对应到 Spec;
- Spec 本身也经过版本控制;
- 关键决策点不被 AI 自动绕过。
这三层共同构成一个“人类定义规则、AI 执行规则、流程保证规则被遵守”的闭环。
四、与传统范式的核心区别
| 维度 | 传统 AI 编程 | Spec 驱动 AI 研发 |
|---|---|---|
| 核心输入 | 自然语言 prompt | 结构化 Spec + 自然语言补充 |
| AI 角色 | 直接生成代码的“黑盒” | 按契约执行的“协作者” |
| 可解释性 | 低,依赖 prompt 工程 | 高,变更与 Spec 一一对应 |
| 可复现性 | 低,输出波动大 | 高,Spec 是稳定上下文 |
| 风险管控 | 事后 review | 事前约束 + 事中确认 + 事后审计 |
| 知识沉淀 | 随对话流失 | Spec 成为可复用资产 |
五、关键收益
-
确定性提升
Spec 将模糊需求转化为明确边界,减少 AI 的猜测空间。 -
可审计性增强
每一个代码变更都可以追溯到对应的 Spec,便于 review、回滚和复盘。 -
规模化复用
Spec 本身是可沉淀的组织资产。同类任务可以复用已有 Spec,而不是每次都重新 prompt。 -
人机分工清晰
人类负责“做什么”和“能不能做”,AI 负责“怎么做”和“做得对不对”。 -
降低长期维护成本
因为 Spec 与代码同步演进,新成员或新 AI 会话可以通过阅读 Spec 快速理解系统意图。
六、适用边界与风险
Spec 驱动并非万能:
- 不适合高度探索性任务:在需求本身极不明确的早期创新阶段,过早定 Spec 可能扼杀创造性。
- Spec 质量决定上限:如果 Spec 写错了,AI 会高效地执行错误。
- 需要组织习惯配合:如果团队不愿意维护 Spec、不愿意按 Spec review,范式会流于形式。
- ** overhead 增加**:小改动也需要维护 Spec,可能降低局部效率。
因此,Spec 驱动更适合需求相对明确、变更需要审计、团队协作复杂、对质量与风险敏感的研发场景。
七、总结
Spec 驱动 AI 研发范式的本质,可以概括为一句话:
用结构化的“契约”取代一次性的“提示”,让人类与 AI 在共同理解的规则下协作,使 AI 的输出从“不可预测的创作”变成“可验证的执行”。
它不是让 AI 多写文档,而是让文档成为真正的执行依据;也不是取代人类判断,而是把人类的判断前置到 Spec 定义和关键确认节点,从而释放 AI 在执行层面的规模化和自动化能力。
浙公网安备 33010602011771号