OpenSpec实战:用SDD规范驱动开发驯服AI写代码

AI写代码不缺能力,缺的是把需求与修改"框"起来的规范层工程机制。
文章聚焦于AI辅助编程中普遍存在的失控问题——AI写得快、写得多,却容易遗忘约束、破坏既有结构,导致项目越到后期越混乱。作者认为问题根源不在于AI能力不足,而在于缺乏一套把需求、修改和交付成果"框住"的机制。规范驱动开发(SDD)及其代表工具OpenSpec,正是为了填补这一空白:通过在人与AI工具之间插入规范层,将开发流程从"随聊随改"转变为"需求沉淀—修改追踪—完成归档"的可管理链路。文章还区分了轻量级OpenSpec与重量级SpecHit的适用场景,并提出核心理念:AI辅助开发的真正目标不是写得更多,而是写出来的东西能被管理、验收并真正交付。
AI写代码的真实困境:前30分钟开挂,后3小时救火
"前30分钟像开挂,后三个小时全在救火"——这句话精准描述了当下不少人用AI写代码的真实状态。让它改个页面,它顺手动了三处结构;让它补一个功能,它又自作主张加了一套逻辑。前面明明约定好的技术栈、接口规范、验收标准,几轮对话之后,模型就像从没见过一样。项目还没上线,需求、规范、代码就已经全乱套了。

问题的根源并不是AI不会写代码,恰恰相反,是它太会写、写得太快、太赶。真正缺失的,是一套机制——能把每一次需求、每一次修改、每一次完成的成果"框"起来。当所有上下文都依赖模型的"记忆"时,混乱就成了必然。这正是规范驱动开发(SDD,Spec-Driven Development)试图解决的核心矛盾。
OpenSpec到底解决什么问题
OpenSpec的定位很清晰:它不是"又一个AI编程工具",而是一层插在你和AI工具之间的规范层。换句话说,它不参与"写更多代码",而是负责让AI写出来的东西可追踪、可验证、可归档。

传统的"聊天室开发"模式下,需求散落在一段段对话里,改动全凭上下文记忆,一旦对话变长、项目变复杂,模型就开始遗忘约束、破坏既有结构。OpenSpec的思路是把开发流程从"随聊随改"转变为"规范先行":需求先沉淀成文档,修改基于规范执行,完成后再归档。这样一来,AI的每一步动作都有据可依,而不是靠模型自由发挥。
对于已经能用AI写Demo、但一遇到复杂项目就失控的开发者来说,这一层恰恰是最关键的补强。
规范驱动开发(Spec-Driven Development,SDD)是一种将"规范文档"置于开发流程核心的工程方法论。其基本主张是:在动手写代码之前,先把需求、接口契约、技术约束、验收标准等内容以结构化形式固定下来,后续所有代码生成和修改都必须对应到具体的规范条目。这与测试驱动开发(TDD)有相似之处——TDD用测试约束实现,SDD则用规范约束整个开发过程,包括AI的生成行为。SDD并非新概念,早在软件工程领域就有"规格说明先行"的实践传统,但AI编程工具的普及使它重新变得迫切:当生成速度极快但缺乏记忆和自我约束的AI成为主力编码者时,外部规范层就成了保证项目一致性的关键基础设施。
从聊天室开发到规范驱动开发
规范驱动开发的核心,是让项目具备完整的生命周期管理。按照课程给出的链路,一个AI项目应当经历这样几个环节:
需求沉淀
把模糊的口头需求转化为结构化的规范文档,明确技术栈、接口约定和验收标准。这一步是后续所有工作的锚点。
修改追踪
每一次改动都不再是"顺手一改",而是对应到具体的规范条目。哪里改了、为什么改、改动是否符合约定,全程可查。

完成归档
功能交付后,成果被正式归档,成为项目历史的一部分。下次迭代时,规范和代码始终保持一致,不再依赖任何人(或模型)的记忆。
这套流程的价值在于,它把"AI写代码"这件本质上高度不确定的事情,变成了一套可管理的工程实践。
OpenSpec vs SpecHit:轻量与重量的取舍
课程中反复强调的一个实用问题是选型:什么时候用OpenSpec,什么时候用SpecHit?

两者的定位大致可以这样理解:
-
OpenSpec(轻量):适合个人项目、快速迭代、已有代码库的场景。当你需要给AI加一层规范约束,但又不想引入过重的流程负担时,OpenSpec就足够了。
-
SpecHit(重量):适合复杂项目、团队协作、需要完整交付链路的场景。当多人协作、交付要求严格时,更完整、更重的SpecHit能提供更强的管控能力。
简单说,选型的关键在于项目复杂度和协作规模:个人快速开发选轻量,团队正式交付选重量。这种"按需选择规范强度"的思路,比一刀切地追求最重的流程更务实。
在AI编程工具链中,"规范层"产品的出现填补了提示词工程与正式软件工程流程之间的空白地带。目前市场上类似定位的工具还包括Cursor Rules、GitHub Copilot的自定义指令、以及各类项目级上下文管理方案。这些工具的共同思路是:与其每次对话都重新向AI解释项目背景和约束,不如把这些约束持久化为可复用的结构化文档,让AI每次动作前都能"读到"一致的上下文。OpenSpec与SpecHit的轻重之分,本质上对应的是规范文档的覆盖深度和流程强制程度——轻量方案以最小摩擦引入规范意识,重量方案则提供更完整的交付链路和审计能力,适合有合规或多人协作要求的场景。
核心理念:不是让AI写得更多,而是写得能交付
整节课最值得记住的一句话是:"不是让AI写得更多,而是让AI写出来的东西能被管理、能被验收、能真正交付。"
这实际上代表了AI辅助开发正在发生的一次思路转变。早期大家关注的是"AI能不能写",如今随着模型能力的提升,问题已经变成"AI写的东西怎么管"。OpenSpec这类SDD工具的兴起,本质上是在补齐AI编程工程化的最后一块拼图——把不可控的生成过程,纳入可控的工程流程。
对于希望把AI真正用于生产项目、而非仅仅写写Demo的开发者,理解并实践规范驱动开发,可能比学会更多提示词技巧更有长期价值。
相关推荐

AI Agent 攻坚粒子物理:LEBRON 框架如何计算电弱相变
费米实验室研究员 Isaac Wang 分享 LEBRON 框架,用 AI Agent 计算宇宙早期电弱相变。文章解析大模型在严格科学计算中的四类失灵、auditor 审计机制,以及 AI 推进理论物理的机遇与障碍。

ComfyUI音乐工具包3.0:YuE2翻唱与ABC乐谱驱动的AI编曲
ComfyUI Music Production Toolkit 3.0发布,新增YuE2音频翻唱功能,通过SheetSage2转写ABC乐谱并由LLM改写提示词,实现结构感知的AI编曲。支持两种源模式,保留MiniMax Music 3,开源可用。

Anthropic推出开发者认证考试:三级体系解读
Anthropic正在建立开发者认证体系,涵盖Developer Foundations、Architect Foundations与Professional三个层级。本文解读这套AI认证的定位、行业意义与从业者应对策略。