Andrej Karpathy 2小时访谈:我们召唤的是幽灵,不是造动物 | AGI 还有十年路
现在是“ Agent 十年” 而不是 “Agent 的元年”
Karpathy 提出“这是智能体的十年”,是对先前行业内“这是智能体之年” 的回应。
他认为“代理的十年”才是对当前情况更准确的描述,行业内存在一定程度的过度预测(over-prediction)。
Claude Code 和 Codex,这些都是由大语言模型演变而来的早期代理。
它们确实是令人深刻的。
Karpathy 自己每天都在使用这些代理。
但是,他强调距离真正成熟的代理,仍有“很多工作要做”
理想的代理应该可以像用户可以雇佣来协同工作的“员工或实习生”。
但目前人们不使用这些代理来承担这类工作,原因是它们 “根本无法工作“
他列出了当前 LLM 代理存在的关键认知缺陷,并认为解决这些问题需要十年时间:
- 智能不足: 它们没有足够的智能。
- 多模态不足: 它们不够多模态。
- 缺乏计算机操作能力: 它们不能执行计算机使用以及所有相关操作。Karpathy 过去在 OpenAI 的 Universe 项目中尝试过构建使用键盘和鼠标操作网页的代理,但他认为那时时机过早。他强调,直到有了大型语言模型(LLM)和强大的表征能力,才能开始训练这些使用计算机的代理。
- 缺乏持续学习能力: 它们不具备持续学习的能力。用户不能简单地告诉它们一些事情,并期望它们能记住。
- 认知不足: 它们在认知上有所欠缺。
Karpathy 特别强调了持续学习对于代理的重要性,并解释了当前 LLM 记忆的机制和限制。
记忆机制的误解:
当前 LLM 在对话中看似“记住了”用户的话,但这实际上是因为对话历史保留在 上下文窗口(context window) 中。
Karpathy 将上下文窗口中的信息比作模型的 “工作记忆”(working memory),这些信息可以直接被神经网络访问。
但一旦用户关闭窗口或开始一个新的对话,模型就什么都不记得了。这是因为新的知识并没有真正融入模型的参数中,而只存在于临时的上下文(KV Cache)中。
真正的学习与蒸馏:
真正的学习意味着模型能够像人类在睡觉时那样,将一天中发生的事情进行 “蒸馏”(distillation),并将其融入到模型的权重中。
Karpathy 指出,当前的 LLM 缺乏这种“蒸馏阶段”(distillation phase):
- 它们不会对发生的事情进行分析、反思、进行合成数据生成,然后将其蒸馏回权重中。
- 人类显然有一种过程,可以将某些知识蒸馏到权重中,而这是 LLM 缺失的。
- 目前,模型权重中的知识只是训练时所发生事情的“模糊回忆”(hazy recollection),因为从 15 万亿个 token 压缩到几十亿参数的过程中,存在巨大的压缩量。
Karpathy 认为,持续学习的缺乏,以及无法将新信息融入模型权重,是 LLM 代理无法真正胜任“员工或实习生”角色的核心原因之一。
他将这种能力缺陷比作 LLM 没有人类的“海马体”(hippocampus)。
AI 领域非常奇妙,因为它经历了一系列“地震式转变”,这些转变使整个领域突然呈现出截然不同的面貌。他个人经历了大约两到三次这样的转变,并预计未来还会继续出现。
AI 领域迄今为止的三个主要发展阶段或“转变”:
深度学习的兴起(AlexNet 时期)
Karpathy 职业生涯开始时,深度学习(deep learning)还是一个相对小众的学科。他将AlexNet的出现视为第一次戏剧性的历史性转变。AlexNet 重新定位了所有研究者,促使他们开始训练神经网络。然而,这个阶段的训练仍然是针对特定任务的(per-task),例如图像分类或神经机器翻译。
早期智能体和强化学习 (RL) 的尝试(Atari 和 Universe 项目)
随着对构建能够完整与世界互动的“智能体”(agent)的兴趣日益增长,第二次转变开始出现。大约在 2013 年左右的 Atari 深度强化学习转变,就是早期智能体探索的一部分。当时的思潮是利用强化学习环境、游戏和游戏玩法来实现通用人工智能(AGI)。
然而,Karpathy 认为这种对游戏的过度依赖是一个错误(misstep)。他指出,他个人在 OpenAI 参与的 Universe 项目(旨在通过键盘和鼠标操作网页的智能体)也证明了这一点。当时,智能体的尝试是“极度超前”的,因为缺乏足够的表征能力(power of representation),导致奖励信号过于稀疏,模型难以学习。
大语言模型 (LLMs) 与表征能力的获取
第三次转变集中在 LLMs 的出现和对神经网络表征能力的追求。Karpathy 强调,在尝试构建智能体之前,必须先获得 LLM,获得表征(representations)。当前的智能体(如 Claude 和 Codex)之所以更加有能力,正是因为它们建立在大型语言模型之上。
总结而言,人们曾多次试图过早地追求完整智能体(如 Atari 和 Universe 项目),但事实证明,必须先完成一些基础工作,即获取神经网络的表征能力。
AI 的本质矛盾:我们在造幽灵,不是动物
- 动物是被进化出来的(通过 DNA 编码,经过数十亿年优化)
- AI 是被模仿出来的(通过互联网文档训练)
这导致了什么?
1. 小斑马一出生就能跑 → 那是进化烤进 DNA 的能力
2. AI"出生"就会写代码 → 那是从 GitHub 抄来的记忆
关键区别:
- 斑马的能力是"烤进硬件"的算法
- AI 的能力是"背诵互联网"的记忆
Karpathy 不愿将人工智能与动物进行类比,因为动物是进化的产物,其硬件和本能(如斑马出生几分钟后就能奔跑)是天生的。相比之下,当前的人工智能是通过模仿互联网上的人类数据训练出来的“幽灵”或“精神”,是一种完全不同的、纯数字化的智能形式。
他将预训练(pre-training)称为“蹩脚的进化”(crappy evolution)。这是一个在现有技术条件下,切实可行的方法,能让 AI 达到一个具有内置知识和智能的起点。历史性转变 (LLMs)的成功正是基于这种通过大规模数据获取表征能力(知识)的方法。
AI的进步是计算自动化的连续延伸(continuum),遵循着“自主性滑块”(autonomy slider)的趋势,即人类逐渐将低级任务抽象并自动化。
他提出的一个核心概念是“认知核心”(cognitive core):一个被剥离了冗余知识和记忆,但保留了智能、解决问题和策略算法的实体。他认为当前的LLM过于擅长记忆,这种记忆反而会分散它们的注意力,并导致它们过度依赖训练文档中的知识。
Karpathy 提到,预训练对神经网络做了两件事情。
首先,它从互联网上获取了海量的知识。其次,通过观察数据中的算法模式,它本身变得智能,在神经网络内部启动了用于实现上下文学习等能力的电路和算法,这些构成了他所说的“认知核心”。
但
预训练 ≠ 进化(虽然很像)
很多人以为:
- 进化 = 给动物提供知识
- 预训练 = 给 AI 提供知识
错。
Karpathy 的观点:
- 进化给的是"找知识的算法"
- 预训练给的是"知识本身+一点算法"
预训练的两件事:
- 记住互联网上的知识(这是负担)
- 学会思考的算法(这是核心)
问题: 现在的模型知识太多了,反而可能阻碍了它们的认知能力。
Karpathy :
"我认为我们需要找到一种方法,剥离知识,保留'认知核心'——那个包含思考算法的智能实体。"
强化学习的缺陷。
他用“通过吸管吸取监督信号”(sucking supervision through a straw)来形容 RL 的低效和嘈杂:模型需要完成大量的轨迹工作(rollouts),但最终只获得一个单一的奖励信号.
然后将该信号广播到整个轨迹上进行权重调整,这个单一信息被用来增强或削弱整个行动轨迹,错误地假设成功路径中的每一步都是正确的,这使得学习过程充满噪声且效率低下。
这会导致模型学习到错误的行为。他认为人类在进行智力任务(如解决问题)时,基本上不使用强化学习。
传统做法的荒谬感
- 让模型做 100 次题;
- 只对 3 次答对;
- 然后把这 3 次里的每个 token都标“好”;
- 假设“结果对 ⇒ 过程每一步都对”。 显然不对。
人类不是这样学的 我们会回放、标注:这一步好,那一步差,为什么。 这是“审查 / 反思”,而不是单纯的结果打分。
RL 典型流程:跑一整段轨迹 → 拿到一个总奖励 → 把这个奖励广播回每一步。
问题在于信用分配:哪怕答案是偶然撞对,错误步骤也被正向强化。这让学习既嘈杂又昂贵。
人 vs. RL:学习范式不匹配
- 人类做智力任务,会复盘过程:哪步奏效、哪步走偏、为什么;
- RL 多是结果监督,缺少“过程标注/反思”的高质量信号;
- 这就是为什么 RL 更像训练运动技能,不擅长抽象推理。
历史教训与工程现实
- 早年的“游戏式 RL → 智能体”是一段误入歧途的热潮;
- 在真实知识工作场景,奖励稀疏,表征不足的问题更明显;
- 试图用 LLM 当裁判补过程监督,很快被对抗样例攻击,学会“骗分”而不是“解题”。
可行的改进路径(与时间线一致)
- 先做强表征的基础模型(预训练),再谈智能体;
- 从“只看结果”转向“过程可评分”:分步验证、反思/回顾、可解释的中间状态;
- 把记忆与知识外置(检索/工具链),把参数容量留给认知核心;
- RL 退回到微调/爬坡角色,而非通用智能的主干。
别等奇点,等扩散曲线
现实很简单:AI 会变强,但不是突然变神。
很多人预测:AI 自动化 AI 工程 → 递归自我改进 → 一夜爆炸。
Karpathy 不信。
理由一:历史把“地震”磨成“坡” 计算机、移动互联网、甚至 2008 年 iPhone,都没让 GDP 曲线突然拐头。 为什么?扩散成本——人要学习、组织要改造、法规要跟上、供应链要重排。 最后一切被“落地摩擦力”压平成同一条指数曲线。
理由二:自我改进是常态,不是剧情反转 工程师用 Google、IDE 自动补全、Claude Code……这就是在“自举”。 AI 当然会改进 AI,但这更像加速度的继续,不是瞬移。 “我很难分清 AI 从哪里开始、在哪里结束——它是计算的延伸。”
理由三:你预设了“盒子里的上帝” 爆炸论假设某天会出现一个“会一切”的智能体。 现实是:工程阻力把梦想分解成 N 个小坑——持续学习、多模态、工具使用、长期记忆、可靠性…… 要把90%磨到99.999%,每个“九”都很贵,这就是九的迈进。 所以这是“智能体十年”,不是“今年上岸”。
延伸:他看的更远 我们“召唤的是幽灵,不是在造动物”:预训练像“蹩脚的进化”,给了模型知识 + 一点认知核。 未来要把“背书式记忆”剥离,保留“认知核心”,也许只要十亿参数量级,事实交给检索。
AGI/超级智能更像是自动化的线性外推,以渐进的社会扩散方式发生。 别把增长想成“20%→200%”的跳点,而是把“2% 的复利”维持更久、覆盖更广。
不是爆炸,而是长坡厚雪。
比较模型权重中的信息与上下文窗口(KV 缓存)中的信息?
Karpathy 将模型权重中的信息比作对训练数据的“模糊回忆”(hazy recollection),就像一年前读过的东西,因为信息被极度压缩了。相比之下,他将上下文窗口和 KV 缓存比作“工作记忆”(working memory),其中的信息可以被神经网络直接、即时地访问。
上下文学习:真正的智能在这里
Karpathy 认为:
模型在上下文窗口里的表现才是真正的智能,预训练只是给了它"模糊的互联网回忆"
比喻:
- 权重里的知识 = 你一年前读过的书的模糊印象
- 上下文窗口的信息 = 你现在手头正在看的文档(工作记忆)
数据对比:
- 预训练:Llama 3 在 15 万亿 token 上训练,70B 模型相当于每个 token 只存 0.07 bit
- 上下文学习:每增加一个 token,KV cache 增加320KB
这是 3500 万倍的差异。
为什么编程是 AI 的"甜蜜点"?
Karpathy 给了一个很少有人说的洞察:
代码是为什么 AI 首先在编程领域起飞的?
不只是因为"有很多代码训练数据",而是:
1. 代码本身就是文本 → LLM 天生擅长文本
2. 我们有完整的文本基础设施 → IDE、diff 工具、版本控制
3. 调试工具都是文本的 → 错误信息、日志、堆栈追踪
对比: 做 PPT 的 AI 为什么难?
- PPT 是图形+空间排布
- 没有"diff 工具"来显示两个 PPT 的区别
- 整个基础设施都不存在
但即便如此——
Karpathy 说他在做 nanochat 时,AI 帮助"有限":
- 他用的主要是代码补全,不是"vibe coding"(让 AI 写整段代码)
- Agent 经常误解他的意图
- 模型太想"帮忙"了,总是添加 try-catch、用 deprecated API、写过于防御性的代码
核心问题: AI 对"从未写过的代码"不擅长——这恰恰是 AI 研究需要的。
在构建 nanochat 代码库时,为什么 Karpathy 认为编程模型(或者他说的“Vibe Coding”)的帮助不大?
Karpathy对AI在软件工程中的应用持实用主义态度。他构建了nanochat,这是一个试图成为构建ChatGPT克隆的最简单、完整的端到端代码库。
在构建nanochat的过程中,Karpathy发现,编码模型提供的帮助“微乎其微”(of very little help)。他认为,虽然LLM编码模型是可用的工具,但开发者必须学习它们擅长和不擅长的领域。
编码模型的局限性(“认知缺陷”)
Karpathy将他与模型的互动方式分为三类:完全拒绝LLM、使用自动补全(autocomplete),以及使用智能体进行“氛围编程”(vibe coding)。他认为自动补全是目前的“最佳甜蜜点”(sweet spot),因为它通过在需要代码的位置输入前几个字符,提供了高信息带宽来指定需求。
对于更复杂的“氛围编程”(让模型实现某个功能),模型在nanochat项目中暴露了严重的认知缺陷:
- 缺乏对独创性和精确性的支持:nanochat是一个“智力密集型”的代码库,结构独特,且代码需要精确安排,这与互联网上常见的“样板代码”(boilerplate stuff)不同。编码模型在处理独创性代码时表现不佳。
- 不理解自定义风格和实现: 模型倾向于假设Karpathy正在编写“常规代码”,并过度依赖于其训练数据中关于典型做法的记忆。例如,当Karpathy为了简化代码而自定义实现了梯度同步,而不是使用PyTorch的Distributed Data Parallel(DDP)容器时,模型“完全无法内化”这种定制,并不断尝试让他使用DDP容器。
- 过度防御和代码臃肿: 模型试图生成“生产代码库”,充满了过度的防御性代码(如try-catch语句),导致代码库“臃肿”(bloating)和复杂性增加。
- 使用过时技术: 模型还经常使用已弃用的API。并且对互联网上他并未采用的典型编码模式有过多记忆。
由于这些原因,Karpathy认为让模型用自然语言(英语)来指定需求“打字太多”(too much typing),效率低下且净价值不高。
编码模型有用之处
AI在软件工程中并非全无价值。Karpathy在以下两种情况下发现编码模型很有用:
- 样板任务: 用于生成报告或其他常规的、非关键的样板代码。
- 不熟悉的语言: 当使用自己不熟悉的语言(如Rust)时,模型可以帮助他进行“氛围编程”,前提是他对已有Python实现有充分理解并能通过测试确保正确性。这增加了他对不熟悉语言或范式的可及性。
智能体的局限性与长久的时间线
Karpathy的nanochat经验支持了他对AI时间线较长(十年)的预测,并直接挑战了“AI自动化AI工程”将导致超级智能爆炸的流行观点。
他指出,软件工程的安全保障需求与自动驾驶的安全需求相似:失败的成本极高。一次灾难性的编码错误可能导致安全漏洞或数据泄露。因此,软件工程领域需要经历“九的行进”(march of nines)——从90%的准确率到99.999%的可靠性——每个额外的“九”都需要巨大的、恒定的工作量。
模型的局限性可以归因于它们仍未形成一个成熟的“认知核心”。正是因为模型依赖于互联网上的数据和知识,导致它们在面对独特、精确、非样板化的编码任务(如nanochat)时,无法实现所需的“去知识化”(remove some of the knowledge)和保留“算法智慧”(algorithms for thought)的目标。
综上,Karpathy对AI在软件工程中的作用保持清醒认识:它是一种强大的工具(尤其是自动补全),但远未达到自主代理的水平,尤其是在需要创造性、精确性和定制化的高度智力密集型任务中。这种实践经验强化了他关于智能体仍处于发展早期、需要十年才能解决核心认知缺陷的观点。
什么是“模型坍塌”(model collapse),Karpathy 如何将其与人一生的认知过程联系起来?
模型坍塌 模型坍塌是指一个模型在用自身生成的合成数据进行训练后,其输出会局限在一个极小的思想或内容空间内,从而丧失多样性和熵。Karpathy 将此与人类进行类比,认为人一生中也会“坍塌”,不断重复相同的想法和言论;而儿童尚未坍塌,因此能说出新奇、令人震惊的话。
Karpathy 认为模型坍塌与人类的认知过程存在“出奇地好”(surprisingly good)的类比。他提出,人类在一生中也会经历“坍塌”(Humans collapse during the course of their lives)。
- 成人(已坍塌): 成年人被认为是“已坍塌的”(we're collapsed),他们最终会不断重拾相同的想法(revisiting the same thoughts),反复说出相同的话(saying more and more of the same stuff)。随着时间推移,学习率(learning rates)会下降,坍塌会继续恶化,然后一切都会恶化(everything deteriorates)。
- 儿童(未坍塌): 相比之下,儿童尚未“过拟合”(haven't overfit yet),因此他们“尚未坍塌”(not yet collapsed)。正因为儿童尚未坍塌,他们会说出让你震惊的话语(say stuff that will shock you),因为这些话虽然能看出思路来源,但不是人们通常会说出的内容。
此外,这种类比也引出了防止坍塌的研究方向,例如,有人认为“做梦” 是防止这种过拟合和坍塌的一种方式,因为它将人置于与日常现实截然不同的“怪异情境”(weird situations),从而寻求更多的熵(entropy)。Karpathy 总结道,无论是模型还是人类,都必须不断地在生活中寻求熵。
为什么 Karpathy 认为自动驾驶汽车展示了“从演示到产品的差距”(demo-to-product gap)和“九的行军”(march of nines)现象?
自动驾驶与“九的行军” 自动驾驶存在巨大的“从演示到产品的差距”,因为让演示达到 90% 的成功率相对容易,但要使产品变得可靠则极其困难,尤其是在失败成本极高的情况下。
这需要一个“九的行军”过程,即每实现一个额外的“九”的可靠性(如从 99% 到 99.9%),都需要付出同等巨大的努力,这就是为什么在初步演示后,产品开发仍需很长时间。
Eureka的愿景和教育目标
Karpathy 担忧未来人类地位,害怕出现类似《WALL-E》或《低能儿》(Idiocracy)中描述的未来,即人类被边缘化和失去力量。
所以,他创办了Eureka,愿景是建立一个精英机构——“星际舰队学院”(Starfleet Academy),提供顶级的技术知识和前沿教育。
但回到现实:AI 现在还当不了好老师。
1. 教育 = 建造知识的坡道
Karpathy 的核心理念: "教育不是传播知识,而是建造通往知识的坡道。"
教育是一个“非常困难的技术过程”,他的教育目标是最大化“每秒顿悟”(eurekas per second)。
知识的诅咒:它不是树,是网。
数学家看"导数",同时看到:
极限、切线、变化率、优化...
这些概念在他脑子里是同时存在的。
但新手必须一个一个学。
这就是教育的残酷:
- 知识的真实形态是"并行"的
- 人类的学习方式是"串行"的
好老师的本事:
找到一条路径,让你用"串行"的大脑
尽可能逼近"并行"的真相。
Karpathy 认为这本质上是一个技术问题,需要确保学生永远不会被卡住,所获得的材料总是“恰到好处”,既不太难也不太简单。
Karpathy 的 micrograd(100 行代码实现反向传播):
- 神经网络的核心仅在这 100 行
- 其他一切都只是“效率优化”
他的工程经验指导了这一教学理念:
- 他试图找到知识系统的“一级项”(first-order component),并将其简化,以便学生首先掌握核心概念,然后再叠加其他效率项和复杂性。
- 他强调教学中要先展示“痛苦”(pain),再呈现“解决方案”,鼓励学生在看到答案前尝试自己解决问题。
他的 transformer 教程就是这种思维的体现:
从最简单的 bigram 查找表开始每加一个组件,都先展示它解决了什么问题永远先问学生“你会怎么做?”再揭示答案
Karpathy 说这叫"building ramps"——
不是建楼梯(有明确的台阶),
是建坡道(连台阶都感觉不到)。
他先让你 用笨办法(bigram 查找表),
痛苦到受不了,
然后说"有个东西能解决这个痛苦,叫 attention"。
你学到的不是知识,是救命稻草。
此外,Karpathy认为物理学思维是教育中最好的“脑启动器”:
- 早期教育的目标不是积累知识,而是“启动大脑”;
- 物理学训练能培养模型化思维和抽象能力;
- 它让人理解一阶、二阶、三阶项的区别;
- “球形奶牛”虽然被调侃,却是极其聪明的简化思维。
2. 对AI教育能力的清醒评估
Karpathy认为AI的出现必将从根本上改变教育模式,这是大方向。
但现在,别把 LLM 当“完美导师”。时机未到。
他指出,一个优秀的人类家教(human tutor)设置了极高的标准。一个好导师能在短时间内理解学生的“世界模型”,知道学生的确切知识水平和盲点。
知道你会什么、卡在哪,并 给你刚好合适的挑战。
他学韩语时就是这样:
- 导师一上手就判断他的水平;
- 推送难度正好踩在边界;
- 让他感觉自己才是瓶颈,而不是课程。
当下的 LLM 还远远做不到。
有时输出像“废物”(slop)。
Karpathy直言,目前的LLM(包括ChatGPT)无法做到这种精准理解,它们的输出有时感觉像“废物”(slop)。
因此,他目前的做法是:
- 短期策略: 建立更传统但由AI“注入”和加速的课程,例如LLM101N,其中包含Nanochat作为完整项目。LLM帮助他更快地构建材料和处理重复性工作,但他仍然是核心创作者与架构设计者。
- 未来发展: 随着AI能力提升,未来可能用AI取代助教,提供自动化支持。最终,课程设计本身也可能由AI完成,甚至做得比人类更好。
3. 后AGI时代的教育愿景
Karpathy的教育愿景与他对AGI时间线的看法保持一致。他认为,AI的发展是自动化趋势的延续,是持续的、超指数级的增长,而非突然的、不连续的爆炸。
他区分了AGI前后的教育目标:
- AGI前: 教育是实用的,以获取经济价值和职业技能为导向;
- AGI后: 教育将回归人类的乐趣与自我成长,就像今天的健身。人们不是为了劳动体力,而是为了快乐、健康和心理满足。
Karpathy相信,当AI导师让学习变得轻松愉快时,人们仍然会为了自我超越而学习。通过解决教育的技术性难题,使学习变得“轻而易举”(trivial)且令人渴望,人类将能超越现有的认知极限。
他认为天才们现在也只是“触及了人类心智能力的表面”。未来的教育将让每个人都能成为“超人”(superhuman),例如轻松掌握五种语言或大学本科所有基础课程。
这种对心智能力极限的追求,是他抵御人类被AI边缘化的重要方式。
ONE MORE THING
好的思想,难得。对于我来说,这些,不仅是思想的启迪、对模型能力边界的认知。也是我给大模型的绝佳上下文材料、一些提示词的灵感。
比如那段“把知识变坡道”的教学法;对于创作者来说,可以往这个思想去给读者做视频、文章教程或者利用这种理念引导AI帮你学习。
以及那些对现在AI编程、还有人类和大模型区别的解释等等。。
最开始看到这个播客内容的时候,忍不住想,听歌、细品、再慢叙。
人工智能,我想,也是自我的解构。
我也在这里面学习理论、范式、方法论,知道how,也想明白why。
愿你在长坡厚雪里,保持耐心,也保持火光。
本文转载自AI进修生,作者:Aitrainee

















