规范驱动开发(Specification-Driven Development)
随着大模型(如 GPT-4/5、Claude 3.5)和 AI 编程智能体(Coding Agents,如 Cursor、Claude Code、GitHub 官方探索的 spec-kit 等)的爆发,软件开发正经历第五代编程范式演进,SDD(规范驱动开发)应运而生。
1. 思想:规范即代码(权力的反转)
在传统开发中,PRD(需求文档)或设计说明仅仅是"指导书",开发人员看完后去写代码,代码是唯一的"真理之源"(Single Source of Truth) 。这导致文档往往很快过期、与代码脱节。
SDD 思想颠覆了这一结构:
- 规范(Specification)成了唯一的真实来源。 规范不再是写给人类看的散文,而是结构化的、可被 AI Agent 精确理解和执行的"意图代码"(如
spec.md或 YAML)。 - 代码不再是核心资产,而是规范的输出产物。 当需求变更时,开发者首先修改的是"规范",随后由 AI 工具根据规范重新生成、验证并更新底层代码。
2. SDD的背景问题(终结"氛围编程"的混乱)
AI 时代初期,开发者习惯于"氛围编程(Vibe Coding)"------随口给 AI 几句提示词,让它几秒钟生成几千行代码。这种极高的速度反而带来了灾难:代码结构混乱、难以维护,甚至变成一个"高并发的混乱制造厂"。
SDD 的核心在于给 AI 提供边界和约束。它强制要求在 AI 写代码之前,必须先将人类模糊的想法转化为清晰、无歧义的结构化规范,让 AI 在可控的轨道上运行。
3. SDD 工作流(以 GitHub spec-kit 为例)
- Specify(定义规范): 开发者(此时更像产品架构师)与 AI 探讨,输出一份
结构化规范,定义好用户故事、验收标准和系统约束。【原始需求】 - Plan(制定计划): AI 像编译器一样,将规范"编译"成详细的
技术方案和任务拆解列表(Tasks)。【技术文档】 - Implement(执行落地):
AI Agent 逐个执行任务列表,自动生成高质量代码。【软件开发】 - Validate(验证闭环): 根据规范自动生成
测试用例并执行,确保生成的代码与规范完全契合。【功能及代码规范测试】
总结
- 关注AI 编程助手(Cursor、Claude Code等)时 , SDD 无疑指的是规范驱动开发 ------它正在重塑软件工程师的角色,让开发者从"枯燥敲代码的打字员",跃升为"定义系统语义、指挥 AI 干活的设计师与指挥家"。但是,如果你是在当下的 AI 编程与大模型浪潮中 听到这个词,它代表的是一种具有革命性意义的下一代软件开发范式------规范驱动开发(Specification-Driven Development)随着大模型(如 GPT-4/5、Claude 3.5)和 AI 编程智能体(Coding Agents,如 Cursor、Claude Code、GitHub 官方探索的
spec-kit等)的爆发,软件开发正经历第五代编程范式演进,SDD(规范驱动开发)应运而生这导致文档往往很快过期、与代码脱节 规范不再是写给人类看的散文,而是结构化的、可被 AI Agent 精确理解和执行的"意图代码"(如spec.md或 YAML) 当需求变更时,开发者首先修改的是"规范",随后由 AI 工具根据规范重新生成、验证并更新底层代码这种极高的速度反而带来了灾难:代码结构混乱、难以维护,甚至变成一个"高并发的混乱制造厂"它强制要求在 AI 写代码之前,必须先将人类模糊的想法转化为清晰、无歧义的结构化规范,让 AI 在可控的轨道上运行SDD 工作流(以 GitHub spec-kit 为例)
参考来源
1\]. [juejin.cn](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFPFyxa3Y3dv_qMt13dN6klZrhl9uJeMkErOugeA96Pm6frmqNEzg4G5AhiT4zrgYc_S9bjp0U-ciQOIknjTmnTxbEa9SL1h7CQAqYmUZpWPeXgHEMXQJ7z6E6TJO4sh5wwblBLUw==) \[2\]. [infoq.com](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFj3-d3ZmHBT0AfiFLOkOw4LM1DVF2ciWMlZ_CCjRh0oQ3hnlIDzzTPJorneYsP04ITIM_SiyUkjHfFsstP6GKd6A3hOcJsigUHseCm0mBULCrKHCaF_a-aHR40LwCS-d_62DWg8NvEyyZJ3iL5A2L1HcA=) \[3\]. [github.com](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFltvg5tqTChZJ0NtgykemezV9kdY1b-mRewVJa3LSFfSLx2RcgHTAxy-OshEOFa9LoeNS4Ld4pC8_ZCjeDpD7299pue0ofLNpKNQyclxAIKgPZRLNPlR8mBDkhWOY_AHtu30I8jrI=) \[4\]. [dengqi.org](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGdmKtrPZr-7HMXyEt90bM_hmsFfdX5oACMB7Z8hTe6NKrnWkHuLCPvKs3GjMeWlWRqCjwwz3bi8e2Ky6vRRG_GDdrnYc4kTmm7ZTPA6TXKfQI43Ffje66v7C6R3o-FeUHx-yQ4tyOJ7Q46hYinYe0qeAN261_P0TCX4nhchbkXQi2naMCkDbmpDcVMFDwSW2KpTAb2kMKrLGX39WG-xSD1VbhKugaZ2KehmjgvlcnwUllWgk0cmXj9SDzpd6OdEN6qDk0-1QUqVjCP3Gi7dlY4Ch31n-hGJveOxKUtY8G-pAR8N-XKHVWYvZD5AaMv) \[5\]. [geekbang.org](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHSQIkX8uikZK89SfoF47pS8pKODiQL_85rBV8MQITqgHUiH_nmiz2lIpb9R4OdeMxp4_M7i8I7P8dDW8UUV42ewPy51uHAsNoJ6dymTW9eLvPsdH3uPiXNsQX-KyLaLdDAYTnIsmMgXNO-) \[6\]. [jimmysong.io](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFEWT9dlV8E6SBKqKTnUdE2KXQ4_nlxihyH16UjLN9hR20qrAGmkLht9B7NdgzFhN8xRbZCBdKiJ_76WqIgzVL40azQBo_3a0DvwjCpS-QvebHAfz9Bz1n3yR4IeK9pFiIwsW9Q4vij591nJndVL4lP2g==) \[7\]. [cesarsotovalero.net](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH-_e7YJAEgtt03CXCPiPFiXmuTnlxSByOYroI-AZLqE5Qqjdo6W5cJZ5zKwfKGl9O6ylLWBB-zC6iOPYDSIrq25nS9az8ncUOlyQ4YPyOOTRn0F8v48jhLyE4xezsXXTr1wuCZnZ55lm9qeRSjRI-66EdQvaQx50gcTTSzF4yKY1ZPvxA03Hg4uSa8dvxv9g==) \[8\]. [dev.to](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHJa6UU3BTwmBJHYNWnT3edhqc3FuiWwR9v-T73hvmDhzZIEPyW1ciELFxZLG0Am3IFhj9rBHeDg2_qgShWJnNpOUVOzh5Uqr182_H9yn4QPXRk4UqWAytDdLBjsMB3ihMDTQD-q5guospUDFX1rr6Lo04QmuStbQU6Nk6lEGMppUBGicUxjg==) \[9\]. [csdn.net](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG1Ed9VcFl1kqb5GQSk7TLfcQLEh5PBmCrg8oc4HpNemb-Ugan2ppOpIN1pno6i9PccYNud3f-qDsnqDhax5DR32tyXl-LLYGQZooT5LZl63wi4xE_UZSf7tG5z1B5PxIU-sChGS7TJ55sZgPxIUObx9-Q=) \[10\]. [clickhelp.com](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQF16F8zEKT6ptRqgz_qpACZnPmGWqQtVlosAOhWR6oWZ5fZd5bw-lC7PWT4PjyQupHcCtWl6iA1QF1mN9p88gqmdOyWuZua47seTgTz5FfQg2R3dfTw59mT9h4l1hOkwRyvTo2vE6LLynyeIqRYYj54tNrXvXVHPyBQAMVvnh4Ov9ehBAKvBOfMy0vfLZRGxoWeNR_iLtiy8gjNGops9w==) \[11\]. [wikipedia.org](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH35BAXZ2BUR-EO-NSy2uSzXpS4lhmbSM3uZ78t6UfuTXmuX4D0TSzgaRArI_ZBv22jAHc0o7hUrZjhrO3Lg2bwevX-Szc40NL2lP9btc3KWGfqQIhz1Xhm01KYyBVb8j3jzaZqSqxXvWigpc78HquqtS7oTw==)