Vibe Coding + SDD(规范驱动开发),也许是新手入门AI编程最有效的方式

大家好,我是鲁工。

作者: AI编程实验室
分类:实用工具
62 次阅读

AI编程和Vibe Coding虽然降低了写代码的门槛,但从软件工程的角度而言,Vibe实际上是将软件开发的项目风险后置了。

Vibe Coding写代码确实很爽,几句自然语言就能生成看起来像模像样的代码,但交付到生产环境后,各种问题就开始暴露了。特别对于初学者和非专业的开发者而言,单靠Vibe就想做出生产级别的软件产品,难度可想而知。

最近,随着spec-kit、OpenSpec、Kiro等工具的涌现,一种叫规范驱动开发(Specification-Driven Development,SDD)的新范式突然火了起来。Vibe Coding + SDD,也许是初学者上手软件开发的最有效的方式。

Vibe Coding:快速但布满风险

Vibe Coding是今年AI圈内的流行术语,简单说就是:用自然语言描述你想要什么,让AI直接生成代码,最少程度的人工干预,直接运行看结果,有问题就继续让AI改,直到能跑通为止。主打一个沉浸式的氛围体验。

这个概念是Andrej Karpathy大佬在今年2月份提出的。确实,对很多人来说,Vibe这种方式简直太爽了。

image.png

Y Combinator的报告显示,在W25届的初创公司中,有25%的公司代码库95%都是AI生成的。想想看,零基础的产品经理都能"写"代码了,这在以前是难以想象的。

但问题也很明显。

Vibe出来的代码就像黑盒,你不知道它为什么这么写,设计决策是什么,验收什么的更是一笔糊涂账。短期内确实能够做出不错的demo,但从长期看却隐藏了大量风险。

这几个月下来,我自己Vibe Coding过几个原型项目,也上线了两个小项目,每个项目刚开始都很丝滑。但当项目复杂度上升,需求管理不清晰、以及需要团队协作时,问题就来了:代码结构混乱、逻辑不一致、难以review。

说白了,Vibe Coding适合快速验证想法,做做原型,但要上生产环境,对使用Vibe的人,有较高的专业经验要求。

SDD的核心理念:从代码优先到规范优先

SDD的核心理念其实很简单:把规范(Specification)变成整个开发过程的中心。

传统开发是先写代码,再补文档(当然很多时候文档都懒得补)。而SDD恰恰相反,先写清楚规范,包括需求、验收标准、接口契约、测试场景等,然后让这个规范直接驱动代码生成。

这里有个关键转变:从"code is the source of truth"(代码是真相之源)变成"intent is the source of truth"(意图是真相之源)。

OpenAI的Sean Grove最近说了一句话很有意思:

Specifications, not prompts or code, are becoming the fundamental unit of programming(规范,而不是提示词或代码,正在成为编程的基本单位)。

SDD的标准工作流程是这样的:

  • Write a Spec:定义清楚范围、意图和约束
  • Generate a Plan:让AI工具推导实现步骤
  • Execute with Agents:使用编排框架执行任务
  • Review and Test:根据规范验证输出

看起来多了几步,但每一步都是可控、可验证的。

SDD如何解决Vibe Coding的痛点

从我个人的实践来看,SDD主要在四个方面解决了Vibe Coding的问题。

第一是可控性提升。Vibe Coding生成的代码是黑盒,你不知道它会生成什么。但SDD不同,规范就是契约,AI必须按照规范来生成代码,每一步都有明确的验收标准。

其次是质量保证。GitHub官方数据显示,使用spec-kit的项目能达到95%或更高的首次实现准确率。相比之下,Vibe Coding基本就是能跑就行的水平。

然后是可维护性。SDD中的规范是活文档,随项目演进而更新,可以版本控制、可以审查、始终保持最新。架构决策、业务规则都显式记录下来了。团队新人接手项目时,看规范就能理解系统设计,不用再去猜测那些AI生成的代码到底想干什么。

最后是协作效率。清晰的功能规范让利益相关者能够早期介入。产品经理、设计师、测试人员都能看懂规范,提前发现问题,减少返工。

这比Vibe Coding那种先写了再说的方式靠谱多了。

工具生态快速成熟:spec-kit、OpenSpec、Kiro

SDD概念虽好,但没有工具支持也是空谈。好在最近几个月,SDD工具生态发展得很快。

spec-kit(GitHub官方)

项目地址:

https://github.com/github/spec-kit

spec-kit是GitHub官方出品的SDD工具,才发布两个月,已经迭代了30多个版本,并且在GitHub上狂揽45k star,可以说是SDD首选工具。

spec-kit最大特点是agent-agnostic,支持GitHub Copilot、Claude Code、Gemini CLI、Cursor等10多种主流AI编程工具。号称零基础5分钟就能开发完整应用。

spec-kit特别适合新项目,内置了TDD(测试驱动开发)和架构原则。不过目前还是实验阶段,功能变化比较快。

image.png

OpenSpec(轻量级方案)

项目地址:

https://github.com/Fission-AI/OpenSpec

如果你有现有项目要改造,OpenSpec可能更合适。

它把当前真相(openspec/specs/)和提议更新(openspec/changes/)分离,让差异管理更清晰。特别擅长处理跨多个规范的更新。

相比spec-kit和Kiro擅长从0到1,OpenSpec更适合从1到n的场景。

image.png

Kiro(AWS的IDE方案)


项目地址:

https://github.com/kirodotdev/Kiro

Kiro走的是另一条路,不是工具包,而是完整的IDE。

从头设计就围绕SDD工作流,把规范转换、计划生成、代理执行都深度集成了。如果你想要一体化的解决方案,Kiro值得关注。

三个工具各有侧重:spec-kit适合快速启动新项目,OpenSpec适合改造现有代码,Kiro适合追求深度集成的团队。后续我会针对三个工具做专门的测评文章。

image.png

SDD会是Vibe Coding的最佳帮手吗?

从目前的趋势看,特别是对于初学者而言,SDD确实很有可能是Vibe Coding的最佳帮手。

它特别适合三种场景:

  • 新项目:从一开始就用规范约束,确保AI构建的是你真正想要的东西
  • 遗留系统现代化:用现代规范捕获业务逻辑,无技术债重建
  • 迭代功能开发:有清晰规范指导的增量开发

当然,SDD也有自己的挑战。

最大的挑战不是AI,而是人。你得学会写好的规范,这是个新技能。

很多开发者习惯了直接写代码,现在要先写规范,思维方式需要转变。很多人不会写代码,做项目时Vibe了一大堆代码屎山,同时也不会写文档,用了SDD之后,结果又生成一大堆文档屎山。最后整个项目都是屎山。

所以,不管是Vibe还是SDD,个人还是要努力提升自己的软件工程专业素养。

写在最后

AI编程正在从能用走向好用,从快速原型走向工程交付。SDD的出现,让我们看到了这种转变的可能性。

如果你也在用AI编程工具,不妨试试spec-kit或者OpenSpec,体验一下规范驱动的开发方式。也许你会发现,写好规范比写好代码更重要。

毕竟在Vibe时代,编写规范可能会成为程序员的新核心竞争力。



本文由公众号“AI编程实验室”授权转载|     https://mp.weixin.qq.com/s/jYUQwds__nS2n7hXdW-aTw |(编辑:ZN)


61005dd238bab5ba18ca17b3b5c6c65.png

评论 (0)

登录后即可发表评论

No data
暂无评论,快来发表第一条评论吧!