Birgitta Böckeler在本文中深度解析了当前颇受关注的“Spec-Driven Development(SDD,规范驱动开发)”理念,结合最新三款SDD代表性工具——Kiro、spec-kit和Tessl,阐释了SDD在AI辅助编程领域的核心流程、不同工具实现思路及实际应用体验,并对方法论和工具面临的挑战进行了批判性反思。作者指出,SDD核心在于“先写规范再写代码”,让“规范”成为人与AI的协作基础和可信源。不同行业工具对SDD的实现层次和可持续性存在极大差异,现实应用中还需警惕流程繁复、控制感弱化等问题。最终,她强调,SDD理念很有前景,但工具和经验尚未成熟,需持续探索多种规模和类型项目的最佳实践。
Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl
SDD(Spec-Driven Development)作为AI编码和软件工程新潮流,强调在代码编写前应先行构建详细“规范”(spec),由规范来指导AI生成代码开发需求。作者梳理发现,现阶段SDD理念尚无统一定义,业界处于快速变化和语义扩散阶段。主要的实现层次分为:
Spec-first(规范优先):写好规范后,用于AI或人工协作开发,任务完成后,规范可能被弃用。
Spec-anchored(规范锚定):规范在任务后仍持续维护,用于功能演进和维护。
Spec-as-source(规范即源件):规范取代代码文件,开发和维护仅靠修改规范实现,人工不直接编辑代码。
作者指出,大多数SDD工具仅实现spec-first层级,真正做到规范长期锚定或完全替代源码的框架极为罕见,规范的维护策略也极少明确。
规范本身指以自然语言撰写、面向行为的结构化文档,用于表达软件功能、指导AI开发。规范的具体结构和粒度随工具不同而异,通常类似详细的产品需求文档。与规范不同的“内存库”(memory bank)包含对于整个项目和代码库始终相关的高层规则文件,如架构说明、设计理念等。规范仅针对单一功能或需求,而内存库则为所有AI开发环节提供背景知识。各工具通过划分“规范”与“内存库”文件,支持多层次开发上下文。
Kiro以轻量级流程见长,主要满足“规范优先”层级: