Spec驱动开发(sdd)
1. 概念
- Spec驱动开发(Spec Coding)
- 用结构化规范来驱动AI生成代码,而不是依赖模糊的自然语言提示词
- 压缩意图、限定边界、保留决策链
2. 核心思想
- 从“随性的AI辅助编码(Vibe Coding)”转向“规范的AI驱动开发(Spec Coding)”——让AI明确知道“要造什么、做到什么程度才算对”,而不是靠“猜”
3. 结构化层次
|层次 |作用 |示例
|---|---|---|
|行为契约 |输入输出约束 |preconditions、postconditions
|接口定义 |方法签名规范 |函数名、参数类型、返回值
|数据格式 |Schema校验 |JSON结构、字段类型、长度限制
|业务规则 |状态机逻辑 |订单状态流转、权限校验
4. 为什么需要Spec?
- 解决AI的“语义漂移”:自然语言太模糊,AI容易理解偏差或产生幻觉
- 从“事后补救”到“事前预防”:在生成代码前就定义好完成标准
- 建立人机协作的信任桥梁:开发者从“写代码的人”变成“定义规则的架构师”
5. 实践原则
- Spec 不是所有任务都需要写
- Spec 的价值不主要在"替代编码",而在"压缩意图、限定边界、保留决策链"
- 复杂增量功能、高风险重构、跨角色联调,更适合先做 Spec
- 小颗粒修改、模式稳定的标准页面,未必需要走完整 Spec 流程
- Spec 能减少误解和返工,但不能替代验证,也不能替代现场信息
Spec 是"上下文工程化"继续往前补的一层