SDD 规范驱动开发 AI 编程简单实践后,我找到了它的使用场景

什么是 SDD 规范驱动开发?

SDD(Specification-Driven Development )规范驱动开发,看名字虽然高大上,但其实就是很多互联网公司一直在运行的工作流程,先明确需求,形成规范文档,然后开发根据文档来设计和开发,测试根据文档来写测试用例。

SDD 其强调了需求文档的重要性,所有的后继任务都需要跟需求文档对齐。

重提SDD,是因为现在的大语言模型 AI 编程,同样也出现了需求不明确,带来了结果不符合预期的问题。

规范驱动开发尝鲜工具:Kiro / Comate

如果想快速尝试一下,可以使用亚马逊推出的 AI 编程IDE Kiro 实现,他自身就带了 Spec 开发。国内的百度 Comate 也有跟进,也可看看是否可以白嫖。

安装之后,主界面区分了 Vibe 和 Spec 两种开发模式。

Comate 的 Spec Mode,目前还是 Beta 阶段。

需求澄清

使用方法很简单,切换到 Spec Mode 之后,输入需求即可。

稍等片刻,AI 就会提供一份需求文档。

它拆分需求非常详细,算是优秀的需求文档了。但是这个文档也不是纯粹的自然语言,验收标准里面有一些条件语句:WHEN、THEN、SHALL 等等,是用来强制对齐验收结果的。

详细设计与拆分任务

上文图中看到,需求文档几乎没有任何技术相关的内容。

需求澄清完成之后,确认进入下一步设计。这时候才会出现很多技术选型需要做的内容。

设计也没问题,那就来到最后一步,AI会生成详细的执行清单。

Kiro厉害的地方在于可以单独选择任意一个任务执行。

Spec Mode 与 Plan Agent 的不同

文档定义不同

上次测试了各大组件 IDE 的 Plan Agent。

这些 IDE 都有 Plan Agent,但是并没有完整的需求文档书写的过程,写出来的文档更多是设计文档和执行任务的结合体。

国产AI编程IDE的Plan模式,对比Cursor差别在哪?

Kiro里面的设计文档有很多流程图、类型定义、数据库实例等内容,真的像一个高级程序员在动手前写的详细设计文档,看了都想点个赞。

即使是上次测试文档能力最强的 CodeBuddy 生成的内容,数据库等都是寥寥几句,写的很概要,在对比之下就显得业余很多了。

任务与文档关联性

上次的测试中发现,除了 Cursor 之外,其他 IDE 的最后拆分的任务,和开发计划写好的内容关联比较弱,出现两者不一致的情况反而是常态。开发过程中,每一步都有偏差,那最后产出就很难如你期望的那样了。

但在上文图中可以看到,Kiro 的设计文档和任务列表中,都明确标记了具体关联的需求,三个文档关联性是很强的。

任务拆分合理性

Plan Agent 常常会因为上下文过长,导致中断。

相对而言,SDD 拆分任务之后,不少任务都是可以独立执行的,如果当前任务有前置任务,在前置任务执行之前,当前任务是无法执行的。用户也可以选择单次执行1个或多个任务。

所以,流程变得可控了。即使如遇到中断,对整体影响更小。

什么时候使用 SDD?

回答这个问题之前,先明确一个事情:Spec Mode无法提升大模型本身的能力。而是让在其约束下的大模型生成的内容,更符合我们的需求。比如:如果大模型本身处理后端数据库的能力不行,通过 Spec Mode 也无法获得好的数据库设计。

目前来说,对程序员而言,如果你需要详细设计,那就需要SDD。 所以,一般的小需求用 Plan Agent 或者直接生成,复杂的需求使用 Spec Mode 开发。

另外,如果仅仅是前端开发的项目,大部分时候不需要使用 SDD。

这是因为前端技术通常更侧重于交互和视觉效果,许多需求可以通过组件库或现成框架快速实现,而数据会通过后端 API 约束。唯一涉及的时候,可能就是状态管理了。

同样,在目前大公司成熟的开发团队中,也不太可能频繁用到 SDD。

这些团队往往成员之间分工明确,需求到达程序员手里是,已经不需要澄清需求了,还有很多业务也趋于稳定了,不常常需要更改数据库设计等核心内容。

但是,要提醒的是:如果 AI 编程发展顺利,很多程序员会承担一定的产品的角色。如果真的如此,SDD 工具能帮你来快速适应角色的转换,更好地产出符合需求的产品。

因此,了解 SDD 还是很有必要的。

更通用的方案

Kiro 和 Comate 这种把 Spec Mode 融入了 IDE,好是好,但是如果不用这两个 IDE ,有没有类似的方法执行 SDD?

有的,目前正在尝试 3个开源工具:

感兴趣的,可以一起研究下。

相关的测试内容,后续会继续在此号发布。欢迎关注。

相关推荐
土豆12503 小时前
MiniMax M2 Coding Plan + Claude Code:打造你的低成本高效率AI编程搭档
ai编程·claude
Francek Chen5 小时前
【飞算JavaAI】智能开发助手赋能Java领域,飞算JavaAI全方位解析
java·开发语言·人工智能·ai编程·飞算
菠菠萝宝9 小时前
从传统后端到AI智能驱动:Java + AI 生态深度实战技术总结
java·人工智能·ai·llm·知识图谱·ai编程·rag
paopao_wu11 小时前
AI编程工具-Trae: SOLO模式
人工智能·ai编程·trae
熊猫钓鱼>_>13 小时前
CodeBuddy接入GLM4.6:新一代AI编程助手的能力革命与性能突破
ai编程
前端程序猿之路14 小时前
AI大模型应用开发之容器化部署
人工智能·python·语言模型·云原生·eureka·ai编程·改行学it
不老刘15 小时前
Windows 下在 Droid CLI 中使用 GLM-4.7
ai编程·claude·droid
深圳佛手16 小时前
国内外开源与闭源大模型清单
语言模型·ai编程
泯泷1 天前
从"手艺人"到"超级个体":我在小破站用AI重构工作方式的2025
aigc·openai·ai编程