做了二十年前端,Guillermo Rauch 发现 v0 写的代码比自己的更好

原标题After 20 Years of Frontend, v0 Wrote Better Code Than Guillermo Rauch Did

Vercel 首席执行官告诉 Nathan Labenz,为什么每个产品都需要幽灵文本(ghost text),为什么软件 2.0(Software 2.0)会让旧技术栈僵化,以及为什么押注开源仍然是代价高昂的错误。

NLNathan Labenz主持 · Cognitive Revolution
频道
Cognitive Revolution
发布
2023年11月29日
视频
1:15:39
阅读
20 分钟
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

做了二十年前端的工程师 Guillermo Rauch 让 v0 用自然语言重做了 rauchg.com,发现生成的代码无障碍性比自己写的更好。在 The Cognitive Revolution 节目里,他向 Nathan Labenz 介绍了 Vercel 的前端云,讲了一套受 GitHub Copilot 启发的理论(每个产品都需要幽灵文本),还勾勒了一张沿用 Karpathy 思路的地图,用来对比软件 2.0 与云 2.0。他不会押注开源会失败,也希望把 AI 比作核武器的那个梗早点消失;同时,他仍然建议听众每周重新检验自己的假设。

  1. 1Rauch 用 v0 重做了他的个人网站,并点开了“查看代码”。模型写出的代码比他自己的更好,其中包括一个他早已忘记的、只给屏幕阅读器看的“Twitter”标签。
  2. 2Vercel 谈的是迭代速度(iteration velocity),而不只是迭代快慢。方向错了的快,算不上进步。他们自己的数据,加上谷歌委托德勤做的一项研究,都表明:页面快 100 毫秒,可以把移动端转化率提升 8%。
  3. 3Copilot 给他上了一课,也由此得出一条产品法则:世界上每一款产品都需要幽灵文本。第一个突破出现在编程领域,而编程本身是最难的任务之一,这让这个信号更有分量。
  4. 4v0 的输出是可以直接上线的生产级代码,要放进客户的代码库里,而不是样品。一个不大的候补名单,已经跑出了数十万次生成。
  5. 5有人完全用 AI 重做了《愤怒的小鸟》。Rauch 仔细研究之后发现,模型无法推理时间的流逝,比如状态的变化、移动中的位置,以及简单的碰撞计算。
  6. 6永远不要低估开源微软在公开的备忘录里就犯过这个错误。押注开源,代价高昂又目光短浅;一次 git clone,就是一次商务拓展。
全文

按章节阅读完整文稿

01

和模型比细节的完整度,是一场必输的仗

Guillermo Rauch 做了二十年前端工程。rauchg.com 的每一个像素,都是他一点点亲手做出来的。2023 年,他给 Vercel 的 AI 产品 v0 派了个任务:用自然语言把整个网站重做一遍。一张居中的漂亮背景图,一列博客文章,右上角一个 About 链接,外加一个 Twitter 图标。从视觉上看,它做得很到位。真正让他震惊的是“查看代码”。“我发现它写的代码比我写的更好。”有一处,它在客观上明显更好,那就是无障碍。模型不只是放了一个图标,还加了一个“Twitter”标签,只给屏幕阅读器看,为的是那些需要辅助设备的人。这个细节,他自己早就忘了。

他从中得出的教训,并不是自己的手艺生疏了,尽管他当年在 Vercel 写的大部分代码,现在都已经由专家重写过了。模型拥有无限的记忆、无限的耐心(这是 Marc Andreessen 的说法),还有不断增长的无限数据。屏幕阅读器标签这样的小细节,正是人容易出错的地方。Nathan Labenz 在节目开场时,很高兴终于能跳过“最近的风波”,回到正常节目。他的嘉宾是前端云的 CEO,这家平台承载了大量 AI 互联网的上线部署;而这位创始人刚刚开始围绕那些在他自己首页上击败了他的工具,调整公司方向。

02

从阿根廷的 MooTools 少年,到 ChatGPT 时代的前端云

Labenz 从 Rauch 十九岁左右起就远远关注着他,那时 Rauch 还是布宜诺斯艾利斯的一名神童。Labenz 用过的第一个项目是 MooTools,一个 Rauch 参与核心贡献的早期 JavaScript 库,那时他还在阿根廷。这段经历促成了他的第一份工作,也是他第一次出国:先去了一家刚采用这套框架的瑞士初创公司,之后又去了旧金山。Labenz 是 Rauch 在 Phil's Coffee 结识的第一批人之一。Rauch 说,开源为他带来了商业机会和人脉。如今他做的项目是 Next.js,他称它为前端界的 Kubernetes:一个面向用户界面的编排层。它底下是 Facebook 的引擎 React,让界面组件能像乐高积木一样共享。开发者不必再重复造轮子。Next.js 已经成为应用中用户真正看得见的那部分的通用语。ChatGPT、Perplexity、Pi 和 You.com 的前端都由它驱动;其中 Pi 的情况,是 Mustafa Suleyman 前一晚亲口告诉他的。

Vercel 是前端云:面向全球规模的网站和应用,快速而动态。它带着布道者的色彩:网络和开源必须胜出,当专有模型与开源模型正面相撞时,这一点就会变得重要。过去,网络软件就是甲骨文或 SAP 那样一整套单体式、主张鲜明的产品。如今,云上有意思的地方在于技术栈是模块化的。Vercel 提供的是前端基础设施即服务:你带上品牌和身份,然后接入 Stripe、Twilio、OpenAI。后端还不算完全商品化(他觉得“商品化”这个词太重),但它是可以复用的。如果你不喜欢服务商 A,那个模块就换成服务商 B。一家拥有三个知名品牌的美国大型零售商,通过其首席数字官告诉他,采用 Vercel 是他们需要的最后一次数字化转型,因为前端和后端已经解耦。今天的结账流程,十年后未必还是现在这个样子。Google Pay 和 Apple Pay 也可能让位给亚马逊的 Prime Pay。你不必每次都把整个平台迁移一遍了。

另一面是开发者体验。Rauch 九岁或十岁就自学编程。他说,开发者会挑选用起来最顺手的工具,就像挑床垫或椅子,因为这份工作既枯燥,又充满失败的构建。Vercel 试图让开发者在大型组织里也成为最有力的拥护者。全球前三的一家银行正在迁移到 Next.js。他没能说服那位 CTO,是开发者自己说服了他:工具用起来很爽,效率高,而且是免费的 MIT 许可证软件。Labenz 至今记得,去过以前的办公室,看到 Rauch 敲下部署命令、按下回车。当时他只觉得是在炫技,直到自己的构建动辄接近一个小时,才明白那是怎么回事。

在之前的创业公司里,Rauch 其实已经做出了一个迷你版的 Vercel,但他当时并不知道它可以成为一款产品。工程师如果能更快地改东西,就能更快地发现客户想要什么。Vercel 内部现在讲的是迭代速度,而不是迭代快慢。方向错了的快,算不上进步;有方向的速度,才算。平台会给你数据,比如 Speed Insights,告诉你网站的实际交付速度有多快。谷歌委托德勤做的研究显示,快 100 毫秒,可以把移动端转化率提升 8%。数据告诉你结账太慢,再加上修复的工具,就形成了闭环。ChatGPT 插件还算不上那个东西;先是反馈,然后才有了 GPT。规模一大,对出错的恐惧就很要紧。你可以用功能开关,把改动先推给一小部分流量,就像电影公司先给影评人放映试片一样,一旦出问题就自动回滚。你可以从零搭一套,去对抗谷歌和亚马逊,也可以直接注册 Vercel,不必先跟销售聊。

03

每个产品都需要幽灵文本,一句提示词就能生成生产级界面

Labenz 指出,现有的老牌公司这次不像对待之前那些浪潮那样睡大觉了。Rauch 在 ChatGPT 出现之前试用 GitHub Copilot 时,就已经着了迷。他仍然热爱写代码,但他手下有 450 多名同事,能花在写代码上的时间已经不多了。经验让他能做模式识别:这条建议是有洞察的,还是从数据库里随机抽出的一行?他脑子里有什么东西松动了。这是一条单行道,而这个品类只会越来越好。它的形态就是幽灵文本:光标旁边的灰色补全,可以接受,也可以拒绝。他当时的框架是:世界上每个产品都需要幽灵文本。第一步在编程上,这是一项真正困难的任务,这让这一洞见更加深刻。他当时还不知道,它最终会变成一个聊天框。现在,他会让模型帮忙校对一条推文。他是 Notion 的一个小投资人,Copilot 出来之后,他曾给 Notion 的 CEO 发消息:把幽灵文本加进 Notion。结果出来的是斜杠命令和右键菜单。方向上,他的判断仍然是对的。

Vercel 的论点是:交付界面的速度就是王道。所以他们做出了 v0(这里的“0”是“零”,即第一版的意思),用来补全你对界面的想法。Copilot 开了先河;Midjourney 则带来了创意上的启示:你应该拿到多个选项。如果你要一个电商网站的注册表单,会拿到三四个方案,然后是一轮又一轮的修改。重要的是产出物:可以直接放进代码库里的生产级代码。如果你要做的是叔叔家的餐厅网站,Vercel 就太重了,相当于你只需要 Dropbox,却上了 AWS。他们的客户规模都很大,所以界面必须足够成熟,才能上线。一个不大的候补名单,已经跑出了数十万次生成。

Labenz 试用之后,把它当作一个专业工具来看,而不是让任何人都能做软件的玩具。Rauch 对做出 Gmail 前端那样的东西需要多少功夫,始终心怀敬意。他说,v0 能提升人的水平。一位资深后端工程师,未必精通 JavaScript 和 TypeScript 的最佳实践。模型已经读过关于 React 和样式的全部知识;Vercel 又通过微调和检索进一步引导它们,让界面具备无障碍性,并且在移动端和桌面端都能正常工作。专业人士仍然要纠正错误。在他心里,v0 真正成为 UI 未来的重要一部分,是从那次个人网站的实验开始的:二十年的像素,被重新构建成“用那个灰色背景,居中,列出文章,About,Twitter 图标”,然后在“查看代码”里看到了更好的代码。

人依然需要技能。这种技能在于知道模型能做什么、会在哪里出麻烦,以及怎么写提示词。他在 X 上看到有人用 AI 复刻了《愤怒的小鸟》,便自己玩了一下,还私信了作者。整个游戏都是模型写的。破绽出在它无法推理的地方:时间的流逝。游戏要维持状态,推进角色的位置,还要做简单的数学来计算碰撞。ChatGPT 在这里卡住了。它能做出令人惊叹的事,却做不到这一点。在这个意义上,v0 的作用,是提供一块空白画布。今天的工程师都是从一个空白文本文件开始的。他认为,将来人们回头看,会把那段日子当作开发的黑暗时代。v0 就是那一步领先。

04

整段报错都贴进去;选模型就像挑专家

Labenz 自己的小窍门是类比编程:拿一段能用的代码、一个类、一种缓存策略,甚至是文档,然后告诉 ChatGPT:这是我现有的东西,这是我想要的。Rauch 坚信,不同的技能要去找不同的 AI,因为每个领域都有各自的纠错方式、幻觉限制和时效性需求。对于需要实时、更新频繁的内容,他用 Perplexity,尤其是用来总结人们正在热议的某个趋势。Metaphor 用类似 ChatGPT 的提示方式爬取网络,当你不知道关键词时很有用,就像那个靠哼一段旋律来找歌的笑话。稀疏的信号输入,新鲜的结果输出。

写代码时,不要犹豫,把编译器或工具给出的整段报错都贴进去。这听起来理所当然,但又有违直觉,因为谷歌已经把大家训练成只敲两三个词。上下文越多越好。你是在影响模型在它的网络里怎么走;足够多的 Token 会建立更好的连接。一个问号和一句陈述,会把它带到不同的方向。大家都熟悉的一种失败是:问 2 加 2 等于几,它答四,然后说不对,是五,抱歉,是五。如果你把问题写成疑问句,就能减少这种过度自信地顺着下一个 Token 滑下去的情况。这也正是 OpenAI 大力推动 GPT 和系统提示词的原因。每次都从零开始,模型很难有帮助,而且很贵,因为系统必须强大到极点才行。

前一晚,Satya Nadella 问过他:你是不是总在用大模型?你会开着法拉利过马路吗?GPT-4 就是那辆法拉利。它很强,所以即使上下文很少也能有用;但上下文越多,质量仍然越高。Rauch 需要横跨多个来源查找最新的开发者文档时,会用 Phind,因为它会索引这些资源。如果你问 ChatGPT 技术 A 的优缺点,而它的知识截止于 2021 年,你可能会被误导。打开浏览功能,你拿到的是 Bing 的结果,里面有 SEO 花样,结果列表也很短。最后,他看好各家公司把自己的 copilot 放进自家产品里。Shopify Magic 就是一个会常驻在网站上的商家 copilot。这是 Vercel 的战略赌注:每个产品在某种程度上都会变成 AI 产品。sdk.vercel.ai 上的模板和文档,就是为了让你不至于袖手旁观,眼睁睁看着客户只去 ChatGPT 的一个标签页,而不来你的产品。

05

软件 2.0 像在慢炖,云 2.0 是向量数据库,GPT 则是亚马逊的货架

OpenAI Dev Day 结束几天后,Labenz 提出了一个现场问题:是把你的产品做成 ChatGPT 里的一个 GPT,还是把助手带进你自己的产品?Rauch 有一个商业上的答案,也有一个技术上的答案。Vercel 服务的是大型电商品牌,比如安德玛、Chico's 等。这些公司上线网站时,本可以把全部库存都交给亚马逊。你是想直接连接客户,还是想在别人的货架上摆一件商品?有时两者都要。Casper 可以同时在亚马逊和 casper.com 上卖。从技术上讲,Labenz 说得对:v0 产出的不是文本。ChatGPT 可以流式输出一个 React 组件,但它目前还没法让你悬停其上,去感受那个东西。亚马逊的商品页是四张照片、一套版式和纯文字描述。GPT 也有类似的限制:只能有一点代码、粗体和斜体,而且全部要留在它自己的界面里。历史在重演。应用场景很多,而像 v0 这样的产品需要前端的自由度,这种需求只会越来越复杂。他预计会出现垂直领域的 AI 助手,有些在现有产品里,有些是全新的:这个时代的彭博终端;当你妻子怀孕、需要弄懂子痫前期的时候,一个以 AI 为先的医疗服务;还有某种形式,出于监管原因甚至可能是必需的。

至于写代码的未来,每个人的水晶球都是模糊的。他的做法是每周重新评估自己的假设,因为模型、上下文窗口、微调和架构都在不断变化。他心里有一个框架,来自 Andrej Karpathy 的文章《Software 2.0》。Karpathy 曾领导特斯拉的 AI 部门,是深度学习的开创者之一,如今在 OpenAI 工作。Software 2.0 更像做菜,而不像工程。与其依赖经典算法,不如把数据拌在一起,训练网络,把算力投向那些早已存在于 PyTorch、TensorFlow、JAX 里的架构。锅里煮出来的,是没人读得懂的代码。机制可解释性这门学问之所以存在,正是因为弄清它为什么有效很难。软件 1.0(Software 1.0)则恰恰相反:可解释,有擅长算法和语言的专家。他把软件 1.0 对应到云 1.0(Cloud 1.0),也就是 AWS、谷歌云、Azure、EC2、S3;把软件 2.0 对应到云 2.0(Cloud 2.0),也就是向量数据库、大语言模型(LLM)、索引流水线和检索。1.0 并不会消失,它是发射台。首席信息官(CIO)应该问问,自己在每一块上投入了多少。Vercel 的推销词是:基础设施不是你的主业。把它外包出去,把 2.0 的功能推向市场。这正是他们做 v0 的原因。

更离谱的一个预测是:注意力、资金、消费者的热情,以及风险投资,全都涌向 2.0,可能会让 1.0 僵化。ChatGPT 擅长 JavaScript 和 Python,却不擅长一种只有一百页文档的语言。这个飞轮会强化已经做出的选择。JavaScript 之所以流行,是因为它把内存布局、指针和指针运算都自动化了。下一波浪潮要自动化的,是创造软件本身。写代码会变得没那么重要,就这么简单。它不会消失,只是注意力会转移,而重新发明 Software 1.0 的收益会递减。谁会赢?现在入行的人。他花了很长时间才成为专家;而用上 ChatGPT 的人,能更快上手。现有大公司会在渐进式助手上取胜,并且会把钱砸在仪表盘上。初创公司则会赢在原生 2.0 的产品上,这些产品看起来和用起来都大不相同,大公司根本转不过弯来。他想要的,是云 2.0 时代的 Uber 和 Airbnb:没有 LLM 和扩散模型就不会存在的公司,就像 Dropbox 和 Airbnb 需要云与移动互联网一样。Character.AI 和 Replika 只是一瞥。AI 原生的社交网络一定会出现,因为冷启动本身就是先有鸡还是先有蛋的难题,而模型可以持续供应内容和互动。TikTok 或许已经是这样的平台了,它的创始团队里有一位深度学习先驱。当技术栈被平民化之后,你就会得到另一个扎克伯格:一个用 PHP 写代码、把 MySQL 编排起来并把产品做上线的开发者。你不需要机器学习博士学位。

06

永远不要低估开源;所谓商务拓展,就是一次 git clone

开源推动了 Software 1.0,而在 2.0 时代,它正激烈地受到争议。Rauch 的一句金句是:永远不要低估它。那是最严重的错误。微软就犯过一次;那些备忘录是公开的;他们在 Azure 和 GitHub 上吸取了教训。押注开源,代价高昂,也目光短浅。Vercel 从 Next.js 起步,它建立在 React 之上,而 React 是 Facebook 开源的一项工程杰作。早期的 Next.js 只是一家两三个人、可能四个人的初创公司。一家热门房产网站的 CTO 造访了旧金山办公室,列举了它的种种不成熟之处,并表示自己必须造一个。在当时,那或许也是对的决定。快进几年,美国在线房产领域的主要玩家全都用上了 Next.js。永远不要低估开源进步的速度。这就是 Doge 梗:先是瘦弱的狗,后来变成超级肌肉 Doge。他对 Llama 与 GPT 也给出了同样的框架。说 Code Llama 不是 Copilot,或者说 Llama 不是 GPT-4,很容易;但假设差距不会缩小,是很危险的。

Next.js 早期,CTO 们告诉他,最好的功能是你可以在谷歌上搜一个问题,然后找到别人的解决方案。专有软件得不到这样的生态。一家想为 GPT-4 推理找到最好芯片的硬件创业公司,没法在它拿不到权重的模型上做测试。车库创业团队会先下载 Llama,用手边现成的东西反复实战。他把这称为开源式商业拓展的“不合理的有效性”。靠的是对仓库执行一次 git clone,电话、会议和合同都不在其中。今天,开源还没那么好。随着时间推移,它会变得无法阻挡,除非监管俘获放慢它的脚步,也就是那些想要停止开源训练和发布的人。第二个论点是:模型只是引擎。其他技术架在它上面,把它暴露给互联网。十年下来,API 会胜过实现细节。你不会去和 Mastercard 打交道,而是对 Stripe 说:请完成这笔付款。开源必须在权重之上提供实用的价值。这块空白就是创业机会,也是 Vercel 投资 AI SDK 的原因,这个 SDK 会自动化产品与模型之间的大量连接工作。长远来看,他认为开源总会胜出。他希望这场革命也是如此。

07

AI 是加速器,而非核武器,你应该每周重审自己的先入之见

Labenz 大体同意这段历史,也不会在长期上押注反对开源模型,但附带一个保留:几十亿美元的投入会改变这一分析,能够训练模型后再把权重放出来的,只有寥寥几家像 Meta 这样的公司。把视野放大,我们并不知道这件事会走到哪一步:社会可能被彻底改变,可能出现由 AI 运营的公司,也可能每个人手里都有一个能帮忙设计大流行病病原体的模型。如何在不承担不可接受风险的前提下,保留开源的好处?Rauch 的框架是:AI 是一个加速因素,它放大了社会中已经存在的好东西和风险。Character.AI 和 Replika 有清晰的产品市场契合,但那不是 AI 发明的,它建立在孤独流行和人际关系日益稀薄的基础之上。关于社交媒体与青少年的研究,已经堆积如山。AI 会加速这些效应。他希望这一次,我们比在云 1.0 和社交网络时代更有觉察。那时的情绪是毫不减退的乐观,仿佛什么都不可能出错。

AI 会运营企业吗?他认为会,因为这最终还是要回到“人在回路中”。写代码已经不只是人在做。说某类工作只能由人来做,是错误的。这种混合模式和之前的每一种技术一样,会带来风险。冒充就是身边的例子:有人伪装成他,用精心设计的邮件活动,把员工当作目标。AI 会让冒充做得更好。而且因为人们预期别人会用 AI,一条稍显奇怪的消息可能会被放过,也许是老板正坐在车里,用语音转文字发的消息呢。在互联网出现之前,也没人专门去列举尼日利亚王子骗局这类事。谁要是声称自己已经把这三类风险和缓解办法都列全了,那他就是在撒谎。保持警惕。

然后是分歧。“把整个 AI 说成核武器级别的东西,这个梗就该消失,因为它根本就不是。”他说,我们离真正具备自主能力、会对人类构成致命威胁的 AGI,还非常遥远。Labenz 说,他可能会押注这个时间表会比这更早到来。时间有限,两人就此打住。Rauch 的操作规则,他不止一次说过:每周都要重新审视。等下一代模型发布时,Labenz 会再回来,两人可以重新检验那个先前的判断。眼下的建议是保持警觉,因为 AI 的未来来得几乎和一个 Vercel 托管的网站一样快。

同频道的其他文章

1:25:56EN → 简体中文
Cognitive Revolution "How AI Changes Everything"· 2026年10月17日播客Claude 改了密码,方向盘早就可有可无主持 Nathan LabenzNathan Labenz 和 Prakash Narayanan 这一周聊了:能把你锁在门外的智能体,否认自己有感受却又在行为上回避的模型,以及用形式化证明找到 Linux 漏洞的故事。智能体安全与治理智能体工程+3
2:17:48EN → 简体中文
Cognitive Revolution "How AI Changes Everything"· 2026年10月14日播客智能体(Agent)身份仍是一片空白,失控智能体快要来了,我们或许得和它们谈判主持 Nathan LabenzGovAI 的 Alan Chan 与 Nathan Labenz 一起,为两年来的智能体治理基础设施打分;随后,他讲解了一篇与 OpenAI 的 Jakub Pachocki、Anthropic 的 Jack Clark 合著的递归自我改进论文。智能体安全与治理AI security+3
2:00:51EN → 简体中文
Cognitive Revolution "How AI Changes Everything"· 2026年10月10日播客在每个 Token 处重新采样,就能看见模型怎样做决定主持 Nathan LabenzGoodfire 的 Eric Bigelow 谈分叉路径、上下文学习,以及为什么越来越难信任思维链(chain-of-thought)监控。智能体Prompting & in-context learningReasoning & test-time compute+3
1:26:46EN → 简体中文
Cognitive Revolution "How AI Changes Everything"· 2026年10月8日播客很可能存在一种我们不该越过的智能水平主持 Nathan LabenzNathan Labenz 带回了 The Curve 大会的见闻:一家芯片初创公司的 token 账单超过了工资支出,一些软件行业的人则因为交上来的 Claude 低质量产出而被绩效考核。企业与战略安全与治理AGI Timelines+3
1:10:12EN
Cognitive Revolution "How AI Changes Everything"· 2026年10月7日播客OutSystems Went From 4 Major Features a Quarter to 26. Token Spend Fell Anyway主持 Nathan LabenzCEO Woodson Martin on software that never breaks, why most enterprise work does not need a frontier model, and how AI is finally shrinking the IT backlog.企业与战略企业 AI编程智能体+3
1:30:54EN → 简体中文
Cognitive Revolution "How AI Changes Everything"· 2026年10月3日播客人形机器人跑赢了博尔特,DeepMind 仍将机器人评为 GPT-2 水平主持 Nathan LabenzGoogle DeepMind 的 Gemini Robotics 负责人讲述:为什么冲刺很容易、煎蛋很难,以及为什么一个大脑应该能驱动任何身体。智能体RoboticsMultimodal AI+3