侧边栏壁纸
博主头像
牧云

怀璧慎显,博识谨言。

  • 累计撰写 201 篇文章
  • 累计创建 19 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

AI 编程的两条路径:Spec Coding 与 Vibe Coding

秋之牧云
2026-05-29 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

引言:AI 改变了编程,但方式不止一种

2025 年,AI 编程工具的爆发让"写代码"这件事发生了根本性变化。Cursor、Copilot、Windsurf 等工具让开发者可以用自然语言驱动代码生成,效率提升了数倍。但很快,社区分化出了两种截然不同的使用哲学——Vibe Coding(氛围编程)Spec Coding(规范编程)

它们代表的不仅是两种工具使用方式,更是两种对"人与 AI 协作"的根本态度。


什么是 Vibe Coding?

Vibe Coding 这个词由 OpenAI 联合创始人 Andrej Karpathy 在 2025 年 2 月提出。他在社交媒体上写道:

"有一种新的编程方式,我称之为 Vibe Coding。你完全沉浸在氛围中,拥抱指数级增长,忘掉代码的存在。"

Vibe Coding 的核心特征是:

  • 不读代码,只看结果。 开发者用自然语言描述需求,AI 生成代码,开发者只关心"能不能跑起来"。
  • 报错驱动开发。 遇到错误就把报错信息复制给 AI,让它自己修。循环往复,直到程序正常运行。
  • 快速出活,不求甚解。 追求的是速度和创意落地,而非代码质量和架构合理性。

这种方式有一种不可否认的魅力。一个周末,一个没有编程经验的产品经理可以做出一个可运行的 Web 应用;一个独立开发者可以在几小时内验证一个商业想法。Vibe Coding 把编程的门槛降到了前所未有的低点。

但问题也很明显:

  • 代码变成了"黑箱"。 没人真正理解代码在做什么,出了问题排查极其困难。
  • 技术债呈指数级积累。 AI 生成的代码往往充满冗余、不一致和隐藏的 Bug。
  • 难以协作和维护。 当项目超过一个人、一周的规模,Vibe Coding 产出的代码几乎不可接手。

正如一位工程师的调侃:"Vibe Coding 就像醉酒驾车——你确实在前进,但你不知道自己在哪条路上,也不知道会撞上什么。"


什么是 Spec Coding?

Spec Coding 是社区对 Vibe Coding 的一种"纠偏"回应。它的核心主张很简单:

在让 AI 写代码之前,先让人写清楚"要写什么"。

这里的"Spec"指的是规范文档(Specification),包括但不限于:

  • 需求规格: 要实现什么功能,边界条件是什么,用户故事怎么描述
  • 架构设计: 用什么技术栈,模块如何划分,数据如何流转
  • 接口契约: API 的输入输出、错误码、版本策略
  • 约束条件: 性能要求、安全红线、兼容性需求
  • 验收标准: 怎么算"做完了",测试用例是什么

Spec Coding 的工作流通常是这样的:

  1. 人写 Spec —— 用结构化的文档描述清楚要做什么、怎么做、做到什么程度
  2. AI 读 Spec 生成代码 —— AI 根据规范一步步实现,而非自由发挥
  3. 人审查代码 —— 对照 Spec 检查代码是否符合预期
  4. 迭代优化 —— 发现偏差时,更新 Spec 而非直接口头指挥 AI

这种方式的优势显而易见:

  • 可控性强。 人始终掌握架构决策权,AI 是执行者而非决策者。
  • 可维护性好。 Spec 本身就是文档,团队成员可以通过它理解系统设计。
  • 质量有保障。 明确的约束和验收标准让 AI 的输出更加可预测。
  • 适合团队协作。 不同成员可以并行编写不同模块的 Spec,然后各自让 AI 实现。

两种范式的本质区别

如果用一句话概括两者的区别:

Vibe Coding 是"对话式"的,Spec Coding 是"文档式"的。

维度Vibe CodingSpec Coding
人的角色提需求 + 验收结果架构师 + 审查者
AI 的角色全栈开发者按图施工的工程师
沟通方式口语化对话结构化文档
知识沉淀在聊天记录里(易丢失)在 Spec 文档里(可复用)
适用规模个人 / 原型 / < 1000 行团队 / 生产 / 任意规模
典型失败模式"能跑但没人敢改""文档写太久,不如直接写代码"

它们不是对立的

虽然社区讨论中常常把两者对立起来,但在实际开发中,最高效的方式往往是两者的结合

  • 探索阶段用 Vibe Coding。 当你还不确定需求、在试错和验证想法时,快速迭代比完美规范更重要。用 Vibe Coding 快速做出原型,验证可行性。
  • 落地阶段切 Spec Coding。 一旦方向确定,需要把原型变成生产级代码时,停下来写 Spec,让 AI 按规范重新实现。

这就像建筑行业:你不会先画图纸再去想盖什么房子,但你也不会不画图纸就开始盖楼。 草图阶段可以随意涂改,施工阶段必须严格按图。


对开发者意味着什么?

AI 编程时代,写代码的能力在贬值,但设计系统的能力在升值。

  • Vibe Coding 证明了:AI 已经能胜任"把想法变成代码"的工作。
  • Spec Coding 证明了:人的核心价值在于定义"正确的想法"——需求分析、架构设计、质量标准、权衡取舍。

无论你选择哪条路径,有一点是确定的:未来的优秀开发者,不是写代码最快的人,而是最善于定义问题、拆解系统、与 AI 高效协作的人。


结语

Vibe Coding 让编程变得平民化,Spec Coding 让 AI 编程变得工程化。两者共同描绘了一个正在到来的未来:人负责思考"做什么"和"为什么做",AI 负责解决"怎么做"。

编程的门槛降低了,但工程的门槛从未改变。

0

评论区