从前,上帝说:“要有光”—于是就有了光。
现在你可以说:“要有这个应用程序”,这个应用程序将会在你面前出现,这一切都要归功于人工智能的魔力。这正是vibe coding所承诺的。
“我只是看东西、说东西、运行东西和复制粘贴东西,基本上都能成功,”OpenAI的联合创始人、前特斯拉人工智能主任Andrej Karpathy上个月在社交媒体上发推,描述他的新编程方法。
他解释说,与其细致地编写代码,不如直接与人工智能助手对话,让它来做繁重的工作。他将此称为“vibe coding”—所有的人工智能从业者都对此表示喜爱。
“Vibe coding”的迅速崛起
这一术语迅速找到了产品市场契合点,仅仅几周后,梅里亚姆-韦伯斯特词典就将“vibe coding”添加到其数据库中,定义为“在一定程度上不太严谨地编写计算机代码,借助人工智能的帮助”。到三月份,Y Combinator的首席执行官Garry Tan报告说,在加速器的2025年冬季创业批次中,“25%的批次中,95%的代码行是由大型语言模型(LLM)生成的。”
一些人认为这是技术的未来,任何人都可以使用自然语言将任何想法变为现实,并将编码的责任交给机器。另一些人则将这一趋势视为技术领域的即兴演奏,在这一过程中,人们从一个想法开始,让流程—以及与聊天机器人的互动—引导他们最终实现结果。
当然,批评者将这一趋势视为灾难的配方。“Vibe coding就像是买一个赛车的套件,雇一个‘对赛车略知一二’的醉酒叔叔为你组装这个套件,然后告诉你所有的朋友这是你自己做的,”一位Reddit用户说道。
从输入代码到与代码对话
在其核心,vibe coding涉及用普通语言告诉人工智能你想要构建的内容,然后让它生成实际的代码。开发者无需与语法搏斗或翻阅文档,只需说:“创建一个带有电子邮件验证和密码要求的登录表单,”然后看着人工智能处理实现细节。(这太简单了,甚至像我这样的外行也能做到。看看我是怎么做到的。)
vibe coding的方法颠覆了传统的软件开发。vibe coder们不再逐行编写代码,而是专注于高级指令,通过与人工智能助手的自然对话进行迭代改进。
“这是一种新的编码方式,你不再写一行代码,”技术教育者Matthew Berman指出。“你不阅读代码,你只是尝试使用它,看看它是否有效—如果没有,你就解释哪里出了问题……你不看差异,基本上只是随意发挥。”
“接受一切”心态
Karpathy称之为“接受一切”的心态。“我总是‘接受一切’,我不再查看差异,”他说,指的是他在没有仔细审查的情况下接受人工智能建议的代码更改。
这种方法—即信任人工智能编写可工作的代码,而开发者并不完全理解每一行—是将真正的vibe coding与单纯使用人工智能作为复杂助手区分开的关键。
在人工智能辅助编码中,用户依赖人工智能帮助他们编码,但他们调试错误并理解人工智能的做法。而人工智能仅仅是一个非常快速的打字员,完成任务。另一方面,vibe coder们不调试、不编码,也不知道—也不关心—底层发生了什么。他们所做的只是谈论、检查和再次谈论。
在纯粹的vibe coding会议中,提示者不会检查代码。他们只是指出错误以及对改进的想法,运行机器创建的内容后。应该修复一切并改进代码的,是机器,而不是人类。
将编码转变为创造性的流状态
除了技术方面,vibe coding还产生了自己独特的文化和美学。“vibe”一词并非偶然—它捕捉了从业者在编码会议中所带来的创造力、流畅性甚至游戏性的强调。
在TikTok和YouTube上,vibe coding的视频通常展示开发者在昏暗的灯光下使用RGB键盘,背景播放着柔和的氛围音乐,与他们的人工智能助手交谈。这个场景看起来与传统的软件工程截然不同。
这种将编码与轻松、创造性氛围结合的方式,使得编程看起来更加亲近和富有情感。Riley Brown,一位在LinkedIn上自称“高级vibe coder”的社交媒体影响者,现已全身心致力于传播这一趋势,他通过发布仅使用语音命令构建功能应用的视频,积累了超过一百万的粉丝。其他影响者如Matthew Berman、Nuno Maduro和The Primeagen也在YouTube和Twitch上分享他们的会议。
vibe coding的美学
这种美学强调编码可以是有趣和富有表现力的,而不是枯燥和技术性的。这与传统软件开发中强调精确性的文化形成了鲜明的对比。
几位知名科技人物为vibe coding代言,使这一概念在几个月内从小众话题跃升为主流讨论。
Andrej Karpathy的影响力不可小觑。他最初描述vibe coding工作流程的帖子获得了数千个赞,并引发了广泛的讨论。鉴于Karpathy在人工智能社区的声誉,他的支持为这一方法增添了显著的可信度。
风险投资公司Andreessen Horowitz的普通合伙人Andrew Chen也是这一趋势的另一位传播者。他将vibe coding形容为“聪明却极其令人沮丧”。“大多数代码将在时间充裕的人手中编写(生成),”他说。“因此,大多数代码将由孩子/学生而非软件工程师编写。这与视频、照片和其他社交媒体的趋势相同。”
AI改变编码的方式
Replit首席执行官Amjad Masad报告称,“75%的Replit客户从未写过一行代码”,这得益于人工智能功能——这一统计数据突显出vibe coding原则已经在改变谁能创建软件。
反对者的声音
但并非所有人都信服。许多开发者对vibe coding的潜在缺点表示严重担忧。
代码质量是主要的批评。vibe coding可能是对缺乏经验的人来说的一个好工具,但专家们认为它仍然不足以产生高质量的结果。著名独立游戏《Braid》的开发者Jonathan Blow在一次关于vibe coder Levelsio的热门辩论中对此趋势进行了评论,该辩论是在后者分享了一个完全在vibe coding会议上构建的飞行模拟器后引发的。“我这么说吧:如果你从未尝试过制作游戏,我相信制作游戏的体验是有趣的。对于那些已经制作过游戏的人来说,即使是简单的游戏,将东西放在屏幕上并不令人印象深刻,这很简单;制作一款好的游戏才是难事,”Jonathan Blow告诉vibe coder Pietier Levels(即Levelsio)。
安全漏洞的风险
安全漏洞是另一个重大风险。人工智能助手并不本质上理解特定应用程序的安全最佳实践。盲目接受人工智能生成的代码可能会引入安全漏洞,这些漏洞可能在被利用之前保持未被发现。“人工智能会编造错误。人工智能编写的代码几乎总是完全错误的,”Reddit用户Dw444在最近的一篇帖子中说道。“我的雇主为我们提供可以在工作中使用的人工智能助手,即使是最先进的模型也容易在一瞬间开始编写明显错误的代码。你真的不想在[生产环境]中使用人工智能代码。”
技能萎缩的担忧
还有人担心技能萎缩。如果开发者越来越依赖人工智能来处理甚至是中等的编码任务,他们的基础技能可能会随着时间的推移而退化。“易用性是一把双刃剑,”人工智能研究员Harry Law告诉《商业内幕》。 “初学者可以快速进步,但这可能会阻止他们学习系统架构或性能。”
当原始代码不是人类编写时,调试也可能变得特别棘手。正如Andrew Chen所指出的,尽管用人工智能完成项目的前75%可能是微不足道的,但之后进行细化和修复可能会变得极其困难。
总体而言,到目前为止,最佳的方法似乎是人工智能辅助编码。“可以说(vibe coding)并不主流,最初几次生成有用代码的尝试—在几分钟内—完全错误,”人工智能开发者Julian Harris在描述他与vibe coding的经历时写道。但他总结道:“我发现仔细提示结合良好的软件工程原则效果很好。凭借我的背景,我预计我手动编写所有内容的时间会是两倍,而老实说,可能会放弃。”