Vibe Coding 和 Spec Coding

9 阅读3分钟

Vibe Coding(氛围式编程) 是直觉驱动、快速原型的AI编程;Spec Coding(规格式编程) 是规范先行、工程化可控的AI编程。前者适合创意探索,后者适合生产级开发。


一、Vibe Coding(氛围式编程)

提出:2025年初由 Andrej Karpathy(OpenAI 联合创始人)提出。

核心理念:用自然语言描述意图,AI 直接生成可运行代码,开发者专注“做什么”,AI 负责“怎么做”。

核心特点

  • 自然语言驱动:模糊、口语化描述(如“做个好看的登录页”)
  • 快速迭代:即时生成、边跑边调,追求“先跑起来”
  • 低前期成本:无需写详细文档,直接进入实现
  • 探索性强:适合创意、原型、不确定需求场景

典型流程

  1. 用自然语言描述需求
  2. AI 生成代码
  3. 运行、看效果
  4. 反馈调整(改提示词)
  5. 重复直到符合预期

优势

  • 开发速度极快,原型效率高
  • 降低编程门槛,非专业也能参与
  • 创意自由度高,易出意外好方案

劣势

  • 代码“黑盒”,开发者可能不懂实现
  • 易出现 AI 幻觉、风格混乱、边界不清
  • 维护、调试、安全风险高(Vibe Coding 宿醉)
  • 不适合团队协作与生产环境

二、Spec Coding(规格式编程)

提出:2025 年下半年由亚马逊、OpenAI 等推动,解决 Vibe Coding 不可控问题。

核心理念:先写结构化、可验证的规格文档(Spec) ,AI 严格按 Spec 生成代码。

核心特点

  • 规范先行:先写完整 Spec(接口、字段、逻辑、约束)
  • 结构化输入:机器可解析、无歧义的契约式描述
  • 可验证性:每个实现点有明确验收标准
  • 工程化导向:强调可维护、可协作、可测试

典型流程

  1. 编写 Spec 文档(如 feature-spec.md

    1. 上下文、技术栈、依赖
    2. API 定义(路径、方法、参数、响应、错误码)
    3. 业务逻辑、边界条件、非功能要求
  2. AI 基于 Spec 生成代码

  3. 对照 Spec 做自动化/人工校验

  4. 修复偏差,确保完全符合规范

优势

  • 代码可控、质量高、幻觉少
  • 团队协作友好,Spec 是统一契约
  • 可复用、可维护、可测试、可审计
  • 适合生产级、核心业务、长期项目

劣势

  • 前期需投入写 Spec,速度慢于 Vibe
  • 对开发者要求更高,需懂架构与规范

三、核心对比(一眼分清)

对比项Vibe CodingSpec Coding
定位直觉/氛围/草稿式编程规范/蓝图/工程式编程
输入模糊自然语言、感觉描述结构化、可验证的 Spec 文档
开发者角色创意引导者、验收者架构师、规范制定者
代码可控性低,易失控、幻觉高,严格按约束生成
适用场景原型、探索、创意、个人项目生产、核心功能、团队协作
速度极快(先跑起来)前期慢、后期稳
维护成本高(黑盒难调试)低(有据可依)
代表工具Cursor、Replit Agent、GPT-4oAWS Kiro、GitHub Spec-kit

四、一句话总结

  • Vibe Coding:快、自由、探索,适合“从0到1”的原型与创意。
  • Spec Coding:稳、可控、工程化,适合“从1到N”的生产与协作。
  • 实际开发中,两者常结合:先用 Vibe 快速验证想法,再用 Spec 固化与工程化。