从Vibe Coding到SDD:规范驱动开发如何拯救AI编程失控

从Vibe Coding到SDD:规范驱动开发如何拯救AI编程失控

别再让AI"猜"你的需求了,先写好文档再写代码。

你有没有过这样的经历?打开一个AI编程工具,输入一句"帮我做一个用户认证系统",看着AI哗哗哗生成几千行代码,跑起来好像没问题,心里美滋滋------"效率提升了10倍!" 可到了第二周,需求一变,改一个地方崩三个地方,AI开始"幻觉"式补全,你陷入无穷无尽的返工和自我怀疑。

这就是**Vibe Coding(氛围编程)**的典型陷阱。它让人上头,但后患无穷。今天,我想和你聊聊一种新的AI协作范式------SDD(Spec-Driven Development,规范驱动开发),以及如何用它来真正掌控AI,而不是被AI带着走。

一、Vibe Coding:效率神话背后的"技术债"陷阱

Vibe Coding是当下很火的一种编程方式------你给出模糊的意图,AI Agent(如Claude Code、Codex、Cursor等)直接生成大量代码。看起来很爽,但问题也接踵而至:

  • 上下文缺失:AI不知道你的项目背景、技术栈、已有代码风格,只能"猜"。
  • 会话历史丢失:聊着聊着窗口关了,之前的决策和理由全没了。
  • AI幻觉:AI会"自信"地生成不存在的API、错误的逻辑,甚至编造框架用法。
  • 返工成本:第一周确实快,第二周开始修修补补,第一个月陷入自我怀疑------"这代码到底能不能维护?"

本质问题是什么? 我们跳过了"想清楚"这一步,直接进入了"写出来"这一步。而AI再强,也读不懂你脑子里没说完的需求。

二、SDD:所有事物都该经历两次创造

Stephen Covey在《高效能人士的7个习惯》里提到一个经典观点:任何事情都要经过两次创造------第一次是心智上的创造(蓝图),第二次是物理上的创造(实施)。

SDD正是把这个理念搬到了AI编程中。

  • 第一次创造(心智):写文档------需求是什么?怎么实现?分几步走?
  • 第二次创造(物理):AI根据文档生成代码。

不画蓝图不盖房,不写文档不编码。

三、SDD的核心文档体系(按需加载,不硬堆)

SDD不是让你写几百页的"废话文档",而是精炼、可执行、可验证的意图表达。我把它拆成三份核心文档:

文档 作用 类比
proposal.md 需求调研与分析,明确"做什么" 产品经理的PRD雏形
design.md 技术架构与选型,明确"怎么做" 架构师的设计方案
task.md 任务拆解与执行顺序,明确"先做什么,后做什么" 项目经理的甘特图

这三份文档加在一起,就是AI的"完整上下文"。AI不再靠猜,而是照着规范执行。代码生成只是最后的"体力活"。

四、实战案例:一个浏览器插件项目的SDD实践

我们来结合一个真实项目------md-wx-chrome-extensions,一个一键提取英文网页核心内容、调用AI翻译并以Markdown格式输出的浏览器插件。

4.1 proposal.md:需求先行

我们不急着写代码,先问自己几个问题:

  • 用户是谁? 大网红、公众号作者、MD-WX用户。
  • 核心场景? 浏览英文网页时,一键提取核心内容,翻译,复制。
  • 核心难点? 如何"提取文章核心内容"?不是简单的全文抓取,要识别正文、去噪。
  • AI模型怎么配? 可配置,支持DeepSeek、Qwen等,兼容OpenAI格式。
  • 输出格式? 标准Markdown,一键复制。
  • 交互方式? 浏览器插件按钮,流式输出翻译结果。

4.2 design.md:技术选型与架构

  • 内容提取 :用ReadabilityAI辅助识别(通过LLM分析DOM结构)------这一步最难,建议和Claude Code多聊几次,验证可行性。
  • AI调用:统一用OpenAI兼容接口,便于切换模型。
  • Markdown渲染 :使用marked库(通用方案)。
  • UI:简洁按钮+流式输出布局。

4.3 task.md:任务拆解

  1. 创建项目和Git仓库(版本控制是底线)。
  2. 实现内容提取模块(先出MVP,只支持主流新闻类网站)。
  3. 实现AI调用模块(配置化API Key和模型名)。
  4. 实现Markdown渲染与复制功能。
  5. 完善UI与流式输出。
  6. 测试、打包、发布。

五、版本控制:AI生成代码的"后悔药"

AI再强也免不了犯错(幻觉)。所以版本控制不是可选项,是保命项。针对不同阶段的"翻车",我总结了快速回退三板斧:

场景 命令
工作区修改了,但还没add git restore .
已经add了,但还没commit git restore --stage . + git restore .
已经commit了 git reset --hard HEAD^

核心原则:AI生成的每一份可验收代码,都要即时提交。Vibe Coding不可追溯,SDD要求可追溯、可回退。

六、管理AI会话:别让上下文"失忆"

每次开启新对话,AI都会丢失之前的决策背景。所以:

  • 每一次关键决策,都要写进文档(proposal/design/task)。
  • 每个新会话,先把最新的文档贴进去,再让AI干活。
  • 别指望AI记住你上周说的某句话------它不会,你得帮它"存档"。

七、总结:SDD不是形式主义,是AI编程的"导航仪"

Vibe Coding像开盲盒------你永远不知道AI下一段代码会写出什么。而SDD像导航------先规划路线,再启动引擎,即使偏航也能快速纠正。

在AI生成代码成本趋近于零的时代,真正稀缺的是清晰、可执行、可验证的意图。而SDD,就是帮我们把意图"锁"在文档里,让AI成为忠实执行者,而不是猜谜者。


下次再打开AI编程工具时,不妨先问自己一句:

"我的蓝图画好了吗?"

如果这篇文章对你有帮助,欢迎点赞、评论、收藏,也欢迎在掘金和我交流更多AI编程实践。

相关推荐
蓝速科技2 小时前
蓝速科技桌面 AI 双屏翻译机:开放安卓系统商用价值解析
人工智能·科技
博、、2 小时前
社区家政平台开发实战指南:从需求分析到系统部署全流程解析
人工智能·数据挖掘·需求分析
Python私教2 小时前
别急着加 llms.txt:企业官网面向 AI 搜索的工程清单
前端·人工智能·seo
Tokenge2 小时前
AI 前沿日报|2026.08.19:模型安全按下减速键,智能体进入“可控落地”新阶段
人工智能·安全
东方小月2 小时前
从零开发一个 Coding Agent(十三):实现安全的 read 文件读取工具
前端·人工智能·全栈
stuartevil2 小时前
怎么用 AI 创意生图做汽车改装外观效果图?
人工智能·汽车
嗯哼python2 小时前
从 0 到 1 构建 AI 模拟面试系统:RAG + LangGraph 的工程实践
人工智能·面试·职场和发展
空堂与归2 小时前
分类问题怎么建模?用逻辑回归实现概率预测
人工智能·机器学习·分类·逻辑回归
VisualComponents3 小时前
SEJFO依托Visual Components仿真工具,实现自动化业务销售全面升级
人工智能·机器人·工业自动化·工厂仿真·机器人离线编程