这个由前 OpenAI 研究员 Andrej Karpathy 在今年 2 月提出的概念——“Vibe Coding”,如今正在硅谷乃至更广泛的技术圈中持续走红。
据硅谷知名创业孵化器 Y Combinator (YC) 的最新消息显示,在 2025 年冬季(W25)这一批 YC 创业公司中,有四分之一的初创团队表示其 95% 的代码都是 AI 生成的。YC 管理合伙人 Jared Friedman 昨天在一档讨论 Vibe Coding 的播客节目中公开了这个数字。
值得一提的是,这些创始人并不缺乏技术背景,过去也能从零开始编写产品,“但如今,他们更愿意直接把绝大部分编码都交给 AI。”
YC CEO Garry Tan 在播客中更是直接指出:“Vibe Coding 不是一阵风潮,也不会消失;它是编码的主流方式,如果你不这么做,就可能被落在后面。”
过去一年里,许多专注 AI 辅助编程的初创公司(如 Bolt.new、Codeium、Cursor、Lovable、Magic)纷纷获得大额融资,也反映了市场对这一领域的强烈兴趣。
“我只是在看到什么就说什么,运行,复制粘贴,然后基本能跑起来。如果发生错误,就把错误信息再塞给 AI,接受它的改动,试试看能不能行,然后反复这个流程。”这是 Karpathy 此前在帖子中对 vibe coding 过程的描述。
显然,vibe coding 与传统软件开发的最佳实践——如严格规划、测试和深入理解实现细节——截然不同。Karpathy 当时在帖子中也带着幽默的口吻承认,这种方式适合追求极致“懒人体验”的程序员——“我会提一些很简单的需求,比如‘把侧边栏的内边距缩小一半’,因为我懒得去找那段代码了。
我只管点 ‘全部接受’,都不再看 diff
。”
“
vibe coding 的方式对于那些有创意但编程能力不强的人帮助很大,对于有较强编程能力的人来说也是有效的。
”正马软件 CTO 沈凎近日在 InfoQ 的一场直播上提到,他最近在做一个研究项目,涉及到一个复杂的前端界面模拟。虽然他并非前端工程师,但通过 AI 工具,他只需简单描述,工具就能快速生成前端界面,如此一来,验证其他部分想法时就能更加高效。
“对于有一定工程素养的人来说,描述清楚后,AI 可以在半小时到一小时内完成整个界面的生成,这种方式对探索新事物和创意实现非常方便。”沈凎说道。
微软工程师 Peter Yang 最近也在一条 X 帖子中演示了 vibe coding 的应用。通过一系列对话式提示输入给 Cursor 和 Claude 3.7 Sonnet,做出了一个简单的 3D 第一人称射击丧尸游戏。Yang 还用了语音转文字应用,以便他能直接用口述来描述需求,并在不断迭代中完善原型。
无论如何,从本质上说,vibe coding 能让只具备基本沟通能力的人,至少在做一些小项目时,变成“用自然语言编程”的开发者。
不过,在当前的大模型里,能够一次性处理多少代码(即上下文大小)仍是限制之一,意味着使用 vibe coding 创作的项目规模有一定上限。如果项目太复杂,用户就需要主动扮演更高层的项目管理角色,将 AI 生成的代码片段拼装到更大的架构中。随着每一代 AI 大模型的技术限制逐渐放宽,这种束缚或许终有一天会消失。
在 vibe coding 所带来的高效与随性背后,也暗藏了调试和维护难度的坑。
当初创公司仅有数十或数百用户时,Vibe Coding 效率惊人。但如果产品迅速积累数百万乃至上亿用户,如何保证系统的稳定性就成了严峻挑战。
YC 的 Garry Tan 认为,到了那时候,如果 AI 不能很好地帮你调试,你还是要下到底层去看。你需要知道那些代码到底在干什么。他表示,
创始人如果希望产品能走得更远,就需要具备传统的编码训练背景。
YC 合伙人 Diana Hu 亦指出,目前很多大模型在系统调试能力上仍显不足。即使开发者或产品创造者高度依赖 AI,他们仍需具备一项重要技能:阅读代码并发现 bug。“你必须有足够的训练和对代码质量的判断力,知道大模型吐出来的是好东西还是坏东西。
要想做好 ‘vibe coding’,你依旧需要能分辨好坏的‘品味’与知识
。”
开发者 Ben South 在 X 上调侃 vibe coding 很有趣,可一旦需要“vibe debug“就是另一回事了
独立开发者兼 AI 研究者 Willison 最近在其博客中提到,如果 AI 编程工具出现“幻觉”并生成不存在的东西倒也没那么可怕,因为代码工具带有“内置事实核对”:如果有虚构的代码,运行就会报错。
但是,vibe coding 在专业环境中的风险回报比要复杂得多。个人或小规模项目可以容忍,然而对于企业来说,代码的可维护性与可靠性会有更高要求,而 vibe coding 生成的代码往往难以满足这些标准。
如果代码无法如预期般工作,要想修复就必须了解它在做什么——这正是 vibe coding 通常跳过的环节
。
谈到如何划定什么是真正的 vibe coding,Willison 做了一个重要区分:
“
如果你让 LLM 写了所有代码,但你还是对它进行了审阅、测试并理解了其原理,那并不算 vibe coding
——那其实只是把 LLM 当成一个打字助手。相反,vibe coding 是在没有充分理解代码如何工作的情况下就直接接受。”
尽管最初可能只是 Karpathy 的半开玩笑提法,vibe coding 却可能反映了一部分开发者思路的转变——他们更看重速度与实验,而不再执着于深入的技术理解。
Willison 还强调说,开发者还是必须为自己产出的代码承担责任:“我一直坚信,
作为开发者,你得为自己编出的代码负责
——如果你要署上自己的名字,那就得对它如何运行、为什么这样运行有把握,最好到能讲解给他人的程度。”
那么,vibe coding 会不会让人类程序员面临失业?从本质上说,编程始终是告诉计算机如何运行。具体的方法虽然一直在演变,但总有人在“精确指令”这件事上比别人更擅长——即便是借助自然语言。某种意义上,这些擅长与 AI 沟通的人,可能会成为新时代的“程序员”。
回顾历史,在 20 世纪 70 年代末到 80 年代初,很多专家曾预测,要想有效使用计算机,每个人都需要编程技能,因为当时几乎没有现成的软件可用。于是世界各地的教育体系都开始普及“计算机编码”课程。可没过多久,人们开发了足够多的应用软件,让非程序员也能轻松使用电脑——无需编程。即便如此,程序员也依然没有消失,他们反而借助这些应用去编写更庞大、更复杂的软件。或许, AI 编程工具也会经历同样的过程。
类似地,就像自动驾驶仪使超音速飞行更安全、更高效,AI 在编程领域也让人类可以“抽象掉”一些繁琐的手动编码环节,进而探索更复杂或更创新的软件体验。
可是,到那个时候,人类还能理解并调试那些由 AI 生成的大规模代码吗?也许不能。到时候,我们也许会对 AI 工具产生全面依赖。
至于 “vibe coding” 能否长期在编程领域占据一席之地,抑或只会停留在原型开发阶段,更多取决于组织在代码质量、可维护性和技术债上愿意承担多大风险,而不仅仅由 AI 模型的技术能力来决定。就目前来看,vibe coding 更像是 AI 与人类开发者之间又一次“既合作、又实验”的互动——或许还谈不上全自动,但的确逐渐模糊了“谁才是真正程序员”的界限。
参考链接:
https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated/
https://www.youtube.com/watch?v=IACHfKmZMr8
https://arstechnica.com/ai/2025/03/is-vibe-coding-with-ai-gnarly-or-reckless-maybe-some-of-both/
声明:本文为 AI前线整理,不代表平台观点,未经许可禁止转载。