V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Acorns
V2EX  ›  程序员

从 Vibe Coding 到 Spec-Driven Development(SDD)——为什么工程级 AI 编程必须以规范为先

  •  
  •   Acorns · 14 小时 36 分钟前 · 346 次点击

    近两年“AI 帮我写代码”的口号让开发社区经历了一场体验革命:原来用自然语言就能生成一个可运行的模块;原来写一个 prompt 就能得到 UI 、API 、甚至测试样例。于是“vibe coding”应运而生:把开发变成一次与模型的即时对话,让创意和实现之间的距离极度压缩。

    但当我们把目光从“单人原型”拉回到“工程项目”、团队协作与长期可维护性时,vibe coding 的多项根本缺陷暴露无遗。与此同时,一类更系统、更工程化的范式——Specification-Driven Development ( SDD )——以更强的可控性、可验证性与可扩展性,正成为将 AI 编程推向工程级应用的必由之路。AWS 的 Kiro 是这方面最典型的实践之一,它明确把“规范”作为从原型到生产的桥梁。

    下面我从问题、对比、证据与实践建议四个层面展开,说明为什么工程级 AI 编程需要 SDD ,并阐述 Crevo 的实践视角。


    一、Vibe Coding 的魅力与核心缺陷(简述)

    魅力(为什么会流行)

    • 极低的门槛:自然语言即可产生可运行结果,快速得到反馈,适合快速验证想法( POC )。
    • 高速原型:在产品早期,用“vibe”能极快搭出可演示的原型,节省人力。

    核心缺陷(为什么不适合工程化)

    1. 语义漂移与不确定性:模型在理解模糊需求时会做大量假设,输出与团队意图常常不一致,难以保证边界条件与错误处理都被覆盖。
    2. 不可解释 / 可审计性差:vibe 输出往往是“黑盒”式的代码片段,缺少来源说明、设计决策与验收标准,团队难以审查与复盘。
    3. 知识固化风险:当代码和设计未同步成可机器理解的规范时,知识留存在人脑或散落在 PR 中,容易随着人员变动流失。
    4. 技术债与维护成本:短期内速度很快,但长期却可能产生大量隐性技术债,尤其在依赖模型自动生成的大型系统中尤甚。
    5. 协作冲突:多人成员各自与模型交互生成的代码,若无统一规则,会造成风格、接口、测试覆盖的碎片化。

    这些问题不是小的实现细节,而是对工程可持续性的核心威胁。现实世界的生产系统不能靠一次次“prompt 运气好”去维持稳定。


    二、什么是 Spec-Driven Development ( SDD )——核心价值

    SDD 的基本逻辑简单但深刻:将“规范( spec )”变成团队协作与自动化的中心事实源( single source of truth )。在 SDD 流程中,自然语言或产品需求不是直接驱动代码,而是先转为结构化、可验证、可执行的规范(包括需求、验收标准、接口契约、测试场景、设计要点等),随后由自动化 agent / 人类在这个规范之上产出代码、测试与部署。

    SDD 的关键收益:

    • 一致性与可验证性:实现可以与规范自动比对,测试直接以规范中的验收条件为准,从而显著降低误差。
    • 可审计与可追踪:每个实现点都有规范参照,变更有记录,便于回溯与合规检查。
    • 可复用与模块化:良好结构化的规范可以在多个项目间复用,提高工程效率。
    • 团队协作友好:规范作为沟通契约,设计、产品、工程、QA 等角色能够共享同一事实源,减少沟通成本。

    这些不是抽象理想,而是工程实践中对“可维护性、可扩展性、合规”的直接要求。dev.to 上对 SDD 的初步评估也指出:SDD 在短期会带来上游规范成本,但从长期看是能让 AI-assisted development 从“原型工具”变为“生产工具”的关键。


    三、亚马逊为什么把 SDD 作为解决之道

    AWS (及其生态中的工具,例如 Kiro )把 SDD 用作应对 vibe-driven 混乱的实战答案。Kiro 的做法值得我们关注,因为它把理念转成了工程化产品特性:

    • 从 prompt 到 spec:把自然语言 prompt 转化为 requirements.mddesign.md、tasks 等结构化文档,作为生成的基线。
    • agent 与 hooks:通过 agent 自动执行 task 、运行测试、更新 spec ,保持实现与规范的同步。
    • 审查与防护:支持用户在自动化操作前批准重要更改,避免模型盲目改动生产代码。
    • 可整合现有代码库:Kiro 能读取项目上下文,从已有代码中推断约束,提高生成质量。

    多家媒体和动手评测均指出:Kiro 之所以被快速接受,是因为它解决了 vibe coding 到工程化之间的断层——把“快速生成”与“工程质量”连接起来。Hands-on 的报道也明确提到:没有规范,AI 生成就很难扩展到生产环境; Kiro 通过规范驱动来解决这一点。

    简言之:Kiro 并不是反对生成,而是给生成插上规矩


    四、直面常见反驳:SDD 的“前期成本”是否不可接受?

    反驳 1:SDD 需要先写规范,会拖慢开发速度。

    • 回应:这是一个“短期投入、长期回报”的选择。正确的 SDD 并不是写大量死文档,而是借助工具把“规范生成”自动化,把前期的显性劳动转为一次性建模、并由机器维持同步。许多组织宁愿在早期多点投入,也不愿在生产后付出更高昂的维护成本。GitHub 与 AWS 推出的工具链也在朝“把规范写作自动化”方向发展,降低了这个成本门槛。

    反驳 2:模型误解规范怎么办?

    • 回应:这正是 SDD 要解决的点:不是把“理解”全部寄望给模型,而是把理解产出成可校验的规范单元(明确的验收标准、示例、边界测试),然后用自动化验证继续约束生成结果。由此形成闭环:意图 → 规范 → 生成 → 验证 → 修正。这比仅靠 prompt-trial 更可控。

    五、实践建议:如何把 SDD 引入现有工作流

    下面是对实际团队可直接采纳的步骤,目标是把“vibe coding 的速度”与“SDD 的工程质量”结合起来。

    1) 保留 Vibe 的入口,但把输出“立即结构化”

    • 允许开发者用自由自然语言或简短 prompt 快速生成原型;但工具(或平台)必须自动把这些对话产出转换为结构化规范草稿(带验收条件与示例)。如此,原型不会流于一次性产出,而能马上进入规范化闭环。Kiro 的做法就是这个范例。

    2) 强制“规范可验证单元”

    • 每条功能必须伴随至少一条可执行的验收测试或明确的边界用例。测试既是规范的一部分,也是模型生成结果的自动检验器。

    3) 采用轻量级 Spec 模板与迭代流程

    • 不要把规范做成厚重的文档;采用模块化模板(需求、接口契约、示例请求/响应、关键用例),并把它们纳入版本控制与变更审查流程。

    4) 建立同步机制:实现→规范 的双向同步

    • 实现变更应触发回写或标记规范差异的流程(例如通过 CI 校验或 agent hooks ),确保规范不是“写完就丢”的文档。Kiro 的 hook 模型与自动化 agent 是这一思路的实践。

    5) 赋予团队“审查机制”而非“全自动信任”

    • 在生产路径中保留人工审批节点(特别是关键模块、权限、数据访问等),以保证安全与合规。AI 做实现,团队审查做决策。

    六、Crevo 的设计立场

    Crevo 的目标是把“自然语言的便捷”与“工程规范的可控”结合起来。我们的设计哲学包含三点:

    1. 语言即入口,规范即中枢
      • 用户可以用自然语言启动设计与开发流程,但 Crevo 会把这些对话转成结构化、可验证的系统描述( PRD-style 智能草稿 + 接口契约 + 验收条件),把“随意的 prompt”变成可审查的工程事实。
    2. 规范是可执行的第一公民
      • 规范不只是文档;它是触发自动化生成、测试与部署的可执行对象。每次变更都要有可校验单元,规范驱动的生成才能变成可持续的工程实践。
    3. 渐进式采纳路径
      • 我们不要求团队一夜之间放弃现有工作方式。Crevo 支持“快速试探( vibe )→ 自动规范化 → 迭代上链”的渐进式流程,让团队在熟悉与信任中逐步采用 SDD-style 的工程实践。

    用更直白的话来说:Crevo 想做的是把“vibe 的速度”包装成“SDD 的可靠性”


    七、结论:为什么现在要重视 SDD

    • Vibe coding 是革命性的体验,但不是工程级最终态;若要把 AI 带入大规模生产系统,必须在生成过程里嵌入规范、验证与同步
    • SDD 为 AI 编程提供了工程语义、验证闭环和团队契约,是从“工具”跨越到“平台 / 流程”必不可少的步骤。Kiro 等产品正通过把规范作为核心来解决 vibe 带来的工程问题。
    • 对开发者与团队的建议是:既享受 Vibe 的速度,也别放弃规范——把规范做成一个被工具自动维护的“活资源”,而不是沉重的纸上说明。这样,AI 才能真正从“助理”进化为“工程伙伴”。

    试用 Crevo

    告别 Vibe 混乱,拥抱 SDD ,体验 AI 编程的正确方式。

    立即注册 Crevo ,使用优惠码( 30 天有效)3EUSTLMI,开启您的首个“规范驱动”项目,立享5 折优惠。


    参考/延伸阅读

    • Daniel Sogl,Spec Driven Development (SDD) — A initial review. dev.to
    • Kiro project / docs / blog — “The AI IDE for prototype to production”. 
    • Hands-on articles and reviews: Devclass, The New Stack 等对 Kiro 的评测报道,讨论 SDD 在工程化上的价值与挑战。
    • GitHub / Microsoft / AWS 关于 Spec-Driven 工具链与开源 kit 的文章,说明业界正在推出支持 SDD 的工具集。
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    ♥ Do have faith in what you're doing.