

Vibe coding(氛围编码)风靡全球。在人工智能时代,开发应用程序和编写代码从未如此简单。什么是氛围编程?到底什么是“氛围编程”?简单来说,它的核心理念是“完全投入到‘氛围’中,拥抱技术的指数级发展,并忘记代码的存在”。随着大型语言模型能力的飞速提升,开发者可以不再专注于代码本身,而是关注想要实现的功能和效果。Vibe Coding是一种全新的程式设计方式,开发者透过自然语言向AI描述需求,由AI自动生成程式码,其核心理念是“完全顺应感觉(vibes)、拥抱AI带来的进步,并忘记程式码本身的存在”。而这种开发方法,从根本上颠覆了科技业长久以来的观念:开发软体需要拥有高超coding技能的工程师。在几个月前,2025年2月6日,OpenAI的共同创始人之一,也曾在特斯拉担任AI和自动驾驶视觉总监的Andrej Karpathy,观察到一种新的程式撰写状态,在这种状态下,开发者不再关心程式码的细节,而是根据应用程式画面或功能需求,直接请AI修改。在 X 平台上,他发布了这一段话:

图丨 Andrej Karpathy 关于“氛围编程”的定义(来源:X)翻译过来就是:有一种新的编码方式,我称之为“氛围编码”,让你完全沉浸于氛围,拥抱指数级增长,甚至忘记代码的存在。之所以会出现这种情况,是因为大语言模型(例如 Cursor Composer 和 Sonnet)现在越来越厉害了。而且我只用 SuperWhisper 和 Composer 对话,几乎不用碰键盘。我会要求一些最蠢的要求,比如“把侧边栏的 padding 减半”,因为我懒得去找它。我总是“全部接受”,不再看代码差异了。收到错误信息时,我会直接复制粘贴,不加任何注释,通常这样就能解决问题。代码量超出了我通常的理解能力,我得仔细读上一段时间。有时大语言模型无法修复 bug,所以我只能绕过它,或者要求一些随机的修改,直到问题解决。对于周末临时项目来说,这还不算太糟,但仍然相当有趣。我正在构建一个项目或网络应用程序,但这并不是真正的编码 – 我只是看到一些东西,说一些东西,运行一些东西,复制粘贴一些东西,而且它大部分都有效。Karpathy将其称之为“氛围编程”(Vibe Coding),此后,Vibe Coding 被《纽约时报》、《Ars Technica》、《卫报》以及无数在线讨论所报道。从此风靡全球。
实际上,这个Vibe Coding 被翻译成“氛围编程”,还是有一些误解的。它似乎更应该翻译成“直觉性编程”:用户只需要用自然语言,向 AI 描述自己的“Vibe”——那种模糊的、直觉性的、关于“我想要什么”的感觉。AI 则像一个耐心且全能的助手,将这种感觉“翻译”成代码,并即时呈现结果。这个过程的重点,不再是“如何实现”的技术细节,而是“想要什么”的创意本身。从人工智能辅助编程,到氛围编程,我们应该得到的一个重要启示就是:“工具不再是权威,想法才是。”
麻省理工学院媒体实验室的人工智能安全研究员托宾·索斯表示,最有可能从“氛围编码”中受益的人群可以分为两类:一类是像Karpathy这样的人,他们已经掌握了良好的编程基础,并且知道如何在构建重要项目时,一旦出现严重问题也能修复错误;另一类则是几乎没有编程经验的完全业余人士。托宾·索斯说,“我会把‘氛围编码’定义为:你有一个自己无法实现的愿景,但人工智能可以实现它。”

Photo by ThisisEngineering on UnsplashVibe Coding 与 LLM Coding知名程序设计师西门·威利森(Simon Willison)指出,Vibe Coding时常被认为就是利用AI写程序代码(也就是LLM Coding),在西门·威利森看来,Vibe Coding与LLM Coding二者虽然都是利用AI辅助编程开发,但其实二者之间存在本质差异:1、核心理念不同Vibe Coding强调“完全顺应感觉”和“忘记代码”,开发者主要专注于创意和整体架构,而不需深入了解技术细节。相比之下,LLM Coding仍保持对编程代码本身的关注,开发者需具备基本的编程语言知识。2、开发者角色转变在Vibe Coding中,开发者成为AI的指导者或协作者,使用自然语言表达意。在LLM Coding中,开发者仍然参与审查和修改生成的代码,扮演更主动的角色。3、与程式码的互动方式Vibe Coding鼓励直接接受AI建议,通常不检查AI生成的程序代码变更(diffs),而是直接“全部接受”。正如Simon Willison所说:“如果LLM写了你所有的程序代码,但你已经审查、测试和理解了所有这些程序代码,那就不是vibe coding——只是使用LLM作为打字助手”。4、技术门槛差异Vibe Coding大幅降低了程序设计的门槛,使非程序设计师也能参与开发;而LLM Coding虽比传统编程简单,但使用者仍受益于具备一定编程知识。5、主要工具差异Vibe Coding常使用专门设计的工具,如Cursor AI的Composer、Claude的Sonnet模型和Superwhisper等;而LLM Coding主要使用GitHub Copilot、Code Llama和StarCoder等工具。

关于氛围编程的争论
柯林斯是新兴人工智能平台初创公司Woz的联合创始人兼首席执行官。最近,在接受The New Stack采访时,柯林斯说道:“大家都很兴奋,觉得几分钟就能从一个简单的提示变成一个可用的原型,”“但现实很快就来了。你面对的是一团糟的代码、安全漏洞,而且根本无法维护。”
氛围编程之所以引人注目,是因为它充满乐趣、叛逆且解放思想。
九个月过去了,氛围编程最初的光环已然褪去,但其影响依然存在。氛围编程的蜜月期结束了,我们已经看到了它的优点和缺点,我们从中得到的教训并非要抛弃氛围编码,而是要停止将其奉为万能的哲学。技术的“技术性”正在被逐渐隐藏在流畅的自然语言交互之下,人类的创造力正在从繁琐的实现过程中解放出来。




