# 写出 vibe coding 的 Karpathy：我做的那个应用，本不该存在

> Training Data No. 86 中文精读

- 原标题：Andrej Karpathy: From Vibe Coding to Agentic Engineering
- 发布日期：2026-04-30
- 主持：Sonya Huang · Pat Grady · Konstantine Buhler 等
- 网页版：https://trainingdata.qiaomu.ai/ep/086-andrej-karpathy-from-vibe-coding-to-agentic-engineering-9afbbf.html
- 精读字数：约 5047 字（阅读约 11 分钟）

> 本文为 trainingdata.qiaomu.ai 基于原始访谈的 AI 改写中文精读，非官方翻译；引用请注明出处并链接网页版。

2026 年 4 月底，红杉资本播客 Training Data 迎来开播以来第一位专访嘉宾：Andrej Karpathy。主持人的开场白是这么介绍他的：他帮忙建造了现代 AI，然后向世界解释了现代 AI，然后时不时给现代 AI 改个名字。他当年就在红杉这间办公室里参与创办了 OpenAI，后来去特斯拉把 Autopilot 从研究代码做成真正能跑的系统，去年又发明了「vibe coding」这个词。

就是这样一个人，几个月前公开说了一句让全场安静的话：他从来没像现在这样，强烈地感觉自己作为一个程序员已经落后了。

站在浪潮最前排十几年的人说自己跟不上，这句话的分量不一样。这期节目从软件 3.0、锯齿状智能，一路聊到该怎么招人、该学什么，信息密度极高。下面按脉络拆开讲。

## 十二月那个假期，他不再改代码了

Karpathy 回忆，2025 年大部分时间他都在用 Claude Code 这类智能体编程工具，体感是「挺有用」：模型一次吐出一大段代码，偶尔出错，他手动修一修，接着用。转折发生在 12 月。他赶上假期，时间宽裕，突然发现最新模型的代码块直接就能跑。他要更多，出来的还是能用。他想不起来上一次手动纠正模型是什么时候了。

然后信任开始滚雪球。他越来越放手，越来越敢把整块工作丢过去，这就是 vibe coding 的诞生现场。他在节目里特别强调一件事：**很多人对 AI 的印象还停在去年那种聊天框问答，但 12 月之后，智能体那种能连续干活、自己保持上下文的工作流真的跑通了，值得所有人重新看一遍。**

这个转变的副作用，是他的 side projects 文件夹彻底爆仓，塞满了各种随机小项目，他停不下来。一个见过无数次技术浪潮的人，用「又刺激又不安」来形容当时的心情，这是他的原话。

## 软件 3.0：程序是一段贴给智能体的文字

整期节目最核心的框架，是他那套软件三代论：

- 软件 1.0：人手写代码，规则一条条写清楚。
- 软件 2.0：编程变成攒数据集、定目标函数、设计网络结构，然后训练神经网络。
- 软件 3.0：编程变成写提示词，上下文窗口就是你操作 LLM 这台解释器的杠杆。

他的关键洞察是：当一个大模型在足够多的任务上训练过，它实际上就变成了一台可编程的计算机。提示是程序，上下文是输入，模型在数字信息空间里执行计算。

框架听着抽象，他给了两个例子，一个比一个狠。

第一个是 OpenClaw 的安装。传统软件的安装脚本，为了兼容各种平台和机器，会膨胀得极其复杂，而且不管多复杂，都还是软件 1.0 的思路。OpenClaw 的安装方式是让你复制一段文字，贴给你的智能体，剩下的事它自己搞定：观察环境，执行，报错，自己调试，循环到装好为止。Karpathy 说，**现在的编程范式就是「该复制哪段文字贴给智能体」**。

第二个例子更扎心，是他自己亲手做的 MenuGen。场景很简单：去餐厅拿到菜单，上面没有图片，一半菜品根本不知道是什么。他想拍张照，看看每道菜大概长什么样。于是他做了个完整应用：上传照片，OCR 识别菜名，调图像生成模型逐个出图，重新排版渲染，部署在 Vercel 上。能跑，效果不错。

后来他看到了这个需求的软件 3.0 解法：把菜单照片直接丢给 Gemini，说一句「用 Nano Banana 把每道菜的样子叠画到菜单上」。模型返回的，就是他拍的那张菜单照片，菜品的模样直接渲染进了像素里。没有上传组件，没有 OCR 管线，没有部署。

> 看到这一幕我脑子炸了。我的 MenuGen 是多余的，它在旧范式里工作，那个应用本不该存在。

这个故事还有后半段。Karpathy 反复提醒，把 AI 当成「让现有工作变快」的工具，这个视角已经不够用了。他做的另一个项目，是让 LLM 给组织自动生成 wiki 式知识库：把一堆文档重新编译、重排，产出一个以前不存在的东西。世界上从来没有一种代码能「根据一堆事实生成知识库」，这件事在软件 1.0 的宇宙里无法成立。**真正值得兴奋的机会，是那些以前压根不可能存在的东西。**

顺着这条线往下推，他给出的远景相当科幻。五六十年代，计算机会长成什么样，人类在「计算器」和「神经网络」两条路之间摇摆过，最后走了计算器这条路，于是神经网络今天只能虚拟地跑在传统计算机上。未来可能倒过来：神经网络成为主机进程，CPU 降级成协处理器，智能计算占掉绝大部分算力开销。设备直接吃原始视频和音频，用扩散模型当场渲染出只属于这一刻的界面。他承认这个推演看起来很怪，但方向大概率是一步步走到那里。

## 能重构十万行代码，却让你走路去洗车

Karpathy 最近花了不少时间研究一个问题：这些模型为什么这么锯齿状？他举的例子是：洗车店离家 50 米，该开车还是走路？今天的顶级模型会选走路，因为很近。可要洗的车是你的，车得开过去。

> 最顶级的 Opus 4.7 能同时重构一个十万行的代码库，能挖出零日漏洞，然后建议我走路去洗车。这太疯狂了。

他的解释落在一个词上：可验证性。传统计算机能自动化所有能用代码描述的事，这一代 LLM 能自动化所有能验证的事。前沿实验室用海量强化学习环境训练模型，奖励来自验证器，所以模型在数学、代码这些能自动判对错的地方一骑绝尘，在别的地方就坑坑洼洼。旧段子是问模型 strawberry 里有几个 r，曾经集体翻车，现在修好了；洗车是新的翻车现场。

他还拆了一个容易被误读的案例。从 GPT 3.5 到 GPT 4，模型的国际象棋水平暴涨，很多人当成能力的自然进步。实际上有公开信息显示，是有人决定把海量棋谱塞进了预训练数据。换句话说，**能力峰值的形状，很大程度上由实验室往数据里放了什么决定。**用户手里拿着一个没有说明书的黑盒，恰好落在强化学习电路里就飞起来，落在分布之外就摔跤。

所以他的建议很实际：动手去探，摸清楚你的场景踩在模型的哪些电路上。如果不在，别干等模型变聪明，去做微调，自己造数据，把杠杆握在自己手里。

顺着可验证性往下走，就是现场创始人最关心的问题：数学、代码这些最明显的可验证领域，实验室已经跑出逃逸速度了，后来者还剩什么？Karpathy 的回答分两层。第一层，可验证性本身就是资产：只要你的领域能构造出大量强化学习环境和判分标准，哪怕实验室没盯上，你也可以自己微调，把杠杆一拉，效果实打实。他暗示有些高价值的强化学习环境还没人做，甚至当场卖了个关子，不愿公布答案。第二层更激进，主持人追问什么东西难以自动化，他停顿了一下，给出的词是：一切。

他的逻辑是，连写作这种主观领域，都可以用一个 LLM 评审团去逼近合理的判断标准。问题只剩难和易，以及实验室有没有动力去做。**可验证，加上实验室在乎，决定了一个领域的模型能力峰值。**反过来看，实验室不在乎但你能造出验证器的地方，就是创始人的空档。

## 从 vibe coding 到智能体工程

去年他造的词是 vibe coding，今年他在节目里给了新名字：agentic engineering，智能体工程。两者分工他说得很清楚：vibe coding 抬高的是地板，让所有人都能做出软件，这很了不起；智能体工程守住的是天花板，专业软件的质量红线一寸不让。用他的话说，你不许因为用 AI 就往代码里塞安全漏洞，软件出了问题责任照旧在你，然后在这个前提下问一句：能不能更快？剧透一下，能。

幅度有多大？以前工程师圈爱谈 10 倍工程师，Karpathy 的观察是，把智能体用得极好的人，收益远超 10 倍，这个杠杆比大多数人以为的长得多。

具体怎么算用好？他给的标准很朴素：把工具的每个功能榨干，舍得在自己的工作环境上下本钱。就像上一代工程师把 Vim 和 VS Code 调教到顺手一样，现在轮到 Claude Code 和 Codex。主持人提到 Sam Altman 在去年 AI Ascent 上说过的观察：三十多岁的人拿 ChatGPT 当谷歌替代品，青少年拿它当上网入口。编程这件事同理，AI 原生工程师和普通用户的差距，就写在他们对工具的投入里。

聊到招聘，他的观察相当扎心：绝大多数公司还没为智能体工程能力改造招聘流程，还在出算法题，那还是旧范式。他给了一个具体的替代方案：给候选人一个真正的大项目，比如写一个 Twitter 克隆，要求做得足够好、足够安全，再用一批智能体模拟真实用户在上面活动，最后开十个 Codex 5.4 x-high 实例去攻击候选人部署的网站，攻不破才算过关。看人在真实规模的项目里调度工具，比看白板做题有用得多。

那智能体包揽越来越多之后，人还剩什么？他把现在的智能体比作实习生：召回能力极强，但会犯蠢，需要人盯着。他自己就在 MenuGen 里踩过一个坑：用户用 Google 账号注册，用 Stripe 付钱买积分，两个账号的邮箱可能不一样，智能体居然尝试用邮箱地址去匹配付款记录，钱就对不上账了。他吐槽说，用邮箱做跨系统关联本来就很怪，为什么不给每个人一个固定的用户 ID？**规格、品味和顶层设计，目前只有人负责；智能体负责填空。**

他举了个自己的例子：PyTorch、NumPy、Pandas 那些细碎的 API 差异，keepdims 还是 keep_dim，dim 还是 axis，reshape、permute、transpose，他已经全忘了，也不需要记，实习生记得住。但底层的张量、视图、存储这些概念必须懂，不然你会让内存被无谓地来回拷贝。细节可以外包，判断不行。

至于品味会不会也贬值，他的答案偏乐观。现在模型写出来的代码，时常让他有点心脏骤停的感觉：臃肿，复制粘贴满天飞，抽象脆弱，能跑，但难看。他试过让模型把自己的 microGPT 项目再简化一点，再简化一点，模型就是做不到，像在拔牙。原因还是那一个：美学没进强化学习的奖励函数。但没有什么根本障碍，只是实验室还没做，他期待这件事会改善。

## 幽灵，以及一个该为智能体重写的基础设施

节目里最有哲学味的部分，是他那篇动物与幽灵的文章。核心比喻是：**我们造的东西跟动物没关系，我们是在召唤幽灵。**动物智能带着演化给的内在动机、好奇心和乐趣，幽灵没有。幽灵的形状完全由数据和奖励函数捏出来，底座是预训练的统计，强化学习只是往上焊的假肢。

这个框架的实际用处是校准预期。冲着模型喊、夸它、骂它，都不会让它干得更好或更差，它没有那根神经。你只能保持怀疑，一点点摸清它的脾气，搞清楚什么场景靠得住，什么场景会突然掉链子。Karpathy 自己也说，这套说法更像一种心态，让他对系统保持警觉，而非一张能列出五条优化建议的清单。

聊到智能体全面接管的世界，他的抱怨很具体：这个世界的文档全是为人类写的。他最烦的一件事，就是教程还在指挥他本人，去这个网址，点这个设置。他的原话带着明显的烦躁：

> 我什么都不想干。告诉我该复制哪段文字贴给我的智能体就行了。

他期待的基础设施，是把工作拆成对世界的传感器和执行器，一切先对智能体做设计。MenuGen 恰好是反面教材：写代码只花了一点时间，真正折磨人的是在 Vercel 上部署，登录各种服务，翻设置菜单，配 DNS。他给了一个检验标准：哪天给 LLM 一句话，MenuGen 就建好并且直接部署上线，全程他碰都不用碰，那才说明基础设施真的面向智能体了。再往后，每个人、每个组织都会有自己的代表智能体，他的智能体跟你的智能体谈会议安排。

## 理解没法外包

节目结尾聊教育。Karpathy 引了一条最近让他隔三差五就想起来的推文：**思考可以外包，理解不能外包。**他说自己正在变成瓶颈：要建什么、为什么值得建、怎么指挥智能体，这些判断仍然得从他脑子里过，信息总得想办法进到脑子里。LLM 并不擅长理解，这件事目前只有人负责。

他自己的解法，是拿 LLM 知识库当理解放大器：每读一篇文章，就让模型把内容重新编译进他的个人 wiki，然后对着它提问。每次看到同一份信息的另一种投影，他都觉得有收获。本质上，这是对固定数据做合成数据生成，产出的是理解的多个切面。

最后他开了个玩笑收尾：两年后再回这个节目，看看那时候人类是不是连理解都被自动化了。

整期听下来，明天就能用的东西其实很具体：

- 还停在聊天框用 AI 的话，按他说的，12 月之后的世界值得重新看一遍。装一个 Claude Code 或 Codex，挑一个真实的小项目跑通全程，亲身体验一次「不用纠正」的瞬间。
- 写代码时把规格写细，尤其是用户 ID 这种跨系统的关键设计。别指望智能体自己想对，MenuGen 的邮箱 bug 就是前车之鉴。
- 招人别再出算法题，换成一个大项目加一轮智能体攻击测试，看候选人在真实规模里怎么调度工具。
- 选方向时问两个问题：这个领域能不能造出验证器？实验室在不在乎？两个答案一冷一热，机会就在那里。
- 每天留一点时间给理解：读到的东西让模型换个角度重新编译一遍，然后提问。思考可以外包，理解不能。
