吴恩达规范驱动开发课程 2. 为什么要采用规范驱动开发

全文翻译

听到生成式编码,你可能会想到随性提示词编码(Vibe Coding)。我们对比一下这两种方式,看看Spec Driven Development如何通过回归软件工程思想,拿到更好的开发结果。

随性编码上手很快:你写一段提示词描述需求,比如“帮我创建一个按钮”,然后等待AI输出。你查看结果,效果大概接近,但一些关键细节不对。于是你向AI指出错误,AI反复重试,一直到你满意为止。
最终你会和AI产生一大段对话,而这些对话历史甚至不会被保存。这种方式做个按钮这类小功能尚可,但放到大型持续迭代项目就不行了。虽然高层提示词开发速度快,但产出的代码一次性、不可复用,技术债会不断累积。

我们需要软件工程:维护一份完善的规范文档,产出可长期留存的技术产物。
Spec Driven Development是针对无约束AI开发乱象的专业解决方案。这是一种范式转变:规范文档定义“做什么、为什么做”,和代码实现“怎么做”相互解耦
有了规范,相当于建立一份人和AI智能代理之间的契约。作为开发者,你的核心任务发生转变:学会把你的想法,转化为清晰的规范文档。

规范文档(Spec)有三大核心优势:

  1. 少量修改规范,就能管控大规模代码变更。只需要在规范里写几句话描述应用的界面风格,就能自动转化成几百行CSS。这种基于规范的开发方式,降低使用高速AI编码工具带来的认知负担。
  2. 解决上下文丢失问题。上下文丢失是多轮AI会话失效的核心痛点。你和编码代理协作时,AI的上下文窗口很容易被占满,内存过载就更容易出错。而规范文档可以跨会话、跨代理持久保存,把AI锚定在代码库开发、功能实现所必需的核心上下文里。
  3. 提升需求匹配度(意图保真):AI生成代码更贴合你的目标。因为写规范的过程,要求你在AI开始写代码之前,就定义好问题、验收标准、约束条件、用户流程等等。

规范文档,就是区分“随性编码、凑合能用”和“工程化交付可落地软件产品”的分水岭。不管是从零新建项目,还是在已经运行多年的老项目里落地这套方案,规范文档都能解决需求偏移、开发效率低下的问题。

可以类比编译器:编译器把可读源代码翻译成机器码。
STD(Spec Driven Development,规范驱动开发)引导AI代理,把规范融入源码。更棒的是,规范使用人类自然语言编写,方便项目所有相关人员看懂。

最近,规范驱动开发兴起,用来解决大家对开发效率的顾虑。围绕Specularity已经诞生了不少STD项目与工具,Hopper也有相关分享。
这是一场更大趋势的一部分:把传统软件开发生命周期积累的工程经验,引入生成式编码领域。

Spectrum In Development配合编码智能代理使用,而不是普通聊天机器人。
聊天机器人可以聊代码,但无法访问你的项目代码,也不能调用你本地安装的开发工具,只能单纯回复文字。
编码代理不一样:接收你的提示,制定开发计划,全程自主推理并推进直到产出结果。最重要的一点:编码代理可以访问你的代码库和开发环境。

在STD工作流中,我们把编码代理看作能力强大的结对程序员:它提供技术能力、实现蓝图。
课程后面学习请记住:AI代理是执行的肌肉,而规范文档 Spec 才是大脑。多加练习,你就能保证最终产出的软件不仅可以运行,还能契合你的长期项目目标。


精简笔记

概念对比

  1. Vibe Coding(随性提示词编码)
  • ✅ 优点:上手快,写提示词直接生成代码
  • ❌ 缺点:对话记录不持久;适合小功能,大型项目会堆积技术债;一次性代码,难以维护
  1. STD 规范驱动开发 / Spectrum In Development
  • 核心思想:Spec规范文档(做什么+为什么)与代码实现(怎么做)解耦,规范是人和AI代理之间的契约。

Spec规范三大优势

  1. 改少量规范文本,即可驱动大规模代码改动,降低认知负担
  2. 文档持久化,跨会话保存,解决AI上下文窗口溢出、信息丢失问题
  3. 强制提前定义:问题、验收标准、约束、用户流程;AI代码更贴合真实需求

编码代理 vs 普通ChatBot

  • Chatbot:只能聊代码,不能读取本地代码库、调用开发工具
  • AI编码代理:可读代码库、调用工具、自主规划推理;作为结对程序员执行开发

核心金句

AI代理是肌肉(执行代码),规范文档 Spec 是大脑(定义需求)。

posted @ 2026-09-17 00:36  Zeng曾  阅读(5)  评论(0)    收藏  举报