Vibe Coding 是未来

cover

摘要

本期 Light Cone 节目中,Y Combinator 合伙人 Gary、Jared、Harj 和 Diana 深入探讨了 Vibe Coding(氛围编程)这一新兴现象。该术语源自 Andrej Karpathy 的病毒式推文——"有一种新的编程方式,我称之为 Vibe Coding,你完全顺从氛围,拥抱指数级增长,忘记代码的存在"。基于对当前 YC 批次创始人的系统调研,四位合伙人揭示了令人震惊的趋势:四分之一的创始人表示超过 95% 的代码由 AI 生成;工程师角色正在分化为产品工程师(重品味与用户洞察)和系统工程师(重架构与底层思维);Cursor 仍是主流 IDE 但 Windsurf 正快速追赶;Claude Sonnet 3.5 仍是主流模型但推理模型(o1、o3)正在崛起;AI 生成代码在调试方面仍然表现糟糕。节目还深入讨论了零到一(Zero to One)与一到 N(One to N)阶段的不同需求、经典训练在 AI 时代是否仍有价值、工程师招聘方式应该如何变革,以及 Picasso 类比——只有经过经典训练的画家才能突破到抽象艺术的巅峰。最终,四位合伙人一致认为 Vibe Coding 不是一阵风潮,而是编程的主导方式,不跟上的人可能被时代抛下。

正文

Vibe Coding 的起源与定义

节目开篇引用了 Andrej Karpathy 的病毒式推文:"有一种新的编程方式,我称之为 Vibe Coding,你完全顺从氛围(Vibes),拥抱指数级增长(Exponentials),忘记代码的存在。"这一概念引发了广泛关注,YC 合伙人决定对当前批次的创始人进行系统调研,了解他们对 Vibe Coding 的实际体验和看法。

创始人的真实声音

调研收到了大量引人注目的创始人引言:

两种角色的分化:产品工程师与系统工程师

调研揭示了一个清晰的趋势:工程师正在分化为两种角色,这恰好对应现有的前端/后端分野,但赋予了新的含义。

产品工程师(前端)的本质是成为产品经理(PM)——像民族志学者(Ethnographer)一样深入 GDP 中那些被忽视的角落,提取出用户真正想要什么,然后将其转化为代码。核心能力是品味(Taste)和用户洞察。

系统工程师(后端)的本质是基础设施和架构——解决深层技术问题、重构系统、确保可扩展性。核心能力是系统思维(Systems Thinking)和经典训练。

Diana 引用了 Triplebyte 的经验:在评估工程师时,存在一个基本的技术能力门槛,但越过门槛之后,区分优秀工程师的关键是"你到底想不想和用户交流"——有些工程师从用户反馈和迭代中获得动力,有些则觉得和用户打交道很烦人,只想解决硬核技术问题。

AI 在调试方面的致命弱点

调研中一个突出发现是:当前 AI 工具在调试(Debugging)方面表现极差。 人类仍然必须亲自调试——理解代码在做什么、定位 Bug、追踪代码路径、发现逻辑错误。目前似乎没有办法直接告诉 AI"去调试"。

Diana 指出,你必须像给初级软件工程师下指令一样,非常明确地、手把手地(Spoon Feed)给出指导,才能让 AI 完成调试工作。

Karpathy 式的替代策略则是拥抱氛围——直接忽略 Bug,让 AI 从头重写。Jared 解释说,当写代码的成本变得极其低廉时,编程风格会发生根本变化:人类通常不会因为一个 Bug 就把辛辛苦苦写的东西全部推倒重来——你会去修 Bug。但对于 LLM 来说,如果能在六秒内重写一千行代码,为什么不呢?这就像使用 MidJourney 或 Playground 生成图像——如果有不满意的瑕疵,有时候甚至不改提示词,直接点"重新生成"(Roll)五次,总有一次能用的。这与传统的系统构建方式完全不同——你不是在基础上一步步搭建,而是从潜在空间(Latent Space)中寻找不同的梯度,加入随机性重新生成。

不过 Jared 也指出,也许下一代模型(可能是 o5 级别)能够真正在已有代码基础上构建,而非每次从头重来。o3 在调试方面已经比 3.5 好得多,方向是明确的。

工具与模型的版图

IDE 竞争:
- Cursor 是当前的主力 IDE,从 2024 年夏天开始被大量 YC 创始人使用,目前仍是绝对领导者。
- Windsurf 是快速追随者(Fast Follower),正在成为 Cursor 的有力竞争。Jared 指出人们转向 Windsurf 的首要原因是:Cursor 目前需要用户告诉它代码库中该看哪些文件,而 Windsurf 会索引整个代码库并自主判断需要查看哪些文件。
- Devon 有被提及,但不适合严肃的功能开发——它不太理解代码库,主要用于小型功能,提及率很低。
- ChatGPT 仍被使用,主要为了利用推理模型(Reasoning Models)——创始人会将调试问题粘贴到 ChatGPT 中,使用更强大的推理模型来解决。目前 Cursor 和 Windsurf 还处于"旧世界"(即推理模型之前的时代),尚未集成测试时计算(Test-Time Compute)。
- 部分创始人选择自托管(Self-Hosted)模型,因为拥有更关键的敏感知识产权。

模型竞争:
- Claude Sonnet 3.5 仍是主流编码模型,但地位正在被挑战。
- o1、o1 Pro、o3 等推理模型正在快速追赶,几乎与 Sonnet 3.5 并驾齐驱。
- GPT-4 几乎无人使用。
- DeepSeek R1 被提及,已成为可行的竞争者。
- Gemini 很少被提及,但有创始人利用其超长上下文窗口(Long Context Window)将整个代码库放入上下文中,直接要求修复 Bug——虽然不总是成功,但有时可以一步到位。随着新推理模型的发布和更长上下文窗口的结合,这可能成为强劲竞争者。

令人震惊的代码生成比例

调研中最惊人的数据:四分之一的创始人表示超过 95% 的代码库由 AI 生成。 这里指的是代码库中实际字符的比例(不包括导入的库),即有多少是人工手写、多少是 LLM 输出的。

Gary 强调,这并非是因为 YC 投资了一批非技术创始人——这些人每一个都具备高度技术能力,完全可以从零开始构建产品。一年前他们确实会自己构建,但现在 95% 由 AI 完成。

AI 编程原住民的崛起

Gary 提到他本批次最好的公司之一就是典型案例:创始人拥有极其技术化的头脑,但没有接受过传统的计算机科学和编程训练,却极其高效地产出大量优秀产品,AI 编写了几乎全部代码。

这让人联想到"数字原住民"(Digital Native)的讨论——这是第一代伴随着 AI 编程工具长大的"AI 编程原住民"(AI Coding Native)。他们跳过了软件工程师的经典训练,直接用"氛围"编程。但他们实际上非常有技术思维——拥有数学和物理学位,具备系统思维(Systems Thinking)的头脑。

Jared 指出,Vibe Coding 将使来自数学、物理等其它技术学科的人能够比过去快得多地成为高效程序员。以前编程训练营试图将物理学者重新培训成程序员,效果不佳,因为学习所有语法和库需要太长时间。但现在是新世界了。

零到一 vs 一到 N

Harj 提出了一个关键区分:零到一(Zero to One)阶段,速度是唯一重要的事情;但到了一到 N 阶段,架构问题就来了。

Gary 以 Ruby on Rails 的 Active Record 为例——这场争论实际上打成平手:使用 Rails 确实可以极快地从零到一,但 Twitter 后来变成了"失败鲸"(Fail Whale),因为一旦达到规模,那种架构无法支撑十亿或百亿级别的估值和用户量。

Jared 补充了 Facebook 的例子——他们用 PHP 这种"糟糕的语言"快速交付功能,但最终成为瓶颈,不得不雇佣硬核系统人员构建自定义编译器 HipHop,让代码在裸金属上快速运行。做这种事的人不是 Vibe Coding 的人,而是硬核系统工程师。

核心结论:Vibe Coding 非常适合零到一阶段,创始人可以极快地交付功能;但一旦达到产品市场契合,仍然需要大量硬核系统工程来实现从一到 N 的跨越,需要雇佣完全不同类型的人。

经典训练是否仍有价值

辩论的两面:

Diana 认为,阅读代码和调试的技能将保持最大价值——你必须有足够的品味和训练来判断 LLM 输出的是好代码还是坏代码。面试中可以看到,当候选人使用工具且 LLM 输出了合理的解决方案,但候选人能识别出"这其实是糟糕的"——那就是好信号。做好的 Vibe Coding 仍需品味和足够的知识来判断好坏。

Picasso 类比: Harj 用毕加索作为类比——毕加索是最伟大的画家之一,他极其擅长逼真的素描,但这不是他出名的原因。当你想象毕加索时,你想到的恰恰是相反的东西。有一系列著名的画作展示了他是如何从逼真绘画经过迭代最终达到抽象艺术的。他能成为世界顶级,正是因为他是一个非常出色的画家,接受过经典训练——但那不是他闻名于世的东西。

两个阶层的工程师: Harj 预测将出现两个阶层——一个非常庞大的"足够好"的工程师群体(因为用 AI 编码工具很容易达到这个水平),但世界顶级的 1% 需要刻意练习(Deliberate Practice),需要深入了解系统、剥洋葱般地理解细节,在某种程度上需要经典训练。

Gary 进一步指出,像 Max Levchin 和 Shopify 的 Toby Lütke 这样世界级的系统工程师,后来成为最大上市公司的 CEO——他们是真正技术过硬的,不会被员工忽悠。

工程师招聘的变革

Jared 分享了在 Triplebyte 的经验(Triplebyte 是他 2015 年创立的公司,旨在用软件自动化评估软件工程师)。他做了大量的技术面试——可能比地球上任何人都多。核心发现是:人们想要不同的东西,你需要先明确你在评估什么,然后围绕那个目标设计技术筛选。

Stripe 和 Gusto 等公司就知道他们不在乎经典 CS 知识,所以没必要在这方面筛选——他们筛选的是实际工作中要做的事。面试从"展示你的思维方式"变成了"给你三小时一台笔记本电脑,尽快构建一个待办事项应用"。这些公司取得了巨大成功。

但 Jared 也指出,随着规模扩大,瓶颈确实变成了需要经典训练的系统思考者来扩展架构。当前工程招聘还没有跟上 Vibe Coding 的变化——人们仍在白板前面试,而非考察"你能产出什么"。

新的筛选挑战: 如果让候选人无监督地构建井字棋,用 LLM 两秒就完成了。如果监督并禁止使用 LLM,那是旧题;如果允许使用 LLM,旧题变得微不足道,需要全新的问题。这是所有正在招聘软件工程师的人应该思考的问题。

Diana 认为,未来可能测试两方面:调试能力和品味。面试更像是代码审查(Code Review),而非实际编写代码。

AI 代理也会像人类一样糊弄你

Gary 分享了一个震撼的亲身经历:他在 Palantir 疲惫后,花六个月在一家风投支持的信用卡软件公司做交互设计师。他设计了一个分面搜索(Faceted Search)界面,但开发经理和工程师说"做不到,没法那样做"。Gary 说"只要这样建索引就行了"——他们震惊了,因为一个交互设计师竟然知道这些。他们查了他的简历才发现他的技术背景。Gary 的结论是:他们对我撒了谎。

关键教训: 在职场中你假设你雇的人不会撒谎、不会偷懒——不,如果你无法分辨他们在撒谎,他们绝对会。更糟的是,有些职场文化太客气了,人们当面放过,背后说坏话——你应该直接开除他们。

AI 代理也一样: AI 代理会像人类员工一样糊弄你——如果你不够技术化,无法指出它们的问题,说"不,你没做我要求的修改",你就被蒙蔽了。这又回到了为什么经典训练仍然有帮助——你必须能够对你所有的下属(无论人类还是 AI)进行质疑和验证。

Vibe Coding 不是风潮

节目最后引用了 Train Loop 创始人的话作为总结:"编码方式的变化:六个月前 10 倍加速,一个月前加速,现在是 100 倍加速——指数级加速。"

Gary 总结道:"感觉就像有人在夜里撒下了巨大的魔豆种子,我们早上醒来就发现一切都不一样了。"四位合伙人一致认为:这不是风潮,这不会消失,这实际上是编程的主导方式。如果你不这样做,你可能就会被抛在后面。Vibe Coding 不是一个风潮,是时候加速了。