Vibe Coding(氛围式编程) 是直觉驱动、快速原型的AI编程;Spec Coding(规格式编程) 是规范先行、工程化可控的AI编程。前者适合创意探索,后者适合生产级开发。
一、Vibe Coding(氛围式编程)
提出:2025年初由 Andrej Karpathy(OpenAI 联合创始人)提出。
核心理念:用自然语言描述意图,AI 直接生成可运行代码,开发者专注“做什么”,AI 负责“怎么做”。
核心特点:
- 自然语言驱动:模糊、口语化描述(如“做个好看的登录页”)
- 快速迭代:即时生成、边跑边调,追求“先跑起来”
- 低前期成本:无需写详细文档,直接进入实现
- 探索性强:适合创意、原型、不确定需求场景
典型流程:
- 用自然语言描述需求
- AI 生成代码
- 运行、看效果
- 反馈调整(改提示词)
- 重复直到符合预期
优势:
- 开发速度极快,原型效率高
- 降低编程门槛,非专业也能参与
- 创意自由度高,易出意外好方案
劣势:
- 代码“黑盒”,开发者可能不懂实现
- 易出现 AI 幻觉、风格混乱、边界不清
- 维护、调试、安全风险高(Vibe Coding 宿醉)
- 不适合团队协作与生产环境
二、Spec Coding(规格式编程)
提出:2025 年下半年由亚马逊、OpenAI 等推动,解决 Vibe Coding 不可控问题。
核心理念:先写结构化、可验证的规格文档(Spec) ,AI 严格按 Spec 生成代码。
核心特点:
- 规范先行:先写完整 Spec(接口、字段、逻辑、约束)
- 结构化输入:机器可解析、无歧义的契约式描述
- 可验证性:每个实现点有明确验收标准
- 工程化导向:强调可维护、可协作、可测试
典型流程:
-
编写 Spec 文档(如
feature-spec.md)- 上下文、技术栈、依赖
- API 定义(路径、方法、参数、响应、错误码)
- 业务逻辑、边界条件、非功能要求
-
AI 基于 Spec 生成代码
-
对照 Spec 做自动化/人工校验
-
修复偏差,确保完全符合规范
优势:
- 代码可控、质量高、幻觉少
- 团队协作友好,Spec 是统一契约
- 可复用、可维护、可测试、可审计
- 适合生产级、核心业务、长期项目
劣势:
- 前期需投入写 Spec,速度慢于 Vibe
- 对开发者要求更高,需懂架构与规范
三、核心对比(一眼分清)
| 对比项 | Vibe Coding | Spec Coding |
|---|---|---|
| 定位 | 直觉/氛围/草稿式编程 | 规范/蓝图/工程式编程 |
| 输入 | 模糊自然语言、感觉描述 | 结构化、可验证的 Spec 文档 |
| 开发者角色 | 创意引导者、验收者 | 架构师、规范制定者 |
| 代码可控性 | 低,易失控、幻觉 | 高,严格按约束生成 |
| 适用场景 | 原型、探索、创意、个人项目 | 生产、核心功能、团队协作 |
| 速度 | 极快(先跑起来) | 前期慢、后期稳 |
| 维护成本 | 高(黑盒难调试) | 低(有据可依) |
| 代表工具 | Cursor、Replit Agent、GPT-4o | AWS Kiro、GitHub Spec-kit |
四、一句话总结
- Vibe Coding:快、自由、探索,适合“从0到1”的原型与创意。
- Spec Coding:稳、可控、工程化,适合“从1到N”的生产与协作。
- 实际开发中,两者常结合:先用 Vibe 快速验证想法,再用 Spec 固化与工程化。