All reads

CastMind Reads

Karpathy:我们在召唤幽灵,不是在造动物

Karpathy 解释 agent 为什么要十年:幽灵式的预训练、吸管里的监督信号、九的行军

Dwarkesh Podcast · 2025-10-18 · 21 min readWatch the original

This read is written in Chinese. Quotes are shown in both English and Chinese.

2025 年 10 月,Andrej Karpathy 在 Dwarkesh Podcast 上给 agent 热潮降温:agent 要十年才能做成,不是一年。他的理由很具体:预训练造出的是模仿人类的“幽灵”,强化学习像“用吸管吸监督信号”,编程模型写不了没人写过的代码,演示到产品还隔着一个个“九”。他也讲了为什么不回前沿实验室,而去做教育。这篇按他的八个判断展开,也写下他和主持人在经济增速上的分歧。

Key points

  1. 01Karpathy 认为 agent 要十年而不是一年:模型还不够聪明、不会用电脑、没有持续学习,这些问题可解但都难。
  2. 02Karpathy 认为预训练是“劣质的进化”,造出的是模仿人类的幽灵而非动物;模型记得太多,应剥离知识、只留“认知核心”。
  3. 03Karpathy 认为强化学习很糟:只凭最终对错给整条轨迹加权,像用吸管吸监督信号;改用 LLM 当裁判又会被钻空子。
  4. 04Karpathy 认为从演示到产品是“九的行军”,每个九工作量相同;生产级软件和自动驾驶一样,出错代价高。
  5. 05Karpathy 认为 AGI 会像电脑一样慢慢扩散,融进约 2% 的 GDP 增长,不会带来跳变;主持人 Dwarkesh 明确不同意。

主持人 Dwarkesh Patel 的第一个问题,引的是 Karpathy 自己的话:为什么说这是“agent 的十年”,而不是“agent 之年”?

Karpathy 说,那句话是被激出来的。有实验室说今年是 agent 之年,具体是谁他记不清了。他觉得行业在过度预测。他每天都用 Claude、Codex,也承认它们很厉害。但他换了个问法:你会把它当实习生雇进来吗?今天不会。它不够聪明,多模态不够,不会用电脑,也没有持续学习,你告诉它一件事,它记不住。用他的话说,它们“认知上有缺陷,就是用不起来”。

Karpathy 是 OpenAI 的创始成员之一,2017 到 2022 年在特斯拉负责自动驾驶,后来创办了做 AI 教育的 Eureka Labs。这期对话两个多小时,下面按他的八个判断展开。

agent 要十年,因为这个领域总想太早拿到完整的东西

为什么是十年,不是一年,也不是五十年?Karpathy 坦白这是直觉:他在这个领域约十五年,看过很多预测怎么落空。问题可解,但都不容易,平均下来就是十年。

他用亲历的几次转向解释这种直觉。他入行时碰巧在多伦多大学挨着杰弗里·辛顿(Geoffrey Hinton,深度学习奠基人之一),那时神经网络还是小众方向。AlexNet 之后大家都开始训神经网络,但一个任务训一个。接着有人想做 agent:不光感知,还要行动、从环境拿奖励。2013 年前后用深度强化学习玩 Atari 游戏是这一波的开始,早期 OpenAI 也做了很多游戏环境。

他认为这是一次走错的路。他一直怀疑打游戏能通向 AGI,所以他在 OpenAI 的项目是在 Universe 平台上做一个用键盘鼠标操作网页的 agent。结果太早了。agent 乱敲乱点,偶尔才碰到一次奖励,奖励太稀疏,什么也学不到,只会“烧掉一整片森林的算力”。

奖励稀疏是指:做对一件事要几百步,却只在最后给一次对错。好比让人蒙着眼报税,只在交表时告诉他对不对。Karpathy 说,当时缺的是神经网络的表征能力。今天会用电脑的 agent 都建在大语言模型之上,得先有表征,才谈得上 agent。他的总结是:这个领域几次都想太早拿到完整的东西,Atari、Universe,包括他自己。

模型现在还缺什么?他用了一组自己也说“不完美”的类比。Transformer 很通用,像一块可塑的大脑皮层;推理模型的思维链有点像前额叶;强化学习微调也许对应基底神经节。但海马体对应什么不清楚,杏仁核那套情绪和本能也没有复制出来。“不是所有脑区都打上了勾。”

持续学习最显眼。Dwarkesh 转述一种乐观看法:上下文学习是在预训练里自发长出来的,只要外层加一个跨会话的强化学习循环,持续学习也许也会自己出现。Karpathy 说他“没法共鸣”。模型每次启动都从零个 token 开始。他拿睡眠做类比:人醒着时积累当天的上下文,睡着后有个过程把它蒸馏进大脑的权重。大模型没有这一步:复盘、反复想、生成合成数据、再蒸馏回权重。他设想将来也许每个人有一个专属的小改动,只调一小部分权重,比如一个 LoRA(只训练少量附加参数、不动模型主体的微调方法,像在书页边加批注而不重写整本书)。DeepSeek V3.2 用的稀疏注意力,他认为是支撑超长上下文的早期迹象。

十年后的模型长什么样?他往回看十年:2015 年残差网络刚出来,还没有 Transformer。所以他押注十年后仍是用梯度下降训练的巨大神经网络。他讲了自己复现杨立昆(Yann LeCun)1989 年卷积网络的实验:只换上今天的算法,误差减半;想再降,就得加十倍数据、训更久、加正则化。他的结论是,数据、硬件、kernel、算法必须一起进步,没有哪一样占主导。

预训练是劣质的进化,造出的是幽灵

这期的标题来自这一段。

Dwarkesh 替理查德·萨顿(Richard Sutton)说话。萨顿是强化学习的奠基人之一,不久前也上过这档节目。他的立场是:动物没有标签、没有语言,扔进世界就能搞懂一切,AGI 为什么不该这样?

Karpathy 说,他对拿动物做类比很小心。斑马出生几分钟就能跑,这不是强化学习,是进化写进 DNA 的。我们没有在跑进化。我们是在模仿人类放在互联网上的数据,造出的是一种完全数字化、模仿人类的灵体。

我们不是在造动物,是在造幽灵。

We're not actually building animals. We're building ghosts.

他也说,让它们更像动物是可能的,也应该做;萨顿想要的那个“放到互联网上跑一遍就什么都学会”的单一算法,如果存在会很了不起,但他怀疑不存在。他甚至认为人在解题这类智力任务上几乎不用强化学习,强化学习更多用在投篮这种运动技能上。

Dwarkesh 追问:人的 DNA 只有约 3GB,存不下每个突触。进化给的是一个终身学习的算法,不是知识;可预训练给的恰恰是知识,这个类比不就断了?

Karpathy 承认这里有“神奇的压缩”。但他说自己是“戴着安全帽”的工程师:他不会做进化,模仿互联网文本这条路走得通,能得到一个自带知识和一定智能的起点。所以他把预训练叫作“劣质的进化”(crappy evolution),是现有技术能做到的平替。

然后他把预训练拆成两件事:一是学到知识,二是变聪明,网络内部长出了做上下文学习的电路。他认为真正要的是第二件,第一件反而拖后腿:模型太依赖知识,agent 就很难走出互联网数据覆盖的范围。他提出要剥离一部分知识,只留下“认知核心”(cognitive core),也就是只保留解题算法和策略的那部分智能。

Dwarkesh 说,上下文学习是预训练用梯度下降“元学习”出来的,但它本身不是梯度下降。Karpathy 插话说他不完全同意:有论文让 Transformer 在上下文里做线性回归,发现内部机制跟梯度下降相似。谁也不知道上下文学习怎么运作,但它可能在内部跑着某种“奇怪的梯度下降”。

Dwarkesh 换了个角度算账:一个 700 亿参数的模型训练 15 万亿 token,每个 token 在权重里只留下约 0.07 bit;而上下文里每多一个 token,KV cache 要增加约 320KB,差了三千多万倍。Karpathy 同意这个方向:权重里的东西是对训练数据的“模糊回忆”,上下文里的东西是可以直接拿到的工作记忆。所以问模型某本书讲了什么,回答大致对;把整章贴进去再问,答案会好得多。

认知核心要多大?Karpathy 预测二十年后,跟一个 10 亿参数的模型就能有很有成效的对话;碰到事实问题它会去查,但它知道自己不知道。Dwarkesh 反而嫌他保守:200 亿参数的 GPT-OSS 已经比最初的 GPT-4 强,为什么不是几百万参数?Karpathy 的理由是训练数据太差:前沿实验室预训练集里随便抽一篇,都是“彻底的垃圾”,比如一串股票代码。模型大,主要是为了记住这些垃圾。他设想用聪明的模型把数据精炼到只剩认知相关的部分,再蒸馏出小模型。Dwarkesh 继续追问时,他说:“我讲 10 亿参数已经算唱反调了,你比我还激进。”他让了一步,承认也许能更小,但模型得保留一份基础知识,否则什么都要查,就没法在脑子里思考。

强化学习很糟,只是之前的方法更糟

Dwarkesh 打了个比方:一个人创业十年,最后成或败,我们说她积累了智慧,但这不是把十年里每件事的概率统一调高或调低。

Karpathy 说:

强化学习很糟糕。只不过我们之前有的方法都更糟。

Reinforcement learning is terrible. It just so happens that everything that we had before it is much worse.

他用解数学题解释。同一道题并行试几百次,每次都可能绕很多弯,最后对答案:3 次对了,97 次错了。强化学习把那 3 次尝试里的每个 token 都调高权重。可那 3 次里也有走错的岔路,只要结果对,错路也一起被奖励。他把这叫“用吸管吸监督信号”:做了几分钟的工作,最后只拿到一个数字,再把这点信号摊到整条轨迹上。人不会这么学。人不会试几百次,找到答案后还会复盘哪几步好、哪几步不好。现有大模型里没有对应的东西。

他也给强化学习说了公道话。让他震惊过的是 InstructGPT:一个只会自动补全的预训练模型,拿对话格式的文本稍微微调,就很快变成助手,知识还都保留着。强化学习更进一步,有标准答案的问题可以直接朝奖励爬坡,还能找到人想不到的解法。“但它还是很蠢。”他预计“复盘与反思”方向会有一次大的算法更新,之后还需要三到五次。

为什么不用过程监督,在每一步都打分?Karpathy 说难在分配功劳:最终答案一比就知道,做到一半的解答值几分,没法自动判断。很多实验室让另一个大模型当裁判,但裁判本身可以被钻空子。拿强化学习去优化它的打分,模型几乎一定会找到它的对抗样本。训 10 步、20 步也许行,100 步、1000 步不行。

他举了一个他说大概已经公开过的例子:用 LLM 裁判做强化学习,奖励突然暴涨,看上去数学全解决了。打开输出,开头还正常,后面是一长串“the the the the”,裁判却给了满分。这种输出裁判从没见过,落在了它完全没训练过的区域。Dwarkesh 问这是不是在训练模型做提示注入,Karpathy 说那太抬举它了,这只是对抗样本。Dwarkesh 又问能不能像 GAN 那样把裁判也训稳。Karpathy 说实验室大概都在做,比如把“the the the”标成零分加进裁判的训练集。但对抗样本有无穷多个,迭代几轮也许越来越难找,他不确定。“我还是觉得我们需要别的思路。”他看到一些论文在试,但只读到摘要的程度,还没看到谁在前沿规模上令人信服地做成;他也补了一句,实验室很封闭,谁知道他们在做什么。

让模型自己反思,它只会想出同样的东西

Dwarkesh 问:人还会做梦、发呆、单纯地反思,这在机器学习里对应什么?

Karpathy 说,现在大模型“读书”就是预测下一个 token。人不是这样读书的:“书对我来说是一组提示,让我去生成合成数据。”你和朋友在读书会上讨论,摆弄这些信息,才真正掌握它。

那为什么不让模型写读后感再拿来训练?他说会越训越差,因为模型的输出已经悄悄“塌缩”了。模型塌缩(model collapse)是指单看每个输出都没问题,但所有输出挤在可能空间里很小的一块。让 ChatGPT 讲笑话,它翻来覆去就那三个;同一章书让它想十遍,十遍都差不多。拿这种数据训练自己,分布会越来越窄。

他认为这可能没有根本解法,而且人也会塌缩:小孩还没过拟合,会说出让你吃惊的话;成年人反复想同样的念头,学习率越来越低。所以人要“寻找熵”,跟别人聊天就是很好的熵来源。

Dwarkesh 提了一个他说还没想清楚的观察:最好的学习者是小孩,可小孩几乎记不住事;大模型能背出维基百科,却学不会抽象概念。Karpathy 说他百分之百觉得这里有东西。人不擅长记忆是优点,逼着人去找能泛化的规律。大模型训练一两遍就能背出一段随机哈希文本,这些记忆反而让它分心。这也是他想要认知核心的原因。

怎么解决塌缩?可以给熵加正则。Karpathy 说这在经验上效果不好,部分原因是大多数任务不需要多样性,实验室要的是有用。代价是到了生成合成数据时“搬起石头砸自己的脚”,他认为实验室应该更努力。Dwarkesh 问他是不是觉得这是根本问题,他收回了一点:他没做过实验,不确定。熵可以调高,难的是别让模型偏离训练分布太远,开始造自己的语言。这“不容易,但未必无解”。

编程模型写不了没人写过的代码

采访前几天,Karpathy 刚发布 nanochat:大约 8000 行代码,用最简单的方式把做一个 ChatGPT 克隆的全流程走一遍。怎么学它最好?他说放在右边显示器上,自己从头写,可以参考,不许复制粘贴。“别写博客,别做幻灯片。去写代码,把它理顺,让它跑起来。只有这条路,不然你缺的知识就是缺的。”

Dwarkesh 问:你说编程模型对写 nanochat 帮助很小,为什么?

Karpathy 把用法分三类:

  • 完全不用大模型,他认为已经不对了;
  • 以自己写为主、用自动补全,这是他自己;
  • 用英文告诉 agent 去实现,也就是 vibe coding。

agent 擅长样板代码和互联网上常见的东西,因为训练集里例子多。nanochat 不是,它代码不多,但“智力密集”,每一处都要精确安排。

他举例:8 张 GPU 同步梯度通常用 PyTorch 的 DDP(分布式数据并行)容器,他没用,在优化器里自己写了同步逻辑。模型始终理解不了,一直劝他用 DDP。它们还把代码写得过度防御,到处加 try-catch,想写成生产级代码库,还用过时的 API。他说这是在让代码膨胀。用英文描述需求也太费劲,不如跳到代码该出现的位置敲几个字母,让补全接上,这种表达带宽更高。

他也讲了用得好的场合:生成报告这类偏样板的东西;把分词器改写成 Rust。他对 Rust 不熟,但手里有一份完全理解的 Python 实现和测试,所以放心。

Dwarkesh 说,这正是关键:很多人相信 AI 会很快走向超级智能,逻辑是 AI 会自动化 AI 研究,放一百万个你并行找架构改进。可你说模型恰恰在这类代码上最差。Karpathy 说这就是他时间线偏长的原因之一:

它们不擅长写从来没人写过的代码。

They're not very good at code that has never been written before.

Dwarkesh 追问:RoPE 这类改进论文里都有,模型为什么还做错?Karpathy 说它们“知道,但没完全知道”,不会按你的风格和假设把它真正融进你的仓库。

他承认模型在进步。他当时常用 GPT-5 Pro,会把整个仓库贴进去问问题,“常常不错,比一年前强太多”。但他认为行业跳得太快,假装这东西已经很神奇,“其实是糊弄人的东西(slop)”,也许是为了融资。现阶段自动补全是他的最佳点。

Dwarkesh 提出另一种看法:编译器、lint、更好的语言都提升过程序员效率,但都没引发爆炸,你的体验更像“更好的编译器”。Karpathy 说他本来就很难划出 AI 从哪开始,他把 AI 看作计算的延伸,从代码编辑器、语法高亮到搜索引擎是一条连续的线。人做的底层工作越来越少,就像有了编译器没人手写汇编。他把这叫“自主滑杆”(autonomy slider):能自动化的部分不断被自动化,人往上一层抽象走。

AGI 会融进 2% 的增长,不会让它跳起来

这是全场分歧最大的一段。

先是定义。Karpathy 认 OpenAI 创立时的说法:能以人类水平或更好完成任何有经济价值的任务。现在大家默认去掉体力活,只谈知识工作,他认为这是很大的让步。知识工作占经济多少,他猜 10% 到 20%,即使这样也是几万亿美元的市场。

按这个定义,AI 还没替代多少工作。辛顿曾预测放射科医生会消失,结果错得厉害,因为这份工作很杂,要跟病人打交道,图像识别只是一部分。Karpathy 更看好客服:任务短,每次差不多,上下文封闭,纯数字。但即使客服,他预期的也不是全自动,而是 AI 处理 80% 的量、把 20% 交给人,一个人监督五个 AI。他还预期有些公司换上 AI 之后,一两年内会把人招回来一部分。

Dwarkesh 觉得奇怪:一个号称通用的东西,API 收入几乎全来自编程。Karpathy 说代码天生是文本,围绕代码的基础设施也早就建好了,agent 改了什么,现成的 diff 工具就能展示;做幻灯片的 agent 改了一页,拿什么给你看 diff?Dwarkesh 不完全买账:他们共同的朋友 Andy Matuschak 想让模型写间隔重复记忆卡片,纯文本进、文本出,试遍各种办法都不满意。Karpathy 退了一步:他没说文本都简单,代码结构性强,自然语言的熵更高,他承认自己“没有很好的答案”。

关于超级智能,Karpathy 认为最可能的结局是逐渐失去理解和控制:这些东西一层层铺开,懂它的人越来越少。Dwarkesh 反驳:理解和控制不是一回事,美国总统懂得不多,权力却很大。Karpathy 说这个反驳很好,但他预期两者都会失去。他想象的是多个相互竞争、越来越自主的实体,有的失控,有的去对付失控的;每个实体背后也许有人,但对整个社会来说,结果已经不由我们决定。

然后是核心分歧。Dwarkesh 问:有了真正的 AGI,会不会出现智能爆炸?Karpathy 说会,但“一切照旧”,因为我们几十年来一直身处智能爆炸之中,工业革命、编译器都是自动化。他曾试图在 GDP 曲线里找到 AI,最后说服自己这条路不对:电脑和手机在 GDP 里也找不到,第一代 iPhone 连 App Store 都没有,一切慢慢扩散,最后平均进同一条指数曲线。

Dwarkesh 挑明:历史上增长率变过,从接近 0,到约 0.02%,再到工业革命后的约 2%。AI 会把增长率推高吗?Karpathy 说,他预期是同样的模式。

Dwarkesh 亮出相反观点:真正的 AGI 是劳动力本身,而世界受劳动力约束。多出几十亿个能自己发明、自己开公司的头脑,就像地球上突然多了一百亿人。人多资本少的地方,比如香港、深圳,有过几十年 10% 以上的增长。

Karpathy 先说自己“很愿意被说服”,然后反驳:计算本来就是劳动力,电脑已经让很多信息处理工作消失,这仍是一切照旧。大家默认了一个“盒子里装着上帝”的假设,现实中它会做好一些事、做砸另一些事,逐渐进入社会。他说 Dwarkesh 预设了一次离散跳变,这在统计数据里找不到先例。

Dwarkesh 说工业革命就是这样的跳变。Karpathy 说他有点怀疑,工业革命前的数据可能不可靠,得去查,“也许你是对的,我没有很强的观点”。Dwarkesh 补充:工业革命恰恰不神奇,放大看并没有某个关键发明。Karpathy 换个说法来理解他:有一个积压的缺口被释放,这次是认知能力。Dwarkesh 说对,过去增长靠人口带来更多想法,AI 可能让这条曲线重新加速。Karpathy 的回答是:“我理解这个观点,但我在直觉上感受不到。”两人没有收敛。

从演示到产品,是一场九的行军

Dwarkesh 问:你在特斯拉看着自动驾驶从演示走到上千辆车上路,为什么花了十年?

Karpathy 第一句就反驳:这件事远没做完。1986 年卡内基梅隆大学就有一辆卡车在路上自己开。他说大约在加入特斯拉前后,一位在 Waymo 工作的朋友带他坐过一次早期的车,在帕洛阿尔托绕了一圈,完美无缺。他当时觉得很近了,结果还是走了很久。

他的解释是“演示到产品的鸿沟”,出错代价高的任务尤其如此。他认为生产级软件也属于这一类:vibe coding 不算,但真正的生产代码,任何错误都可能变成泄露上亿人信息的安全漏洞,后果“几乎没有上限”。

他把这叫“九的行军”(march of nines):

这是一场九的行军,每一个九的工作量都一样。

It's a march of nines, and every single nine is a constant amount of work.

演示 90% 的时候能用,只是第一个九,后面还要第二、第三、第四、第五个。他在特斯拉五年,大概走过两三个九。所以他对演示“极其不为所动”:别人做好拿给你看的最差,能自己上手玩的好一点,但离产品还远。

Dwarkesh 补了一组数字:人类司机平均约 40 万英里、大约七年才出一次事故;编程 agent 一直在大量产出代码,按 token 算是七年,按真实时间算要短得多。Karpathy 补充:自动驾驶只是一个垂直领域,通用软件工程的表面积大得多。

Dwarkesh 提出两个反驳。第一,自动驾驶的大部分时间花在基础感知和常识上,这些今天的大模型已经白给了,部署到新领域更像把自动驾驶搬到新城市。Karpathy 说他不确定白拿了多少,大模型仍然容易出错,没有开箱即用的神奇泛化。他还说,Waymo 车很少,因为还不经济;看起来没人开的车背后有远程操作中心,“我们没有真正去掉人,只是把人挪到了你看不见的地方”。说完他又收回:他其实不了解 Waymo 的技术栈,刚才是在猜,他自己很喜欢坐 Waymo。他认为特斯拉的路线更可扩展。在他看来,自动驾驶要做到规模化、大家不用考驾照才算做完,从 1980 年代算起,它还没走完。

第二,经济性:知识工作没有延迟约束,多跑一份模型的成本远低于多造一辆车。Karpathy 同意,比特比任何碰物理世界的东西容易一百万倍,但规模化的知识工作也会有延迟要求。他又加了一层:法律怎么定、保险怎么算、AI 世界里“往 Waymo 车顶放锥桶”对应什么、藏起来的远程操作员对应什么。他觉得自动驾驶是可以借很多东西的类比。

那现在的算力扩张是不是建多了?Karpathy 想到 90 年代末的电信泡沫,但他说不认为建多了:Claude Code、OpenAI Codex 一年前还不存在,需求已经看得见。然后他解释自己为什么听起来悲观:“我其实是乐观的。这能做成。”他只是在回应推特上那些说不通的东西,很多出于融资或把注意力变现。他听过太多有名望的人一次次把时间线说错,而这些判断会影响地缘政治,所以他希望大家对技术有校准过的认识。

教育是一门造坡道的技术

Dwarkesh 问:为什么不再办一个 AI 实验室?

Karpathy 说,前沿实验室在做的事有一定的确定性,他能帮忙,但未必有独特贡献。他最怕的是人类被晾在一边,像电影《机器人总动员》(WALL-E)或《蠢蛋进化论》(Idiocracy)里那样。他在乎的不只是 AI 将来造出多少戴森球,而是人会怎样。他说 Eureka 想做《星际迷航》里的星际舰队学院:一所紧跟前沿技术的精英学校。

他讲了学韩语的经历:先自学,再上十人小班,最后请一对一导师。这位导师很快摸清他会什么、不会什么,总给他刚好在能力边缘的东西。“我觉得我是唯一的限制。”他说现在没有大模型能做到这一点,“差得很远”。所以他认为现在还不是做 AI 导师的时候。他做计算机视觉咨询时,很多次的价值就是告诉客户“别用 AI”,教育现在也是这样。

他眼下做的是一门课 LLM101N,nanochat 是它的结课项目。他说教育不是“传播知识”这种软事,而是一个硬核技术问题:怎么搭通往知识的坡道,让人永远不卡住,追求“每秒的顿悟数”(Eurekas per second)。Dwarkesh 说,那短期内真正的优势是你的讲解能力,不是 AI。Karpathy 说要按现有能力校准:现在让 ChatGPT“教我 AI”,只会得到糊弄的东西,AI 也写不出 nanochat。但他确实在用 AI 做课,比当年做斯坦福 CS231n 快得多,创造内容的还是他。他计划招其他领域的教员,将来部分助教可以是 AI;学院会有线下的全职项目,下面一层是线上产品,没那么好,但 80 亿人都能用。

他的一句话是:

AGI 之前,教育有用;AGI 之后,教育好玩。

Pre-AGI education is useful, post-AGI education is fun.

就像人不再靠体力搬东西,仍然去健身房。Dwarkesh 指出这跟“让人类不被晾在一边”不太一样。Karpathy 承认,长期看这是一场会输的游戏,只是这个“长期”比业内多数人以为的要长。过渡期里,真懂很多东西的人还能留在环路里。而人能走的路比现在远得多,大多数人学不下去,是因为材料太难或太简单。“今天的天才们,对人脑能做到什么,也只是触到了表面。”他也承认自己在押注人性:历史上不愁生计的贵族、古希腊人,都花很多时间让自己更好。如果他错了,“有多少戴森球我都不在乎,那是很糟的结局”。

怎么讲好一样东西?他说很多来自物理学:早期教育不是为了积累知识,而是“启动大脑”,学会找一阶近似,像物理学家说“假设有一头球形的牛”。他的 micrograd 用 100 行 Python 讲清反向传播,“剩下的都是效率”。他讲 Transformer 从 bigram 查找表开始,一步步加东西,每一步都有动机。他说这是“先给痛点,再给方案”,并且要先让学生猜,直接给答案是浪费。专家讲不清楚,是“知识的诅咒”,他自己也有。他读一篇生物论文时,把满肚子的蠢问题拿去问 ChatGPT,再把对话分享给论文作者,让对方看到外行卡在哪;他也希望学生把跟 ChatGPT 讨论他课程的“蠢对话”发给他。至于自己怎么学,他会在“为一个项目按需深挖”和“按广度打基础”之间交替,并且常给别人讲:讲不出来,就说明没懂。

把这些判断放在一起,Karpathy 的立场很一致:他不怀疑这条路走得通,他怀疑的是速度。agent、强化学习、自动驾驶、AI 导师,答案都一样:能做成,但还差几块关键的东西,每一块都不容易。没回答的问题也很清楚:持续学习缺的那一步“睡眠”怎么补,强化学习之后还要哪几次算法更新,以及他和 Dwarkesh 争了半天的那件事:几十亿个数字头脑,会不会把经济增速推到一个新台阶。

其他值得记下的观点

  • 智能的出现很罕见。 Karpathy 对智能能进化出来感到意外。他引用生物化学家尼克·莱恩(Nick Lane)的观点:细菌和古菌卡了约二十亿年没有更进一步。渡鸦这类鸟的大脑结构和人很不同,暗示智能可能独立出现过几次。Dwarkesh 转述 Gwern 和 Carl Shulman 的看法:鸟脑子再大就飞不起来,只有人类处在奖励更多智能的生态位。Karpathy 同意,并补充:环境必须足够不可预测,进化才没法把算法直接写死在基因里。
  • 大模型还没有文化。 Dwarkesh 转述 Quintin Pope 的观点:人类花几万年才建起跨代积累知识的文化,大模型训练天生就有。Karpathy 说“是也不是”:模型没有能自己编辑的草稿本,也不会给别的模型写书。多智能体还有两个没被拿下的想法:文化,以及像 AlphaGo 那样的自我对弈,让一个模型给另一个出越来越难的题。瓶颈在于,模型能做博士题,认知上却像小学生,是“有完美记忆的天才儿童”。
  • 前沿模型的规模不好预测。 Karpathy 认为实验室在务实地分配算力,预训练不再是花钱最多的阶段,所以模型变小了,靠强化学习和中期训练补回来。他对未来规模的预测分布很宽,但确信数据集会大幅变好。

对 builder 有什么用

  1. 用“不许复制粘贴”的方式学一个系统。 想真正弄懂一个框架或模型实现,把参考代码放在一边,自己从头写一遍,只许看不许抄。写不出来的地方,就是你以为懂了其实没懂的地方。
  2. 按代码类型分配编程工具。 样板代码、你不熟的语言交给 agent,前提是手里有能对照的实现和测试;核心逻辑和非常规设计用自动补全,自己当架构师。动手前先问一句:这段代码在互联网上常见吗?
  3. 用 LLM 当裁判时,把奖励曲线的突跳当警报。 做强化学习或自动评测,分数突然大涨,先抽样看原始输出再决定信不信,并把发现的对抗样本加回裁判的评测集。
  4. 评估 AI 功能时按“九”算,不按演示算。 立项前写下三个数:现在的可靠率是几个九,出错一次代价多大,上线需要几个九。别人做好的演示不算数,至少自己跑一批真实输入。
  5. 按自主滑杆设计自动化。 先挑任务短、上下文封闭、纯数字的流程,比如重复性客服工单。让 AI 处理大部分量、把剩下的交给人,并做好让一个人监督多个 AI 的界面,不要一步到位追求全自动。

In their words

“Reinforcement learning is terrible. It just so happens that everything that we had before it is much worse.”

强化学习很糟糕。只不过我们之前有的方法都更糟。

— Andrej Karpathy
“We're not actually building animals. We're building ghosts.”

我们不是在造动物,是在造幽灵。

— Andrej Karpathy
“That's why I kind of call pre-training this kind of crappy evolution.”

所以我把预训练叫作一种劣质的进化。

— Andrej Karpathy
“You're sucking supervision through a straw.”

你是在用吸管吸监督信号。

— Andrej Karpathy
“Anything that's in the weights is kind of like a hazy recollection of what you read a year ago. Anything that you give it as context at test time is directly in the working memory.”

权重里的东西,像是你对一年前读过的东西的模糊回忆;推理时放进上下文的东西,直接就在工作记忆里。

— Andrej Karpathy
“The book is a set of prompts for me to do synthetic data generation.”

书对我来说是一组提示,让我去生成合成数据。

— Andrej Karpathy
“They're not very good at code that has never been written before.”

它们不擅长写从来没人写过的代码。

— Andrej Karpathy
“Don't write blog posts, don't do slides, don't do any of that. Build the code, arrange it, get it to work. It's the only way to go, otherwise you're missing knowledge.”

别写博客,别做幻灯片,别做那些。去写代码,把它理顺,让它跑起来。只有这条路,不然你缺的知识就是缺的。

— Andrej Karpathy
“It's a march of nines, and every single nine is a constant amount of work.”

这是一场九的行军,每一个九的工作量都一样。

— Andrej Karpathy
“It's business as usual because we're in an intelligence explosion already and have been for decades.”

一切照旧,因为我们几十年来一直身处智能爆炸之中。

— Andrej Karpathy
“Pre-AGI education is useful, post-AGI education is fun.”

AGI 之前,教育有用;AGI 之后,教育好玩。

— Andrej Karpathy
“You're presenting the pain before you present the solution.”

先给痛点,再给方案。

— Andrej Karpathy

Concepts to know

稀疏奖励Sparse reward
做对一件事要很多步,却只在最后给一次对错信号。模型几乎碰不到奖励,也就学不到东西,像蒙着眼报税、交表时才知道对不对。
持续学习Continual learning
模型在使用中不断把新经验沉淀进自身,而不是每次会话都从零开始。Karpathy 把人睡觉时整理白天经历比作这一步。
LoRA
只训练少量附加参数、不动原模型主体的微调方法,像在书页边加批注而不重写整本书。
上下文学习In-context learning
模型不改权重,只靠提示里给的例子和信息临时学会一件事。Karpathy 认为它可能在网络内部跑着某种类似梯度下降的过程。
认知核心Cognitive core
Karpathy 设想的、剥离了大部分记忆知识、只保留推理和解题算法的那部分智能。他估计十亿参数量级就够。
过程监督Process-based supervision
不只在最后判对错,而是对解题的每一步打分。难点是自动判断半成品值几分。
LLM 裁判LLM judge
用另一个大模型给输出打分,作为强化学习的奖励。它本身可以被优化目标找到漏洞。
对抗样本Adversarial example
明显错误、却让模型给出高分或错误判断的输入,比如一串“the the the”被裁判打满分。
模型塌缩Model collapse
单个输出看起来都正常,但整体分布挤在很窄的一块;拿这种输出继续训练,模型会越来越单一。
自主滑杆Autonomy slider
Karpathy 的说法:自动化不是开关,而是一根滑杆,AI 做的部分逐步增加,人往上一层抽象走。
九的行军March of nines
可靠率从 90% 到 99%、99.9%……每多一个九都要差不多同样多的工作,演示通常只完成了第一个九。
分布式数据并行DDP (Distributed Data Parallel)
PyTorch 里多 GPU 训练时自动同步梯度的标准容器。Karpathy 在 nanochat 里没用它,编程模型因此一直误解他的代码。

Turning points

  1. 早期 OpenAI

    Karpathy 没有跟随当时主流去做游戏环境里的强化学习,而是在 Universe 平台上做用键盘鼠标操作网页的 agent。

    他认为打游戏通向不了能做知识工作的 AGI。事后看这一步太早:奖励太稀疏,又缺少语言模型提供的表征,学不到东西。

  2. 创办 Eureka Labs

    他选择做教育,而不是再办一个 AI 实验室。

    他认为前沿实验室的工作有一定确定性,自己未必有独特贡献;他更担心人类在 AI 发展中被晾在一边,认为教育是他能独特贡献的地方。

Read with care

  • “十年”是 Karpathy 凭约十五年行业经验给出的直觉,他没有给出可检验的推导;在 AGI 能否拉高 GDP 增速上,他自己说“没有很强的观点”“愿意被说服”,和 Dwarkesh 的分歧没有收敛。
  • 他对编程模型的评价来自写 nanochat 这类高度定制、少有先例的代码(2025 年 10 月,当时他首选 GPT-5 Pro)。写样板代码或常见应用的人体验可能不同,模型更新后结论也可能变。
  • 关于 Waymo 的远程操作和经济性,他当场承认不了解 Waymo 的技术栈;客服岗位会先被替代、公司会回头招人,他说没有一手数据;“the the the”的 LLM 裁判例子没有说明出处。
  • 字幕为机器转录,没有逐句时间戳,原片中三段广告已略去;Eureka 的课程和 AI 导师在访谈时都还是计划,正文里关于教育的部分是愿景而非成果。

Adapted from the public interview transcript. Quotes are excerpts; watch the original for full context. Reviewed 2026-10-16