AI 时代之 Vibe Coding
预计阅读 6 分钟

AI 时代之 Vibe Coding

AI 时代程序员的转变

过去更注重编程细节以及如何实现,现在 AI 在实现上和细节上已经更好,现在程序员更看重以下两点:

  1. 实现什么:由认知和想象力决定,认知决定上限,AI 能写出优雅的代码但是不知道用户的痛点、业务的瓶颈,这些来自于对行业的理解、用户的洞察、技术的敏感度等等...
  2. 如何组合:由工程能力决定,过去工程能力体现在代码的细节实现上,现在体现在技术的组合架构上,需要理解每个组件的能力边界,知道如何把它们拼装成一个可靠的整体。

用自然语言来编程

什么是 Vibe Coding

Vibe Coding,直译感觉编程或氛围编程,它有两个核心特征:

  1. 用自然语言编程,无需学习编程语言直接用中文或英文与 AI 对话,描述需求,AI 就会产生代码。
  2. 为什么叫氛围或感觉,因为描述是模糊的、主观的、带情感色彩的。比如 “界面要简洁大气”,这些感觉而非精确指令,AI 都能理解并转换为代码。 编程的门槛正在从“精通语言”向“表达意图迁移”,过去必须掌握编程语言的每个细节,容不得一点模糊(比如变量声明、循环结构、条件判断、函数调用等等这些语法元素构建完整逻辑,即使少一个冒号都可能会让程序无法运行)。

而 Vibe Coding 不同,它的核心是 意图表达而非精确控制。无需告诉计算机每一步怎么做,而是用自然语言描述“想要什么”(What)和“期望的感觉”(Vibe)。AI 理解意图和氛围感,生成符合预期的代码。

传统编程和 Vibe Coding 对比:

传统编程中,开发者是翻译者把想法翻译成计算机能理解的代码,Vibe Coding 中,AI 承担了翻译者的角色,开发者只需清晰表达意图和期望的感觉。

Vibe Coding 为什么现在才出现

在以前,计算机听不懂人类的自然语言。现在大模型的出现改变了这一切。

大模型不仅能理解自然语言,还能捕捉其中的措辞差异推理出隐含意图。同时还具有强大的推理能力,可以进行 Step By Step 的逻辑推导,从高层次意图推导出具体实现方案。

这是传统编程方式无法做到的,而且当大模型遇到不确定选择时,还会主动询问,比如询问使用哪种数据库。

同时也不同于过去的低代码工具,低代码本质上是让用户在预定义组件去选择和组合,能力边界一开始就固定住了,而 Vibe Coding 则可以真正理解想要做什么然后自主生成实现方案。

Vibe Coding 的边界

Vibe Coding 最大的问题在于:它无法保证代码绝对正确,也无法保证自生成的测试程序能充分校验代码。它很难发现自己的逻辑漏洞。

根源在于 AI 的思维惯性,当 AI 按某种逻辑编写代码时,生成的测试用例会延续同样的思路,是一种恶性循环,可能在一些并发场景和边界情况才能发现问题所在。

也就是:Vibe Coding 改变了编程方式,但没有降低对开发者的要求。(精通语法 -> 理解架构、编写代码 -> 表达意图、质量把关)

总而言之,现如今开发者更需要注重对业务、架构的理解,才能更好的借助 AI 去实现产品以及构建测试方案和质量把关,AI 目前更多的来说只是助手,最终的质量把关仍然需要人来完成,不能过于信赖 AI。

Spec-Coding(Vibe Coding 的进化)

什么是 Spec-Coding

Spec-Coding 是 Vibe Coding 在大型项目中的进化形态。核心思想是:先用自然语言编写详细的设计文档,然后让 AI 基于这些文档生成代码。也就是增加了一个中间层:设计文档。

需求 -> AI 协助生成设计文档 -> AI 基于文档生成代码 -> 人工审核

为什么需要 Spec-Coding

当项目逐渐演进,纯 Vibe Coding 会遇到几个问题:

  • 上下文丢失:多轮对话中,AI 可能忘记之前的决策导致前后不一致。
  • 团队协作困难:不同开发者与 AI 的对话不一致、技术规范不统一。
  • 质量难以把控:没有明确的设计文档,代码审查缺少参照标准。
  • 迭代维护成本高:需要修改时,需要重新让 AI 理解整个项目。

Spec-Coding 通过设计文档解决了这些问题,文档充当 AI 的记忆、团队的契约、技术规范、审核标准等等。也体现出了其中的价值:文档是生成代码的必经之路。

从 Vibe 到 Spec

Spec-Coding 不是用来取代 Vibe Coding 的。他们经常被混合使用。

  • Vive Coding 适合快速原型和个人项目,需求变化快、频繁迭代。
  • Spec-Coding 适合中大型商业项目,多人协作需要统一规范,长期维护质量要求高。
  • 大多数情况会初期使用 Vibe Coding 快速验证想法,确定方向后转为 Spec-Coding 规范开发。

继续阅读

推荐阅读

技术2026年6月26日JDK1.8 新特性 · 知识卡片技术2026年6月26日JDK 1.8 新特性技术2026年6月3日实现多线程的方法是 1 种还是 2 种还是 4 种?实现多线程的方法是 1 种还是 2 种还是 4 种? 网上的说法 正确的说法 实现多线程的官方正确方法: 2 种。 Oracle 官网的文档说明 方法小结 方法一: 实现 Runnable 接口。 方法二: 继承 Thread 类。 代码示例 java package cn.xilikeli.threadcoreknowledge.createthreads; / <p 实现 Runnable 接
AI 时代之 Vibe Coding | 博击长空