OpenSpec:规范驱动开发(SDD)实践指南
在 AI 编程时代,"氛围编码(Vibe Coding)"虽然让开发变得轻松,但 AI 生成代码的随机性与软件工程对确定性、可靠性的要求存在冲突。**规范驱动开发(Spec-Driven Development, SDD)**正是为了解决这一核心矛盾而 诞生的方法论,而 OpenSpec 是该领域最流行的开源框架。
什么是 SDD
传统开发流程:需求 → 代码 → 测试
SDD 开发流程:需求 → 规范(Spec)→ 代码 → 测试
SDD 的核心思想是:在写任何代码之前,人和 AI 先就"要构建什么"达成一致。规范(Spec)成为唯一的真实来源(Single Source of Truth),它存储在代码仓库中,结构化的、可被 AI 直接读取和执行。
为什么需要 SDD
| 问题 | SDD 的解决方式 |
|---|---|
| AI 理解偏差,生成的代码不是你想要的 | 先写规范对齐意图,再生成代码 |
| 多轮对话后 AI 忘了上下文 | 规范文件持久化在仓库中,随时可读 |
| 团队成员用不同 AI 工具,结果不一致 | 统一的规范文件作为所有 AI 的指令源 |
| 代码改了但不知道为什么改 | 每次变更都有提案(proposal)记录动机 |
| AI 一次改太多,难以审查 | 变更被拆分为原子化的任务清单 |