一、概述
在 AI 辅助编程时代,出现了两种截然不同的开发范式:
- Vibe Coding(氛围编程):以自然语言模糊描述驱动 AI 快速生成代码的原型化范式
- Spec Coding(规格说明编码):先产出结构化、零歧义的规格文档再让 AI 生成代码的工程化范式
二者核心差异体现在输入精度、开发流程、代码质量与适用场景上。
二、基本概念对比
| 维度 | Vibe Coding | Spec Coding |
|---|---|---|
| 提出背景 | Andrej Karpathy 于 2025 年初提出,适配早期 AI 快速原型场景 | 2025 年下半年由亚马逊、OpenAI 等推动,解决 AI 代码不可维护问题 |
| 核心输入 | 自然语言模糊描述('感觉/氛围'),如"做个好看的用户登录页" | 结构化、可解析的规格文档(Spec),含接口、字段、逻辑约束等 |
| 开发者角色 | 创意引导者,边聊边改,聚焦"做什么"的灵感表达 | 蓝图设计者,先定义约束与边界,再让 AI 执行"怎么做" |
| 核心目标 | 快速验证想法,缩短从概念到原型的时间 | 保障代码质量、可维护性与团队协作,支撑规模化落地 |
三、开发流程对比
3.1 Vibe Coding 流程
核心特点:对话式迭代,快速原型
- 用自然语言描述模糊需求(如"写个 React Todo 应用")
- AI 生成代码后,开发者通过对话式反馈迭代调整(如"按钮颜色改蓝色")
- 快速得到可运行原型,但缺乏全局设计与规范约束
优势:
- 速度快
- 门槛低
- 适合探索性场景
劣势:
- 易产生"幻觉代码"
- 风格混乱
- 维护成本高
3.2 Spec Coding 流程
核心特点:规范驱动,质量优先
- 编写结构化规格文档(如
feature-spec.md),明确上下文、接口、字段、鉴权规则、组件规范等 - AI 基于 Spec 生成符合约束的代码,输出一致且可追溯
- 可复用 Spec 模板,积累规范体系,支持团队协作与大规模项目
优势:
- 减少幻觉
- 代码质量稳定
- 可维护性强
劣势:
- 前期投入高
- 需掌握规范编写技能
四、全方位特性对比
五、实际应用案例
5.1 Vibe Coding 典型用例
场景:"帮我写一个 Python 脚本,爬取某网站的新闻标题并保存到 CSV" 过程:
- AI 直接生成代码
- 开发者根据运行结果调整字段或格式

