SDD,规范驱动开发,“先想清楚、再动手写代码”的开发模式
SDD(Specification-Driven Development,规范驱动开发),简单来说就是一种“先想清楚、再动手写代码”的开发模式。
在传统的AI编程中,你给AI一个模糊的需求,AI直接生成代码,经常需要反复修改。而SDD的核心思想是:让AI在写代码之前,先输出一份详细的设计方案(规范),你确认无误后,AI再严格按照方案生成代码。
MonkeyCode 是这种模式的典型代表,它的工作流通常分为两步:
-
生成规范(Specification Generation):你输入需求(比如“做一个待办事项App”),AI不会直接写代码,而是先生成一份详细的设计文档,包含:
-
技术栈:使用什么框架、数据库。
-
数据模型:数据库表结构设计。
-
API接口:前后端交互的具体接口定义。
-
UI结构:页面布局和组件拆分。
-
核心逻辑:关键功能的实现步骤。
-
-
代码生成(Code Generation):你审阅这份规范,修改不满意的地方。确认后,AI会“锁定”这个方案,并严格按照规范生成完整的、可运行的代码。
SDD模式有什么好处?
-
减少返工:传统AI可能直接写错方向,而SDD让你在早期就能纠正设计偏差,避免生成一堆没用的代码后再重来。
-
提升代码质量:规范是连贯的“蓝图”,AI据此生成的代码,其模块结构和逻辑一致性会更好。
-
便于团队协作:生成的规范文档本身就是现成的技术文档,方便团队成员理解和接手。
SDD与其他模式有何不同?
为了帮你更好地区分,我们可以这样理解三种主流模式:
-
Chat模式(问答):你问一句,AI答一句。上下文短,适合查函数用法或写小片段。
-
Agent模式(自主执行):你给一个目标,AI自主拆解任务、调用工具、读写文件,直到完成。Claude Code、TRAE的SOLO模式都属于此类,边做边改。
-
SDD模式(规范驱动):属于Agent模式的一个特化分支,但它强制要求“先设计后编码”,把“思考”和“执行”两个阶段明确分开。
举个例子
假设你要开发一个博客系统:
-
普通Agent模式:AI直接开始写代码,可能先用Django,写到一半你发现想用Flask,它又得重写。
-
SDD模式:AI先问你:“我计划用Flask + SQLite,设计User和Article两张表,API包括登录和文章增删改查,UI采用xx布局,你看可以吗?”你确认后,它再一次性生成全部代码。
总结:SDD模式的核心价值在于“共识”,它在AI的“执行力”之前,加了一道“设计确认”的保险,适合需求明确、追求项目长期可维护性的开发场景。
浙公网安备 33010602011771号