AI应用风向标(公众号:ZhidxcomAI)
作者|江宇
编辑|漠影

智东西11月6日报道,近日,前特斯拉AI负责人、OpenAI研究员安德烈·卡帕西(Andrej Karpathy)接受播客《Dwarkesh Pdocast》专访。

在长达150分钟的对谈中,这位AI界大神兼“网红”系统回顾了过去十年人工智能的演进路径,重点阐述了他对“智能体十年”的判断逻辑,重申大模型的局限性,并警告强化学习、模型坍缩等机制性问题仍未解决。

卡帕西认为,当前AI行业正在重演当年“游戏通往AGI”的早期幻想热潮。他提到,距离能真正替代实习生工作的智能体,还有至少十年技术迭代,而非某些公司口中的“2025元年”。

访谈围绕“我们在构建什么样的智能体”、“模型智能的本质是什么”和“未来AGI的落点在哪里”等问题展开,卡帕西从神经网络演进史谈到大模型的记忆瓶颈,从代码自动补全的实用性谈到AI文化缺失、合成数据坍缩,并提出了“认知核心应小于10亿参数”的推测。

目前,这期节目在YouTube已获得超87万次观看,评论区不少观众称其为“过去几个月AI频道播客的黄金时段”,更有用户将卡帕西的一句评论“我们不是在造动物,而是在造幽”称为“精准捕捉整个AI领域的神句”。

AI大神卡帕西3万字访谈:AI是 “数字幽灵”,智能体好用还要10年

访谈中,卡帕西的核心判断如下:

1、卡帕西反驳 “2025是智能体元年” 的说法,认为智能体从 “能看” 到 “能工作” 需十年演进,而非一年突破。

2、AI与生物智能存在本质差异:AI是 “数字幽灵”,不是 “动物”

3、未来AI核心驱动力是数据、硬件、算法的 “同步提升”,而非单一突破。

3、卡帕西反驳 “规模崇拜”,未来高效AI是 “小而精的认知核心”,而非万亿参数模型。

4、卡帕西认为现在的模型像是具备某些能力的神童,但整体认知上仍然像是小孩

5、强化学习对高阶认知没用,靠 “对错” 结果反向奖励易失控。

6、卡帕西判断当前AI仅适配部分领域,其他行业想靠AI全自动化,短期内根本不可能。

7、多智能体协作的核心瓶颈是模型没 “真理解”,再厉害也只是 “认知上的小孩”。

8、AI不会让GDP跳涨,所谓 “智能爆炸” 是自动化的延续,而AI是计算的延续。

9、卡帕西否认 “AI算力过剩”,觉得现在建的算力早晚都会被真实需求用完,不用杞人忧天。

10、卡帕西直言大模型 “坍缩” 是硬伤,生成内容越用越重复,靠自身合成数据训练只会更糟。

AI大神卡帕西3万字访谈:AI是 “数字幽灵”,智能体好用还要10年

以下是对访谈全程内容的编译(为优化阅读体验智东西做了不改变原意的编辑):

一、“2025是智能体元年”?卡帕西泼冷水:距离真正“能干活”还有十年

Dwarkesh Patel:Andrej,为什么你说这是“智能体的十年”,而不是“智能体元年”?

Andrej Karpathy:首先,谢谢邀请,很高兴来聊这个话题。我之所以说“这是智能体的十年”,其实是回应业内流传的一种说法——有人提出2025是“智能体之年”。我记不清是谁先说的了,应该是某个大模型研究机构提出来的,他们的意思是今年LLM将进化出非常强的Agent能力。

我当时听到这个说法觉得有些被触动了,因为我认为现在行业里有一些过度乐观的预期我的判断是,这个过程不会只花一年,而更可能是一个长达十年的演进过程。现在我们确实已经看到了一些很令人惊艳的早期智能体产品,比如Claude、Code Interpreter等,我自己也在日常使用它们。但距离“真的能工作”的状态,我们还有很多技术问题没解决。

所以我的说法更像是一种时间尺度上的纠偏:我们将花一个十年去把智能体真正做出来,它们会越来越好,我们会持续地与它们共事,但这不是一年能搞定的事情。

Dwarkesh Patel:那你觉得哪些能力的缺失导致它们现在还“不能工作”?具体的瓶颈是什么?

Andrej Karpathy:从本质上来说,是因为们还没法“真的完成工作”。你可以把Agent理解成一个虚拟的员工,甚至是一个实习生,你希望它能够帮你完成某些日常任务。比如你在做播客,也许你会想让Claude或Code Interpreter来做某些内容整理工作——但你现在没这么做,对吧?原因很简单:它们还不够智能。它们不具备真正的多模态能力无法流畅使用电脑操作记忆也很差,没法持续学习,你告诉它一件事,它下次就忘了;思维能力也还远远不够。所以说它们“不能工作”不是说它们完全没用,而是还无法承担你能交给一个人类实习生的那类任务。我认为,解决这些问题至少需要十年时间。

Dwarkesh Patel:有意思。我作为播客主持人和一个对AI比较“远观”的观察者,确实能指出一些明显缺失,比如持续学习、多模态能力,但我很难判断这些问题会需要多久解决。那你为什么觉得是十年?为什么不是1年?或者50年?

Andrej Karpathy:这确实是一种经验判断,同时也依赖我在行业里的长期积累。严格说我做AI的时间还不到20年,大概15年左右,不算特别长。但这15年里,我见证了很多人对AI发展的预测,也观察了这些预测如何实现或落空;我自己既在研究圈工作,也在工业界实战过,这些经历让我形成了一个相对稳定的直觉。我的判断是:这些问题是可以解决的,它们是“可攻克的”,但同时也不容易,它们确实“挺难”。所以如果让我给出一个平均估算,大概十年是一个合理的时间框架。

二、卡帕西回顾15年AI三次“地震”:既有突破,也有弯路,正确路径是LLM奠基,其上再建Agent

Dwarkesh Patel:这个视角很有意思。我其实也很好奇,从你进入AI行业开始的这十几年中,行业内部都发生过哪些关键的“情绪转变”?比如有哪些时候大家的预期过于乐观或悲观?

Andrej Karpathy:这是个很大的问题,因为过去15年AI发展中确实发生了几次“地震级”的变化,每次都让整个领域的视角发生重大转向。大概有两三次我是亲历者,我相信将来还会有更多这种突如其来的转折。

比如我刚开始做深度学习,是因为我当时恰好在多伦多大学,身边正是杰弗里·辛顿(Geoffrey Hinton)——他是深度学习领域的奠基者。当时他正在训练神经网络,我觉得这非常酷也很有意思,但那时候这完全不是AI主流的方向。也就是说,我是“误打误撞”进入了这个赛道,但正是这些偶然的窗口,构成了我后来的整段职业轨迹。

当时神经网络还是一个边缘话题,直到AlexNet等模型出现,才迎来第一次真正的“地震式转变”。我觉得AlexNet的意义在于它重新校准了行业方向,大家都开始训练神经网络了。但那个阶段依然是“按任务”训练模型,比如做图像分类,做神经机器翻译,都是一项任务对应一个模型。

直到后来,大家才慢慢对智能体真正感兴趣。我们在“视觉皮层”——也就是感知系统这部分,已经取得了一些不错的进展。那下一步是什么?是要去模拟大脑中其他功能区,尤其是那些能驱动行为的模块,也就是让智能体不仅能看、还能动,能感知世界、也能和环境交互。我认为2013年左右Atari游戏上的深度强化学习实验是这一探索的起点它的意义在于:尝试构建既能感知世界又能采取行动的智能体,在环境中做出决策、获取奖励。当时用的是Atari游戏环境。

我现在回头看,会觉得这是一次方向错误。包括我当时所在的OpenAI在内,大家都陷入了这种用游戏做智能体的“潮流”中。当时整个技术界的风向就是做强化学习、打游戏、过关斩将,OpenAI也做了很多相关项目。

但我其实从一开始就对“用游戏通往AGI”这件事是有怀疑的。在我看来,一个真正有价值的Agent,应该像一个会计,能在真实世界中进行有意义的交互和工作,而游戏并没有给出这样的外部复杂度。因此我在OpenAI做的一个项目,是在“Universe”平台下训练一个能用键盘和鼠标操作网页的Agent,我希望它能与真实数字世界交互,做一些知识工作。

但这个项目实在太早了,早到我们其实根本不该在那个时间点做它。因为智能体完全不知道自己在做什么,只是胡乱点鼠标、敲键盘,然后试图从极其稀疏的奖励信号中学习。但这种设置几乎学不到任何东西,只会耗费大量计算资源,什么成果也出不来。问题的关键在于,我们当时的模型没有足够的表征能力(representation power),所以无法真正理解环境,更谈不上做出有效行动。

今天我们看到的一些“能用电脑的Agent”,都是建立在大语言模型之上的。这说明你必须先训练出一个语言模型,有了足够强的表征能力之后,才能往上构建Agent。换句话说,LLM是基础,Agent是“后盖的结构”

但过去我们反复犯了一个错误,就是在基础能力没跟上的情况下,就急着追逐“完整Agent”这个目标。Atari是这样,Universe也是这样,包括我自己的很多早期尝试其实都太着急了。我们总是试图直接去构建智能体,但其实必须先解决一些底层问题。

所以我认为,过去这十几年AI的发展,大概可以分为三个阶段第一阶段是按任务训练神经网络第二阶段是第一次尝试构建智能体第三阶段是用大语言模型训练出强表征能力,然后在此基础上发展智能体,这才是目前比较靠谱的路径。

三、别再用“造动物”思路做AGI:预训练只是“低配版进化”,要提炼出能思考的“认知核心”

Dwarkesh Patel:我觉得可以尝试站在另一派的角度为他们的观点辩护。他们会说,人类或动物其实天生就能从零开始学习,不需要语言、标签或结构化数据。比如动物出生后被直接扔进世界里,没有任何“训练语料”,也能慢慢理解环境,学会行为。所以AGI的目标是不是也该如此:从感官数据出发,看着屏幕,自己推理世界的规则?我们为什么要花几百万年的训练计算量,才能学会这些东西?

Andrej Karpathy:这是个很好的问题。简单说,我对“把AI类比动物”的说法会特别谨慎。因为动物进化出的智能,是经过一种完全不同的优化过程形成的,和我们用损失函数、梯度下降训练模型完全不一样。虽然你直觉上会觉得“小动物能从零学会感知,那AI也应该可以”,但两者之间的机制差别实在太大了。

所以目前来看,我们还是需要先获得强大的表征能力,通过预训练、大模型这些方式构建知识,再考虑让Agent去行动,而不是直接模拟生物从零开始的成长过程。

动物是在进化过程中发展出来的,它们在出生时就带有大量“内建的硬件”。比如我举过的例子,一只斑马出生几分钟后就能奔跑、跟着母亲移动,这是一个极其复杂的行为过程。这种能力并不是靠强化学习获得的,而是直接内嵌进它们的大脑结构中的。显然,进化有某种机制能将神经网络的权重“编码”进DNA序列(即ATCG碱基),虽然我不知道它具体是怎么做到的,但它确实有效。

所以我认为,大脑的形成过程和我们现在训练AI的方式是完全不同的,这也是我为什么不太愿意直接从生物大脑那里汲取灵感——因为我们并没有在运行同样的优化过程。

我们现在其实不是在造“动物”,我们更像是在造“幽灵”或者“灵体”之类的东西。因为我们不是通过进化来训练智能体,而是靠模仿人类以及互联网上的数据。最终我们获得的是一些完全数字化的、在某种程度上模仿人类行为的“非实体智能体”它们的智能形式和动物或人类的本质差别非常大。

你可以把所有可能的智能体看成一个大的空间(intelligence space),而我们目前构建的AI,和生物体所处的位置完全不同。当然,我也认为我们可以尝试让这些AI变得更像动物,我也希望朝那个方向推进。

我觉得他们的思路是想“造动物”,这是一个很棒的目标,如果真能让一个统一算法在互联网上跑一遍就能学会一切,那当然是件伟大的事。但我怀疑这样的算法是否真的存在,而且我可以确定动物也不是这么做的。动物的智能发展有一个“外循环”过程,那就是进化,而我们没有。看上去像“学习”的那些过程,其实很多是大脑成熟的结果,并不是真的强化学习。我甚至认为,强化学习在动物身上其实主要用于运动控制这类任务,比如“投篮”这样的行为,而不是用于解决高阶智能问题,比如逻辑推理或问题求解。换句话说,我认为人类并没有广泛依赖强化学习来实现认知智能。

Dwarkesh Patel:你能再重复一下刚才那句话吗?你说强化学习主要解决的不是智能任务,而是类似运动控制的事情?

Andrej Karpathy:对,我的看法是,强化学习在人类身上更像是用来完成一些基本动作类任务,比如投掷一个圈套、完成一个物理动作等。但在更高层级的智能任务,比如问题解决和认知推理方面,我认为人类并不怎么依赖强化学习。

Dwarkesh Patel:非常有趣,我需要消化一下你刚才讲的这些内容。那我想问一个澄清性问题:你是不是在说,进化其实相当于一个“预训练过程”?它构建出一个足够复杂的结构,之后个体才能在一生中进行学习。差别在于,人类的这套系统被压缩到了DNA中,而不像神经网络那样拥有庞大的权重参数。看起来,进化更像是在寻找“学习算法”,这个算法让个体能在一生中进一步学习。只是这种“终身学习”也许并不等同于强化学习。你同意这样的看法吗?

Andrej Karpathy:我同意你的说法。这里确实存在某种“不可思议的压缩机制”,因为显然神经网络的全部权重不可能被编码进DNA序列里。进化一定是某种“寻找学习算法”的过程,它让个体能在线学习一些东西。所以我完全同意你的推断。

只是我自己的视角会更务实一些。我不太从“我们要造动物”这个目标出发,而是更像一个戴着安全帽的工程师,我的出发点是“我们要造出有用的东西”。我们没法复现生物的进化过程,我也不知道怎么做。但事实是,我们现在确实可以通过模仿互联网上的人类数据,造出一种“幽灵”式的智能体。它们虽然不是动物,但通过这种方式,我们也能获得某种“预先内置的知识与智能”。这在某种程度上也类似于进化赋予生物的先天能力。

所以我有时候会把“预训练”形容为“低配版的进化”——它当然没有进化复杂,但它是目前在我们技术条件下,能够实现的、最接近进化的方法。它能让我们到达一个合适的起点,在这个基础上再去尝试强化学习或其他方法,来进一步提升AI能力。

预训练教会模型如何去学,也许可以被看成是一种元学习。但如果说进化和预训练都在传递知识,那这个比喻就站不住了。

我们在预训练中做的,其实是把“预测下一个token”的任务丢给一个神经网络,喂它全互联网的数据。这个过程其实是在做两件不太相关的事:第一,它确实在学习大量的知识,第二,它也在逐步形成某种智能。换句话说,它通过观察互联网上的数据,学会了一些“算法式的模式”,这些模式让网络内部激活了一些小的回路和子算法,从而获得了比如上下文学习这样的能力。

事实上,我们并不是真的需要神经网络掌握那么多知识。我甚至觉得,太多的知识反而会拖累它的整体表现。比如现在的智能体普遍不擅长“跳出数据流形”,也就是说它们很难应对互联网上不存在的数据或场景。如果它们的知识或记忆少一些,也许反而表现更好。

所以我认为接下来的研究方向之一,就是想办法把一些知识剥离出去,保留下来我称之为“认知核心”(cognitive core)的部分。这个核心不是指知识本身,而是一种算法能力,是解决问题的策略和智能的本质。我们要保留的是能思考、能应变的那个“核心智能体”

四、上下文撑不起真正智能:卡帕西直指模型无法写入经验,只能一遍遍从空状态重启

Dwarkesh Patel:说到上下文学习,它的效果确实很神奇。你跟模型对话时,感觉它真的能理解你,能反思、能纠正错误,这些能力都发生在上下文窗口内。它们是预训练过程中通过梯度下降“学出来”的吗?这就像人类拥有了大脑结构,但真正的学习是在成长过程中通过别的机制实现的。

Andrej Karpathy:我不完全同意你的类比。虽然上下文学习不是在运行时用梯度下降训练出来的,但我怀疑它内部确实有类似的机制。上下文学习本质是“模式补全”,模型会基于输入在当前窗口中继续写下去,而互联网恰好提供了足够多的模式供它学习。这些能力已经被编码进网络权重里,并在运行时激活。

有些研究表明,模型在上下文学习时,内部确实可能在运行一个“迷你版”的梯度下降过程。比如有论文展示了模型可以通过上下文学习完成线性回归任务,这实际上就是一个典型的梯度下降问题。有些团队甚至尝试在模型内部硬编码一个“自我优化器”,用注意力机制等结构来执行梯度更新。

所以我的观点是,我们还不完全清楚上下文学习是如何运作的,但它很可能真的在执行某种内部优化过程。这个过程可能不是传统意义上的梯度下降,但它确实具备类似的逻辑,这是我对这个问题唯一的保留意见。

Dwarkesh Patel:那如果上下文学习和预训练都在某种程度上实现了类似梯度下降的过程,为什么上下文学习给人的感觉更像是真正的“持续学习”或“类智能”的东西,而预训练没有这种感觉?

Andrej Karpathy:如果算法类似,那差异可能来自另一个因素,比如模型在处理每个token时所能保留的信息量。

比如以LLaMA 3为例,它的70B模型在预训练时处理了大约15万亿个token,但参数只有700亿个左右,平均每个token只留下约0.07比特的信息。而相比之下,在上下文学习中,每多读入一个token,KV缓存(KV cache)的信息增长量大约是320KB。这意味着上下文学习中每个token带来的“存储”信息量,是预训练时的3500万倍。我觉得这点可能非常关键。

我自己的表述方式是这样的:任何发生在训练阶段的事情,模型最终保留下来的只是某种“模糊的回忆”,因为压缩比实在太高了。你把15万亿个token压缩进一个只有几十亿参数的模型里,损失的信息是巨大的。所以它对互联网的记忆本质上是模糊的。而反过来,当你在推理阶段通过上下文窗口输入token,这些token的信息就非常直接地加载进了模型的“工作记忆”,是立即可访问的。

这也是为什么我们经常会发现,LLM和人类大脑之间会出现一些意外的类比,尽管我们并不是在有意构建类人脑系统。比如你问模型一本书的内容,它可能给出一些大致正确的回忆,但如果你把整章原文放进上下文里再提问,模型的表现会立刻好很多,因为它此时已把关键内容加载进了工作记忆。我基本上同意你刚才长篇的论述,确实如此。

回到更大的问题:现在的模型在哪些方面最不像人类智能?我觉得整体上还有很多地方没做到。换一个说法也许更清晰——虽然类比不完美,但transformer神经网络可能已经摸到了一块非常通用的“皮层组织”。它们可以训练在文本、音频、视频等多种模态上,强大、通用、灵活。就像人脑皮层那样具备极强的可塑性。比如过去曾有实验将动物的大脑视觉皮层与听觉皮层重新连接,它们最终依然能学习和适应。

我们现在在做的“思维链”、规划任务,可能有点类似人类大脑的前额叶皮层,这是处理高级认知的区域。而强化学习微调可能对应基底节,这是与行动选择有关的大脑区域。但也有很多大脑结构我们并没有去模拟,比如海马体——目前尚不清楚它在AI中该如何对应。还有杏仁核、本能与情绪相关的区域,我们几乎没触碰过。某些部分可能没那么重要,比如小脑通常被认为对认知没太大影响,可能可以忽略。但很多古老的神经核团可能蕴含着重要的本能机制,我们还完全没开始探索

当然我也不一定主张我们必须要复现整个大脑。我本质上还是个工程师,更关注怎么把有用的东西做出来。

以至于回答“为什么现在的模型还无法被当作实习生雇用”这个问题,其实可以换一个角度来看。我们和这些模型互动时,能明显感受到它们还存在很多认知缺陷,这让人直观地觉得它们不够“完整”。可以想象成,我们还没有在它们身上“打勾”所有人脑的重要模块。

这其实也和“持续学习”这个话题有关。现在有种观点认为,只要给模型一些跨会话的激励,让它能记住更长时间范围内的信息,持续学习的能力就会自发出现——就像上下文学习是预训练过程中自然涌现的一样。比如通过一个外部循环的强化学习框架,在这个框架中,模型自动调整自身,或者把经验写入外部记忆。你觉得这种“自然出现”的路径靠谱吗?我很难判断它到底有多可能。

我对此持保留态度。因为目前的模型在每次推理时,都是从一个空的上下文窗口开始的,相当于每次都“重启”了状态。这和人类的感受不同,比如我们清醒时,会不断积累当天的上下文信息,但睡觉之后,大脑里似乎发生了某种“魔法”般的转变。我的感觉是,人类在睡眠中会把短时记忆提炼为权重结构的一部分,也就是说我们有一种“蒸馏机制”,这在现有的大语言模型中是缺失的。

现在的模型缺乏这种“从经验中提取核心,再写入自身参数”的机制。人类可能是在夜间进行反思、重构、生成类合成数据,然后将它们通过某种方式融入长期记忆结构里。

或许未来我们可以让模型也拥有每个人专属的微型子网络,比如用LoRA(一种参数高效微调方法)来更新部分稀疏的参数,让它们形成“个体化模型”,这样模型就不只是靠不断扩展的上下文窗口来维持记忆。

我也觉得,人类拥有非常复杂的稀疏注意机制(sparse attention scheme),而我们刚刚开始模仿这种结构。比如DeepSeek V3.2最近就引入了稀疏注意机制,这是让上下文窗口变得更长的一种实现方式。总体来看,我觉得我们正在用完全不同的路径,重新发明进化赋予人类的一些认知技巧,最终可能会在认知架构上收敛到类似的形式。

Dwarkesh Patel:那你觉得十年后我们还会用transformer吗?只是它的注意力结构变得更稀疏、MLP模块更优化?

Andrej Karpathy:我会从时间尺度的不变性来思考这个问题。十年前是2015年,那时我们主力模型还是卷积神经网络,ResNet刚出来。虽然和现在的架构相比差异巨大,但也能看出技术在逐步演进。那时transformer还没出现,更别说今天常见的各种变种。所以我觉得十年后我们可能仍会使用巨型神经网络,通过前向传播、反向传播和梯度下降来训练,只是具体结构可能会发生很大变化。

我还做过一个有趣的回溯实验:重现了杨立昆(Yann LeCun)在1989年发布的卷积神经网络模型,那是我所知最早通过现代意义上的梯度下降来训练的神经网络,用于手写数字识别。我尝试用现在的工具去复刻它,看看进步主要来自哪几个方面——是算法、数据还是算力。我发现只靠算法改进,比如把学习率调一半,我就能把误差减少50%。这是靠“算法时间旅行”做到的。但如果想要进一步提升效果,就必须引入更多数据,比如把训练集扩大10倍,还得引入现代的计算优化技术,比如Dropout和各种正则化方法,并延长训练时间。

这说明了过去几十年AI进展背后的几个核心驱动力:算法改进能带来初期收益,但最终的突破往往依赖于数据规模的扩展和计算资源的提升。而这些因素,很可能也将决定未来十年的智能体演进路径。

我们其实是在一个所有因素都必须同时进步的环境中前行。我们会有更多的数据,会有更好的硬件,更高效的底层算子和软件,也会有更优的算法。奇妙的是,没有哪一个方面在“单独领跑”,它们几乎是以一种同步演进的方式推动整个系统前进。

这也是我们这些年看到的趋势。所以如果要回答你的问题,我确实认为未来在算法层面会有所不同,但某些核心要素可能会保留,比如用梯度下降训练的大规模神经网络,这点我认为十年后仍然成立。

不过让我觉得最值得注意的,是要让整个系统进步,必须让每一个组成部分——模型结构、优化器、损失函数等全面升级。而这种全方位的演进,其实从一开始就存在。

五、Karpathy开源nanochat:亲手搭建最能理解AI,模型写代码反而拖后腿

Dwarkesh Patel:你最近开源了nanochat,你在从零搭建一个ChatGPT式模型的过程中有没有新的认知?有没有发现某一个因素最为关键?

Andrej Karpathy:nanochat是我发布的一个完整的代码库,目标是提供一个最简洁但完整的、覆盖从训练到部署的ChatGPT克隆实现。它并不是专注某一个模块,而是整个pipeline都涵盖了。

之前我也写过很多针对单点模块的教程,用极简代码讲清楚算法原理,但这次的nanochat更多是构建了一个从头到尾都打通的系统。我个人在写它的过程中并没有学到什么新东西,因为我本来就知道该怎么做,这次只是把这些思路实现成代码并整理清晰,方便别人学习和使用。

Dwarkesh Patel:那你觉得学习这份代码最好的方式是什么?

Andrej Karpathy:这是个很好的问题。整个代码库大概有8000行,我建议最好的方式是双屏操作,把代码放在右边,自己从零开始动手实现一遍。可以参考,但不能复制粘贴。这个过程会强迫你真的去理解每一部分逻辑。

不过,这个代码库本身还是挺大的,真正写代码的过程并不是线性从上往下写的,而是模块化、分块构建,再逐步拼接组合的。所以单靠最终版本的代码,其实很难还原整个“从无到有”的过程。我希望之后能把这个过程也补充出来,可能做成视频形式,来展示我是怎么逐步构建每一块组件的

我始终认为,知识有两个层次:表面上的理解和动手做出来的理解。当你真正写代码实现某个系统时,你会发现自己很多原以为理解的地方其实并没掌握。这个过程会迫使你面对“自己不知道自己不懂”的那些部分,而这正是通往更深理解的唯一路径。

有人说过,“如果你不能构建它,那你就不理解它。”我完全同意这个观点。我一直非常坚信,真正的知识掌握是靠搭建系统实现来的,不是写博客、做幻灯片。必须写代码、动手搭建、调试出结果。否则,你掌握的知识只是记忆,不是理解。

Dwarkesh Patel:你还发过推文,说在组装这个代码库的过程中,代码生成模型对你几乎没有帮助。我挺好奇为什么?

Andrej Karpathy:我花了大概一个多月搭建了这个代码库,在这个过程中我觉得现在程序员与代码互动主要有三种方式。一种是完全拒绝使用大语言模型,坚持从零开始手写代码,我认为这已经不太合理了。第二种,也是我现在的做法,是你还是会从头写不少代码,但会借助模型提供的自动补全功能。当你开始写一段代码时,模型会帮你补全内容,通常还挺准的,有时候不对你也可以改掉,但你仍然是整段代码的架构师。而第三种是所谓的“VIP编码”,就是你告诉模型“请帮我实现某某功能”,然后回车让模型自动生成,这种更接近智能体的做法。

我觉得智能体在特定场景下是有用的,我自己也会在这些特定场景里用,但它们只是工具之一,你得了解它们的长处和短处,知道什么时候用比较合适。比如对于样板代码——那种大量复制粘贴、格式化的重复性代码,模型做得非常好,因为互联网上这种代码很多,训练数据也覆盖了大量这类模式。但如果像我这个nanochat的项目,就完全不是样板代码,它的结构很独特,需要精确组织逻辑和执行顺序,属于智力密集型的写法,模型在这方面表现就很差。

模型经常“理解错”我的代码,因为它们脑子里装满了网络上常见的写法,而我写的方式与它们见过的不一样。比如一个具体例子:在多GPU训练中,大家通常会用PyTorch的分布式数据并行模块(DistributedDataParallel,简称DDP)来自动同步各个GPU的梯度。但我不想用DDP,因为没必要,所以我把它砍了,自己在优化器的step步骤中写了同步逻辑。结果模型不停试图让我用DDP,完全无法理解我已经自己实现了这个功能。

而且它们还总是在风格上搞错,比如过度防御,老是加一堆try-catch语句,好像在写线上生产代码。我自己代码里有很多假设,但那是可以接受的,不需要模型加一堆没必要的复杂逻辑进去。它们这样反而让代码变臃肿、难维护,还老是用到过时的API,结果就是整个代码质量很差。虽然我可以手动清理一遍,但说实话那样的帮助并不大。而且我也不太喜欢用英文打一大段话告诉模型我想干嘛,那太低效了。我更喜欢直接跳到我知道要写代码的位置,开始写前几个字符,模型就会自动补全,大部分时候还挺准。这种方式的信息带宽其实是最高的。

当然,模型在一些特定位置还是有用的。我举两个我亲自使用过的例子。一是我生成报告的部分,那部分本来就比较模板化,所以我部分地用了“VIP编码”方式,这种情况是可以接受的,不是核心代码,而且结果也不错。另一个例子是我在用Rust重写分词器的时候,因为我对Rust不太熟,写得没那么顺手。这时候我会让模型先写一部分,我再参考Python的实现去优化效率,而且我有测试覆盖,心里更踏实些。这种情况下模型非常有帮助。它们可以显著降低你使用不熟悉语言或编程范式的门槛。

尤其像Rust这类语言,现在网络上已经有很多相关代码,模型在这方面表现不错,我自己虽然还不太会Rust,但它们可以帮我快速上手。

六、AI离爆发还远:卡帕西批评行业自嗨,强化学习效率低下,2027不现实

Dwarkesh Patel:我认为这个问题之所以有意思,是因为如今关于AI迅速爆发、走向超级智能的主流叙事,核心就是AI自动化工程和研究的能力。人们看到像Claude这样的模型已经能从零生成完整的应用程序,就会设想,如果OpenAI或DeepMind内部的模型也具备类似能力,那就等于你拥有成千上万个你自己在并行工作,不断优化架构细节,这听上去是非常强大的图景。你说AI在这方面反而做得不够好,这对预测2027年是否可能发生AI爆炸式进展是一个重要参考。

Andrej Karpathy:是的,我认为你描述得很准确,也契合了我为什么对AI发展时间线持相对更长的观点。模型在处理那些“从未写过的代码”时能力有限,而这恰恰是我们在构建这些模型时追求的目标。

Dwarkesh Patel:听起来有点奇怪,那些你加到nanochat模型中的架构改进,不是都已经写在论文里,甚至放在开源代码仓库了吗?比如你加了rope embedding(位置编码方法)之类的东西,它们为什么没法用对?

Andrej Karpathy:确实有点难。模型似乎“知道”这些信息,但只是“似懂非懂”。它们无法将这些改动完整地融合到你的代码仓库里,跟上你的风格、代码习惯、一些自定义的实现方式,或者仓库背后的结构性假设。这方面它们还没做到。它们确实有些相关知识,但无法真正理解这些改动的作用,也无法有效整合到实际项目中。不过我得说,它们确实在持续变好。目前我最常用的是GPT-5 Pro,这是一个非常强大的模型。如果我有20分钟时间,我会直接把整个代码仓库贴进去,然后请它帮我解决一些问题,它的表现常常还不错,跟一年前相比确实惊人地进步了。

但从整体上看,这些模型还是没达到预期。我感觉整个行业在这件事上跳得太快、说得太满,好像AI已经无所不能了,但其实并没有。很多产品就是一堆“烂泥”,行业自己也不愿正视这点,也许是因为还想拉融资吧。我不清楚具体原因,但我们目前处于一种“中间状态”:模型非常强大,但仍需大量完善。对我来说,现在最适合的使用方式还是自动补全功能。有时候,处理某些代码问题时,我也会用一些Agent。

Dwarkesh Patel:从编程史来看,你提到的这个“自动补全”的AI功能,确实有迹可循。历史上很多编程工具提升了开发效率,比如编译器、静态分析工具、编程语言本身的演进等,但它们并没有引发所谓的“编程爆炸”,这或许也说明,AI目前的进展更像是在这些工具改进的范畴里。

Andrej Karpathy:我同意。其实我觉得现在很难划清AI到底从哪里开始、又在哪结束。某种意义上,我认为AI就是计算的延续,它是计算发展非常核心的一部分。从早期我们做的各种工具,比如代码编辑器、语法高亮、数据类型检查器,到搜索引擎——这些其实也可以算作AI工具。比如搜索排序算法,其本质就是一种AI技术。Google刚创立时就把自己定位为AI公司,我觉得这非常合理。

所以我认为AI的发展是一个连续体,不像有些人那样硬性区分AI和非AI。现在我们有了更强的自动补全,也开始出现一些智能体,这些Agent可以自主循环决策,但有时又会跑偏。总的趋势是,人在做的底层工作越来越少。就像我们不再写汇编语言,而是用C语言交给编译器去转换。这个过程本质上是一个“自动化滑杆”,我们在不断提升抽象层级,同时逐步把可以被自动化的部分交给AI处理。我们自己则退居上层,做更少但更抽象的事情。

正是在这样的背景下,我常说,人类并不是通过强化学习来学习的。我觉得人类在做的是另一套机制,是基于经验的积累。强化学习其实远比大多数人想象的要糟糕,它本质上是一个非常弱的学习方法。之所以我们还在用它,只是因为之前我们所依赖的模仿学习方式更加不堪。比如以前我们只是去模仿人类行为,本身就存在各种问题。

以解决数学题为例,这是一个很简单的任务。在强化学习的设定下,你拿到一个题目,会并行地尝试上百种解法——每一种都可能包含多步推理,比如尝试A方法,再尝试B方法,然后发现不对,换另一个方向等等。最终,也许某个尝试得到了正确答案。你翻开答案后确认某些尝试成功了,而其他97个都错了。

强化学习的做法是:只要你最终得到正确答案,那么整个解题路径上的每一个步骤、每一个token(即生成的每一个文字单位)都会被整体上调权重,意味着“多做点这种操作”。但问题在于——这完全不合理。你可能在过程中走了很多弯路,做了许多错误的尝试,但因为最后的结果是对的,系统就会把所有这些“错误路径”都当作有价值的部分来强化。

人们通常会说,这样的估计器“方差很大”,意思就是太嘈杂,太不稳定。你最终只是拿到一个结果——正确或错误,然后就用这个单一的反馈去对整条路径进行加权或者减权。这就像你做了一分钟的复杂推理工作,但整个训练信号就是“正确”或“错误”这样一个简单标签,然后你试图像吸管吸水那样,从这个极为稀薄的信号中“吸出”监督信息,强行传播给整个决策路径的每一步。

人类是不会这么学习的。第一,人不会去进行几百次的尝试再找出一条正确路径;第二,当人找到了一个解,他们会对过程进行复杂的复盘,比如哪些步骤是有效的,哪些是不该再做的,下次应该换个方法。他们会进行自我思考和反省。但现有的大语言模型(LLMs)中并没有类似的机制。

我最近看到谷歌的一篇论文,尝试引入“反思与复盘”机制,其他类似的研究也陆续出现。我认为未来我们会在这个方向迎来一次重要的算法范式更新,不过这还远远不够,我们可能还需要三到五次类似的突破。

七、“呃呃呃呃”也能拿满分?卡帕西直言强化学习不灵了,合成训练惹祸,模型坍缩成了新难题

Dwarkesh Patel:你经常能用很形象的比喻解释复杂的问题,比如你刚才说强化学习是“用吸管吸监督信号”,非常贴切。你提到的问题是,强化学习只看最终结果来分配奖励,但这中间的过程极其复杂,信息量巨大,却只能从最终是否成功这一点来反推所有步骤的优劣。这很显然是个问题。那为什么我们没有更好地使用“过程式监督”来代替这种基于结果的方式呢?是什么阻碍了这一思路的发展?

Andrej Karpathy:所谓“过程式监督”,指的是我们不只在一个任务结束时告诉模型“对”还是“错”,而是沿着整个过程的每一步都给予反馈,比如每写一步代码、每做一步计算,都告诉它做得怎么样。这听起来当然更高效,但问题在于,这很难自动化实现。我们不知道该如何为部分正确的中间步骤分配合理的“部分奖励”。如果只有最终答案,那很简单——只需判断结果是否等于标准答案就行了。但若我们想为一个不完整的解法打分,就必须回答一个更难的问题:这个中间解法值不值得鼓励?目前不少实验室正在尝试用大语言模型(LLM)作为“AI裁判”来解决这个问题,即提示一个LLM:“这是学生做出的部分解法,目标答案是这个,请你判断当前进展做得怎么样。”他们会调试指令去实现更好的评估效果。

但这个方法本身也存在根本问题:语言模型本身是复杂的、拥有数十亿参数的大模型,是可以被攻击的。一旦你用强化学习去优化模型输出,使其在LLM评判下得高分,那模型几乎一定会找到对LLM评判机制的“对抗样本”。在开始的10到20步训练中可能还能正常运行,但如果持续进行几百上千步,模型就会学会如何“钻空子”。

我印象特别深的一个例子是:我们当时训练模型,奖励函数是由一个LLM裁判给出的。起初训练效果很好,但突然奖励变得异常高——看起来模型完全掌握了数学题的解法,几乎每题都拿满分。但你仔细看它的解答,会发现一开始几步还正常,后面就全是“呃呃呃呃”(duh duh duh duh)这种毫无意义的输出,像是胡言乱语一样。可令人震惊的是,LLM裁判竟然给了这段“解答”满分。为什么?因为这是一个它从没见过的对抗样本,完全超出了训练分布,导致它无法判断正确性,只能盲目给出高分。这就是“强化学习+语言模型打分机制”的脆弱之处。

当你进入所谓的“纯泛化领域”,总能找到这种打破规则的例子。其实是在把LLM训练作为寻找对抗样本。这些对抗样本是明显错误、毫无逻辑的内容,但模型却认为它们很优秀。

Dwarkesh Patel:如果你认为这就是目前强化学习难以奏效的瓶颈之一,那么解决方案就是让LLM学会更好地判断答案,也就是“判别器”变得更聪明。如果想要实现自动化流程,那你得训练模型变得更加健壮。这会不会最终变成类似GAN的路线?用生成器和判别器不断博弈来提升能力?

Andrej Karpathy:我猜各大实验室现在大概就是在做这个方向。最基本的做法是,如果某个解答本来不该拿100%的奖励,那就把它加到LLM裁判的训练集里,标注为0%,而不是100%。但问题是,每次你这么做,就等于是训练出一个新的LLM,而新的LLM依然会被其他对抗样本骗到。因为对抗样本是无限的,我认为你迭代几轮之后,确实会越来越难找到这样的样本,但我也不能100%确认,毕竟这些模型有一万亿个参数。总之,我猜实验室肯定在尝试。但我个人觉得,我们还需要一些全新的方法。

Dwarkesh Patel:你有没有对“新的方法”有什么初步设想?比如那种用生成数据去训练模型,让它在某种元学习(meta-learning)机制下变得更强。现在也确实看到一些论文开始往这个方向走了。

Andrej Karpathy:我也有看到这类思路的论文,但目前还停留在读摘要阶段。说实话,很多论文只是概念设计,真正要在前沿LLM的实验室规模上部署,还需要很多工程工作。而且即便做出来,也不见得能全面泛化。有时候这些论文挺有意思的,但很嘈杂,不够有说服力。当然,大型LLM实验室如今都相对封闭,我们也不知道他们内部到底做到了哪一步。

Dwarkesh Patel:我倒是可以想象如何基于合成问题来训练模型。你给它一些自己设计的问题,然后不断训练它去解决这些问题。但我觉得人类做的还有另一个过程,比如睡觉或者白日梦。我们不是设计一个新问题,而是在“反思”(reflect)。这种机制在机器学习中似乎找不到等价物。

Andrej Karpathy:我也觉得我们确实缺少了某种机制。比如说,人类读一本书时,不是像LLM那样把文本拉成一串token去逐个预测。对于人类来说,书籍更像是引发思考的提示,你并不是在“记忆书的内容”,而是在用书触发自己的内在生成过程,甚至是为了去和朋友讨论。而真正的理解,是在加工这些信息的过程中产生的。当前的LLM完全没有这个过程。我很希望预训练阶段能够加入某种“消化内容—思考—整合”的步骤,让模型试着把新信息与已有知识结合起来,深入思考一段时间,但这仍是研究领域的问题。

我们目前缺乏这样的能力,也不是没有尝试过。比如你可能想,“我们可以自己生成一些模型读书的样例,把这些‘思考’的样本拿去训练”,看起来是个合理的想法。但问题在于,所有模型生成的样本都存在一个非常隐蔽的缺陷它们都处于某种“坍缩态”(collapsed state),也就是它们只覆盖了整个合理输出空间中非常狭窄的一小块。你看每一个样本可能觉得还行,但整体来说,分布是非常不完整的。这种坍缩是不容易察觉的。

你可以用一个简单例子验证:去ChatGPT里让它讲个笑话。它大概只会告诉你三个笑话。这就是坍缩的体现——它不是给你整个笑话空间的多样性,而是只掌握了其中非常小的一部分。

它们在无声地“坍缩”(collapse),所以你得不到像人类那样丰富、多样、有熵值的输出。人类的信息表达会更嘈杂一些,但至少不会在统计意义上出现这种“静默坍缩”的问题。人类的大脑在信息生成中仍保持了大量的熵值,而大模型则容易陷入重复与单调。因此,如何在生成合成数据时避免坍缩、维持足够的信息熵,是一个仍待解决的研究问题。

Dwarkesh Patel:我理解你是说,如果我们希望模型生成新的合成问题或反思内容,而不是从已有的数据分布中直接复制内容,就必须关注坍缩问题?

Andrej Karpathy:可以这么理解。比如我们让模型就某本书的一章进行反思,它可能会给出看起来挺合理的内容,但你多问十次,就会发现每次几乎都一样。你不能一味依赖固定提示词去驱动“反思”,指望它能持续给出有价值的新东西。单看每一条生成的内容都还行,但它们组成的整体分布非常糟糕,尤其是当你用这些合成内容继续训练模型时,会加剧坍缩。我甚至觉得可能不存在彻底的解决方案。某种程度上,人类的大脑也会随时间产生坍缩。我们小时候天马行空、未被“过拟合”,说出让人惊讶的话。但成年人就陷入了思维重复,常说相似的话,学习效率降低,坍缩问题也越来越严重。

Dwarkesh Patel:我看过一篇挺有趣的论文,认为人类“做梦”就是为了避免这种过拟合和坍缩。梦境能把你置于非现实、离奇的情境中,从而在演化上起到反过拟合的作用。

Andrej Karpathy:这个想法很有趣。当我们在脑中生成内容并注意它的时候,实际上就是在用自己的合成数据训练自己。如果你长期只沉浸在自己的内部想法中,不接触外界信息,会走偏,也会加速坍缩。所以我们必须主动寻找熵值,和别人交谈就是一个重要的信息熵来源。或许我们的大脑进化出了某些机制,来帮助维持认知系统中的熵。这些想法还很初步,但值得思考。

Dwarkesh Patel:我想到了一个可能相关的现象。人类学习能力最强的阶段——儿童时期,其实是记忆能力最差的时候。婴儿早期几乎不会保留任何记忆,但却能轻松掌握语言、理解世界。而另一头的LLM预训练模型,能逐字复现维基百科下一句话,但抽象概念学习的能力远不如孩子。而成年人介于两者之间,学习的灵活性降低了,但记忆能力强很多。这种反差可能有一些启示。

Andrej Karpathy:我同意。人类其实不擅长记忆,而这恰恰是一种优势。因为不擅长死记硬背,我们被迫去总结规律、形成概念化的理解。而大语言模型则非常擅长记忆,它们能复述训练数据中的原文段落,甚至能在只训练一两次后完全复现某段随机字符串。人类根本不可能一次看完随机数字就完整复述。但从泛化的角度说,人类的这种“不能记”反而是好事——它让我们只能去学那些真正能提炼出的规律。而模型却会被自身储存的大量信息分散注意力。这也是我为什么提出“认知核心”的原因:我希望模型去除大部分记忆,只保留用于思考的算法、实验思路、行为链条等“认知胶水。从这个角度看,减少记忆,也是防止模型坍缩的一种方式。

至于“模型坍缩”(model collapse)该怎么解决?我们能想象的一些“朴素方法”其实都挺幼稚的,比如尝试让模型输出的概率分布更分散,或者用一些熵(entropy)正则化技术去约束模型。

但从经验上看,这些方法效果并不好。原因可能在于,我们目前对模型的主要使用目标并不要求高多样性。前沿实验室的目标是让模型实用,所以它们训练出来的模型,输出趋于收敛——因为多样性不仅难以评价,而且很难控制。在很多应用里,太“花哨”的输出反而会被惩罚,比如在强化学习中,如果你行为过于随机或“创造性”太强,结果往往是不好的。就连写作辅助等任务中,模型的回答也往往趋于单一,不愿探索各种可能的解法。我倾向于认为,这是因为多数应用场景根本不需要多样性,所以模型也就没保留这部分能力。但当我们进入“合成生成阶段”,缺乏多样性又会变成问题。我们反而是自己限制了模型的“熵”,从而让未来任务的性能受损。从这个角度说,我认为实验室在保留模型多样性方面应该更努力。

Dwarkesh Patel:你刚才提到这可能是个非常根本性的问题,意味着它很难解决?你怎么看?

Andrej Karpathy:我倒不一定认为这是一个根本性问题,可能我刚才说话没那么准确。我并不觉得这类问题无解,虽然我自己还没有做这方面的实验,但我相信是可以对模型的输出熵进行一定的正则化处理,让它在训练中被鼓励产生更多样的解法。但这又很微妙:如果你过度鼓励熵,模型可能就会偏离训练分布,开始发明自己的语言,使用非常稀有的词汇,导致输出“漂移”过大。所以问题的关键是——你必须控制模型的分布不要偏得太离谱,而这恰恰是非常棘手的事情。所以说,这事儿确实不简单。

八、卡帕西预判AGI方向:把模型从“压缩机”变成“认知体”认知核心规模缩到10亿参数

Dwarkesh Patel:那如果你要猜的话,一个“理想的认知核心”到底应该有多大?我们能否将“认知核心”压缩到一个可携带、可部署的程度?

Andrej Karpathy:这其实是个挺有意思的问题。在过去的AI发展中,我们一度非常执着于“规模崇拜”,大家都在追求更大的模型——上万亿参数的模型。但现在趋势变了,一些前沿模型反而在变小,但即使如此,它们仍然记得太多没必要的东西。我个人一直认为,其实“认知核心”不需要那么大。哪怕只有10亿个参数,如果架构得当,我相信20年后我们就能和它进行非常高效的交流。它能思考,能像人一样行动;遇到不知道的事它也不会瞎说,而是告诉你“我不知道”,然后再去查找答案。我甚至觉得,这样的模型比那些啥都记得的上万亿参数模型还要更像人。

Dwarkesh Patel:可我们现在已经有几十亿参数的模型表现得很聪明了,而GPT-4这种过万亿参数的模型反而有些累赘。从发展速度来看,我还以为你会认为,未来的“智能核心”也许只需要几千万甚至几百万参数就够了。

Andrej Karpathy:我之所以不这么看,是因为现在的训练数据实在太差。我们用的是互联网,而互联网的质量非常糟糕。你我说到互联网,脑子里想到的可能是《华尔街日报》这种高质量文本,但真正用作训练数据的互联网内容,是一堆乱七八糟的东西——很多都是完全无法阅读的废料,充斥着股票代码和随机乱码。我经常想,我们竟然还能在这种训练数据上搞出有用的模型,简直不可思议。

所以我们不得不训练非常大的模型来“压缩”这些杂乱无章的数据,而这种压缩大多是记忆工作,而不是认知工作。我们真正想要的是模型的“认知能力”,而不是“存储能力”。理想情况是:我们需要用智能模型来帮助清洗预训练数据,把其中真正有认知价值的部分筛出来,只保留对思考、推理、理解有帮助的内容,而不是让模型背下互联网的垃圾。这样一来,模型的参数规模可以大幅缩小,因为数据集更干净,训练本身也可以更集中在核心能力上。

当然,最终的小模型大概率不是直接在这些精炼数据上训练的,而是通过蒸馏从更大、更全面的模型中得到。但即便如此,我认为蒸馏后的认知核心依然会在10亿参数量级——因为蒸馏技术非常有效,小模型几乎都依赖它,没有必要从头训练。

Dwarkesh Patel:那为什么你认为10年后蒸馏后的模型仍然需要10亿参数?为什么不可能更小?

Karpathy:你是说小到几百万?我不觉得几百万参数就能做出真正有趣的东西。至少要有足够多的参数才能支撑复杂思维。虽然过去几年我们确实通过技术改进,让模型从“上万亿参数”降到“几十亿参数”,性能反而更好,这确实证明有大量低垂果实可以摘。但我认为“认知核心”能压到10亿参数,已经算是激进观点了,显然你比我更激进。

不过确实,未来可能会更小一些。但是从实际使用角度看,模型还是需要保留部分知识,不能什么都查,否则它每一步思考都要访问外部知识库,根本无法在脑中完成推理。它只需要常识,而不需要背诵冷门知识。至于未来最大模型的规模,我也没有特别确定的判断。现在模型缩小更多是因为实验室有算力与成本预算,预训练并不是最值得花钱的地方,因此参数规模在下降,但中间训练和强化学习阶段的投入反而在增加。所以规模走大走小更多是务实考量,而不是发展方向的必然结果。真正的变化是在其他方面:数据集会变得更好,硬件会更强,内核和算子优化会更激进,算法也会不断改进。我认为未来不是出现某个单一“巨大突破”,而是所有环节——数据、硬件、优化方法、模型架构全都持续提升,每一个提升5%~20%,累积起来就是巨大的跃升。

九、“AI会什么”比“AI像人”更重要,卡帕西否定“Y轴智能进化论”

Dwarkesh Patel:但很多人会尝试找一种衡量AI向AGI进展的标准化方式,比如画出一条Y轴,标示进步程度,再看什么时候这条线会与AGI交汇,于是在X轴上得到一个时间点。有些人说AI像是经历教育阶段,从高中生到强化学习阶段相当于大学生,未来还能上博士;有些人提出“视野长度”的度量——比如能否独立完成持续一分钟的任务,然后是一小时、一周的任务等等。你怎么看这个问题?你认为哪种方式才是衡量AI进展最合理的Y轴?

Andrej Karpathy:我大概有两个回应。首先,我几乎想直接否定这个问题本身。因为我一直把AI看作计算的延伸。我们从来没有特别认真地讨论过该如何衡量“计算”的进步,比如从1970年代到现在,我们怎么画出一条线来衡量计算的发展?这在某种意义上就显得有点荒谬。所以这个问题本身我觉得就挺奇怪的。

但如果一定要回答,我可以说说OpenAI早期对AGI的定义。我们当时讨论的是,AGI应该是一个可以执行任何具有经济价值的任务,且其完成水平与人类相当或更优的系统。我那时候对这个定义还挺满意的,到现在也基本沿用这个思路。虽然这几年外界不断给AGI贴上各种新定义,但我仍然喜欢这个版本。

不过现在大家默认会做一个妥协,就是把所有物理类的任务都排除掉,只看“知识型”工作。我觉得这其实是个很大的让步,因为最初的定义是“任何人类能做的任务”,那显然也包括搬东西之类的操作任务,但AI目前还无法完成这些,所以我们就默认跳过了。这就带来一个问题:如果我们只讨论知识类工作,到底是在排除经济中的多大一块?我没查过具体数字,但直觉上可能是10%到20%的份额,也就是那些可以远程完成、不需要出现在现场的工作。即便如此,这仍是一个巨大的市场,仅在美国也可能涉及几万亿美元的产出。

所以回到定义本身,我更关注的是这个标准如今能实现多少。我们不妨把“任务”而非“职位”作为衡量单位来思考,因为职位的构成会随着社会对自动化能力的调整而发生变化。我们可以问:现在有哪些任务或工作确实已经能被AI取代了?比如过去杰弗里·辛顿曾预测放射科医生会被淘汰,但结果证明这个预测错得离谱。虽然计算机视觉对图像识别非常擅长,但放射科医生的工作要复杂得多,还涉及处理患者和各种工作环境的细节。目前来看,这个职业不但没消失,还在继续发展。

所以如果按照“能完成所有经济上有价值任务”的定义,我认为AI还远未达标。但也有一些职业可能更容易被自动化,比如呼叫中心的员工。这个经常被提及,我也觉得很合理,因为这类任务结构化程度高、环境变量少、交互模式固定,是AI比较擅长的方向。

所以这里的重点是看“任务的跨度”,也就是完成一次任务所需的时间长度。同时,这类工作几乎没有复杂的上下文,通常只是你、顾客和数据库三者之间的交互,不涉及多个部门或不同系统的串联,整个环境是封闭的、可理解的、且是纯数字化的。从这些角度来看,我确实觉得这是AI很合适介入的方向。

但即便如此,我也不认为短期内会出现“完全自动化”的情况,更可能的是我们会出现一个“自动化滑杆”的状态,也就是先替代其中80%的工作量,剩下20%由人类完成。比如未来可能是一个人类员工负责管理五个AI组成的客服团队,他们来处理那些更机械的内容。我们也许会看到一些新产品或公司专门去做这个“AI管理层”的中间接口,因为这些AI还不够完美,需要调度与监督。

但放眼整个经济体,很多工作比客服复杂得多。就比如放射科医生,我其实对他们的具体工作流程并不了解,但可以打个比方,比如早期自动驾驶刚开始落地时,前排一定还坐着人,为的是确保一旦出错有人接手。即使是现在,一些自动驾驶出租车里依然有安全员坐在车里。这种情况有可能也会发生在医疗等领域:即使AI能完成99%的工作,剩下那1%却极为关键,是整条路径的瓶颈。如果这个1%必须由受过多年专业训练的人来处理,那他们的工资只会升高,因为他们不可替代。他们就像那一个阻碍全面部署的核心点,不像出租车司机那样可以随便替换。所以我推测,这或许也是放射科医生薪资上涨的原因之一。

Dwarkesh Patel:确实,目前似乎有些引入AI的公司已经在重新雇人,这点还挺让人惊讶的。

Andrej Karpathy:是的,很令人意外。我们本来以为,一旦AGI出现,尤其是如果它能处理所有知识工作,不涉及体力劳动,那它应该是“无所不能”的。照理说,它应该能够逐步替代顾问、会计等各类职位的某些子任务,从各个角度慢慢地渗透知识型劳动。但从目前的发展看,事实好像完全不是这么回事。顾问和会计这些行业似乎并没有出现大幅的效率提升。反而是程序员这个群体,在工作中有更多部分被自动化。如果你去看这些AI公司的收入组成,撇除那些纯聊天产品的收入,专注API收入的话,基本都是靠编程相关的服务撑起来的。也就是说,这种“理论上应当通用”的智能系统,实际上大多数还只是服务于写代码。这是一个相当出乎意料的发展路径。

我认为这里有一个很有意思的点。编码这件事,恰好是大型语言模型(LLM)和智能体最适合处理的任务类型之一。原因在于,编程从根本上讲就是围绕文本展开的。无论是命令行界面还是各种IDE(集成开发环境),一切都是基于文本,而LLM天生就是擅长处理文本的系统。它们的训练过程依赖大量互联网文本数据,因而具备极强的文本处理能力。而且,我们早就为文本和代码的处理建好了大量配套基础设施,比如Visual Studio Code这类开发工具。如果一个智能体对某个代码库进行了修改,它可以通过代码差异比较功能直观地呈现变更内容,我们的开发环境本身就支持这一机制,智能体可以直接接入现有工具链。

相较之下,那些不依赖文本、或者没有配套工具基础设施的任务,就难很多。比如,我看到有团队尝试让智能体自动制作PPT,结果非常困难。原因是幻灯片不是纯文本,它是视觉元素的集合,包含大量空间布局、图形内容,而且缺乏像“代码差异比较”那样的版本对比机制。如果一个智能体改动了幻灯片,目前没有标准的方式来展示这些变化。因此,整个支持体系还得从头建立。总之,虽然AI是文本处理器,但很多任务并不容易适配,而代码是一个意外地高度适配的领域。

Dwarkesh Patel:我尝试过一些“文本进—文本出”的任务,比如改写访谈、剪辑视频字幕,按理说LLM应该擅长,但效果始终不理想。可能是我没做足微调。这让我怀疑,哪怕在语言领域内,真正能发挥LLM商业价值的,可能也只有编程任务。

Andrej Karpathy:你说的这些确实成立。我要强调的是,我并不是说只要是文本任务就一定容易。代码的结构性非常强,而普通文本则更加自由和“花哨”,我觉得“熵”这个词比较贴切——文本的表达自由度更高,变化更多。同时,编程任务本身也很难,但正因为如此,人们在编程中更容易感受到LLM的“赋能”,哪怕只是基础级别的帮助。虽然文本的属性本身确实让AI更容易介入,但这不意味着所有的文本任务就都变得容易了。

Dwarkesh Patel:你如何看待“超级智能”?你觉得它在感受上会和现在的人类或人类组织有什么质的不同吗?

Andrej Karpathy:我倾向于把它看作是社会中自动化进程的延续,是计算能力发展趋势的自然外推。我认为,未来我们会看到越来越多的“自治体”出现在数字工作场景中,之后也可能逐步延伸到物理世界。从本质上讲,我把超级智能看作是自动化的极限状态。当然,自动化包含了人类已经能做的任务,而超级智能还包括人类尚无法完成的任务,比如创造新事物——我也会把“发明”这种能力视作自动化的一种体现。

Dwarkesh Patel:我想问得更具体一些。你是否预期,超级智能会带来一种完全不同的文明感受?比如,它可以思考得比人类快、可以大量复制自己、可以让多个副本合并决策、或者它的某些优势让人类根本无法比拟……你是否觉得,当这些AI成为主角的社会出现时,整个世界会在“体验层面”上变得与今天完全不同?

Andrej Karpathy:我认为会的,虽然从本质上讲这仍是自动化的延伸,但它的表现会非常陌生,甚至有点“异化”。对我来说,最值得担忧的情景是:我们可能会逐步失去对这些系统的理解和控制。这种丧失不会是突然发生的,而是渐进式的。我们会一点一点把这些AI系统部署到各个角落,形成层层叠加的依赖体系,而了解它们工作机制的人会越来越少,直到我们完全无法理解这个系统的整体运作。在我看来,这是最有可能的未来:一个我们逐渐失去控制权、却仍不断前进的AI世界。

Dwarkesh Patel:理解的丧失我可以想象,但为什么你认为我们也会失去控制?

Andrej Karpathy:这个问题说实话我也不确定会怎么发展,只能用点像科幻小说的方式去设想。我不认为会有某个单一的超级智能体接管一切,更可能的情景是多个AI系统同时存在、彼此竞争,它们逐渐变得越来越自主,有些甚至“越界”了,而另一些可能会试图对其加以遏制。最后形成一个类似动态竞争、你中有我我中有你的“热锅”局面,我们把权力逐层委托下去,最终可能连我们自己也搞不清楚到底是谁在做决策。

而这种失控,并不是因为它们比我们聪明,而是因为它们彼此之间在竞争,而这个竞争本身带来的复杂性,最终导致我们对整体结果的控制力下降。比如,有些AI工具可能是人类个体在使用的,表面上是“人为操控”,但在整体上,它们的行为和决策早已脱离了我们原初设想的控制边界。

十、卡帕西驳斥“AGI奇点论”:智能不会突然爆发,它是自动化的渐进延伸

Dwarkesh Patel:我本该早一点问这个问题。我们之前提到,现在AI工程更像是使用编译器,而不是在构建一个能替代自己的系统。如果有一天我们实现了所谓的AGI,它应该能完成你现在做的所有工作。你是否认为,如果有一百万个“你”的副本并行工作,会带来某种AI进展的大爆炸?你期待会出现“智能爆炸”吗?

Andrej Karpathy:我认为会的,但它其实就是一种“正常的业务发展”状态。我们其实已经身处在一场“智能爆炸”中了,而且这已经持续了几十年。几百年来,我们就在不断实现自动化——工业革命是对物理层面的自动化;软件工具、编译器是对思维和信息处理的自动化。我们已经处在一场持续的自我改进和扩张之中。

换种方式说,从外太空看,地球其实几百万年来都是一样的在自转、运行,变化不大。但从文明的视角来看,我们其实处在一场正在爆炸的“烟花”之中,只是我们在慢动作中感知不到那种剧烈变化。我并不觉得AI是某种“不同于过往”的技术,它本质上是这种持续爆炸的一部分。

Dwarkesh Patel:这就像人类在工业革命前的增长速度是0%,今天是2%,所以整体是个“超指数”,而AI可能会把它带到20%甚至200%的年增长?

Andrej Karpathy:你可以这么理解。回顾过去300年,我们就是在不断接入新技术,比如蒸汽机、电力、铁路、计算机、通信,现在是AI。这些技术每一个都没有单独地改变曲线的形态,但它们叠加起来,共同塑造了这条“加速曲线”。AI并不会改变这个模式,它只是下一波浪潮而已。

Dwarkesh Patel:但GDP并没有真正跳变,还是2%左右。你是说未来也会维持在这个水平?

Andrej Karpathy:我个人预期增长率大致还是维持稳定。过去200到300年里,人类整体的增长趋势基本上保持在一个平稳的轨道上。的确,从人类历史的长河来看,这条曲线是从接近0%的增长突然加速,到工业革命后达到2%,好像是“爆发式”的。但如果你回头看,其实一切都是逐步递进的。比如我过去也试图从GDP曲线中寻找AI的影响,但我现在越来越认为这是误判。人们常说“递归式自我改进”,说AI实验室会不断加速自己,但我认为这其实只是“日常事务”。AI确实在帮助我们提高构建AI的效率,比如用LLM帮助工程师更快完成下一代LLM的开发,自动化程度不断提高,各种模块也越来越好调试和优化。我们今天每个人都能用Google搜索、用IDE开发工具、有代码自动补全,这些本质上就是同一条技术加速链条的一部分。所以我的观点是,经济增长率这条曲线非常平滑,AI不会改变它的形状。

Dwarkesh Patel:所以你的意思是,“智能爆炸”其实只是在帮助我们继续维持这个2%的增长轨道?就像当年互联网也没有让GDP曲线出现断层,而是继续推着它往前走。

Andrej Karpathy:对,我的预期就是我们会保持现在的增长模式。

Dwarkesh Patel:那我来提一个反对观点。我的看法是,如果真正的AGI出现,不是你说的代码自动补全工具,而是真正可以在服务器里替代一个人类的智能体,那它就和过去的生产力技术是“质”的不同。因为那不只是提升效率的问题,而是直接创造“劳动力”。如果我们突然拥有了数十亿个“额外的人类”在发明、在创办公司、在完成从0到1的完整产品链条,那它就不像是某项单一技术的推动,而更像是地球上多了数十亿聪明人,这个影响是本质不同的。

Andrej Karpathy:这是一个可以讨论的角度,我也没有特别坚持自己的观点,愿意被说服。不过我们也可以从另一个角度来看——计算本身也是“劳动力”。计算机的出现让很多数字信息处理的工作都不需要人来做了,很多岗位因此消失。这其实已经是“劳动的自动化”。比如自动驾驶也是一种计算替代劳动的例子,属于同一个范式之内。所以即使未来的AI看起来更强大,它也仍然是这个“持续演进”的一部分。我们会拥有更多可以创造“自动驾驶”“互联网”这种级别成果的机器,但整个过程仍然是连续的。

Dwarkesh Patel:可是历史上也确实出现过增长范式的变化,比如从农业社会到工业社会,然后到信息时代,每一次都不是2%变2%,而是真正的质变。假设我们有一台机器,它不仅能产出下一个“自动驾驶”或“互联网”,还能更快地产出一系列类似的系统,这就可能引发范式变化。

Andrej Karpathy:我明白这个设想,也能理解它的吸引力。但我觉得很多人误以为AGI是“神明装进盒子”,一旦放出来就能什么都做。这种想象不太现实。它确实会在某些事情上很强,但也会在很多方面出错,仍然需要我们慢慢把它部署进社会各个领域。所以我预期仍然是一个“渐进融合”的过程,不会出现那种突然的断层式爆发。我们不会真的拥有一个“通用智能”放进一个服务器,然后让它去接管所有复杂的社会任务。最终我们会看到的是AI技术像以往一样,逐步融入行业、融入工作流程。

而且我觉得“智能”这个词有时候是误导性的,因为它让人误以为会出现一个超级聪明的AI实体,坐在服务器里,自己发明新技术、设计新产品,从而引发指数级增长。但我心中设想的20%增长并不是这个样子。我想象的是,我们有了数以亿计的“聪明大脑”——也许还没达到人类通用智能的水平,但足够聪明,可以独立开发产品,自己找方法融入经济系统。就像一个非常优秀的移民来到某个国家,他不需要别人帮他规划,他自己就能创业、做研究、提升社会生产力。

我们已经看到一些类似的例子,在当前体制下,像香港、深圳这样的地区,曾经也经历过连续几十年的10%甚至更高的经济增长。那种增长来自于劳动力的增加与资本之间的配比变化。现在,如果我们能释放出足够多的“聪明劳动力”,也可能带来一轮类似的追赶式发展。我们之所以没有爆发,某种程度上是因为还有很多潜力没有被用上。

我认为你说的也许是对的,但我还是觉得你假设了某种“离散跃迁”的存在,仿佛有什么关键的“解锁”点在等待我们达成,一旦突破,我们就会在数据中心里拥有“天才级”的智能体。但我觉得你这个前提并不成立——这样的跃迁在历史上基本没有先例,我也找不到任何统计数据可以支持这种观点,所以我认为它大概率不会发生。

Dwarkesh Patel:工业革命就是这种跃迁吧?我们从0%或0.2%的增长跳升到了2%。我只是说,未来也许会出现类似的跳变。

Andrej Karpathy:这个说法我有些存疑,我得具体看一看。例如,工业革命前的数据记录质量可能并不好,所以我们对那段历史的判断也许有偏差。我对这件事还没有非常坚定的看法。

Dwarkesh Patel:也许那次就是一个非常魔法般的奇点事件,而你是否认为现在AI也可能带来类似的范式突破。

Andrej Karpathy:不,我的看法相反。工业革命的关键恰恰在于它不是魔法。如果你把镜头拉近,比如聚焦1770年到1870年这一段,你会看到那并不是某项关键技术突然爆发、改变了一切的瞬间。

Dwarkesh Patel:是,但整个经济确实进入了一个进步速度更快的新状态,呈现出10倍速的指数增长。我也期望AI能带来类似的情况。

Andrej Karpathy:但这并不是因为有哪一刻突然爆发,而是因为有一个“过剩任务”的存在——比如,有很多认知类的工作积压在那里没被完成。而AI的发展会逐步填补这个过剩。你所说的“新技术跨过门槛”,其实是在补上这些空白。

Dwarkesh Patel:对,我是这个意思。回顾历史,经济增长往往来自两方面:有人提出想法,有人去执行这些想法、产出价值。过去几十年增长放缓,很多人认为原因是人口增长停滞了,尤其是在一些发达国家。现在我认为,AI可能会带我们回到“超指数增长”的路径上——以前是人口驱动,现在是智能体驱动。

Andrej Karpathy:我理解你这个观点,但我从直觉上并不完全认同它。

Dwarkesh Patel:你曾推荐给我Nick Lane的书,我读完之后也很感兴趣,还去采访了他。我现在想就“智能的进化”这个主题聊聊。毕竟你过去20年都在做AI,现在应该对“智能是什么”“发展智能需要什么”有更直观的理解。你会因此对“进化居然自发产生出智能”这件事感到更惊讶,还是更能接受?

Andrej Karpathy:我非常喜欢Nick的书,我来这路上还在听他的播客。从进化的角度讲,我确实觉得智能的出现挺意外的——它真的非常新。在所有可能存在生命的星球中,如果有1000个像地球这样的行星,我觉得大多数可能都只会进化出类似细菌那样的低级生命,这是Nick Lane也曾说过的观点。

Dwarkesh Patel:他当时的说法是,大部分星球上确实都只会出现细菌或类似的东西。

Andrej Karpathy:对。他的观点是,智能生命是非常罕见的突破,我也倾向于这么看。比如,如果细菌在地球上存在了20亿年都没有进化出更复杂的生命形态,那说明“跃迁”到真核生物是个非常难的步骤,因为细菌在地球进化的早期就已经出现了。

那我们什么时候才有动物?也许是在几亿年前吧,那些会爬、会跑的多细胞生物,这大概只占地球历史的10%。从这个时间尺度上看,智能的进化也许并不是那么难,但从宇宙整体概率来看,应该还是相当罕见的。

我至今仍觉得这件事令人惊讶。直觉上,我原本以为演化会发展出许多类动物的生命形式,做些动物式的事情。但现实是,竟然出现了能够创造文化和知识、并持续积累的生命体,这一点真的很让我吃惊。

如果我们采纳那种“太阳角度”的观点——也就是认为智能的核心其实是动物智能,那么有一句话很有意思:“如果你能造出一只松鼠,你就离AGI不远了。”换句话说,松鼠那种级别的智能,其实在寒武纪大爆发后不久、也就是6亿年前,就已经演化出来了。而触发那个爆发的事件,是地球大气中的含氧量上升。

一旦有了氧气,似乎整个“智能算法”也就随之诞生了,从而产生了松鼠式的智能。也许进化之所以能这么快取得突破,是个偶然事件,但这也可能意味着智能的本质比我们想象中要简单得多。

当然,这些事情都很难判断。我们也许可以从一个生物存在了多久、或者它是否经历过长时间的“瓶颈”来看。比如,细菌曾在地球上主宰了数十亿年,拥有极其丰富的生化反应类型,却始终没有演化出更复杂的生物,这说明存在某种非常明显的进化瓶颈。但关于动物和智能的演化,我们似乎还没发现类似的长期停滞。

另一种思路是,研究“智能”是否在多个物种中独立演化过。比如,人类有一种智能,乌鸦等鸟类也表现出极高的聪明程度,但它们的大脑结构与哺乳动物差异很大。这也许可以看作是智能在两个系统中独立出现的例子。如果真是这样,那么“智能”作为一种能力可能更常见一些。

还有一些研究者提出了一个有趣的观点:人类和灵长类所拥有的那种“可扩展算法”,其实也在鸟类中出现过。区别在于,人类占据了一个特别的进化生态位,这个生态位鼓励智能的边际提升,而且也有一套可扩展的大脑机制,能够将这些提升转化为能力。

反过来说,如果一只鸟的大脑更大,它可能就飞不起来了。所以鸟类的大脑已经在给定体积下非常聪明了,但它们的生态位并不鼓励脑容量继续增长。某些海豚也很聪明,但问题类似。

而人类则不同,我们拥有手,可以学会使用工具,还能借助工具实现“外部消化”,释放更多能量供大脑使用,从而带动了整个智能发展的飞轮。而且,我们的生存环境中还有许多可以“操控”的东西。比如,如果我是一只海豚,我就很难使用火,海洋中可供利用的材料和化学环境远不如陆地丰富。所以,从化学角度来说,水下世界的创造空间可能远小于陆地。

我同意这种“生态位”视角,也认同智能的发展是因为某些特定激励存在。但我还是觉得很神奇。我原以为进化会停留在“肌肉更强的动物”阶段,没想到最终却选择了走“智能”这条路线。

有人对这个问题的描述也非常精彩:智能之所以难以演化,是因为它处在一个非常狭窄的区间——既不能重要到必须直接写进DNA,也不能无足轻重到不值得学习。它必须足够重要,以至于有必要开发一种算法,在个体的一生中动态学习这些能力。

换句话说,必须激励出某种“适应性”。这种情况下,演化会倾向于产生能在生命周期中“现学”的机制。而这又要求环境足够不可预测——不可预见的环境让进化无法提前将策略写死在基因里,只能借助个体智能在“测试时刻”做出判断。

很多动物在出生时就已经具备了一整套预设行为,可以说是“预训练”的。而人类则必须在出生后自己去探索和学习。这也许就是为什么我们会发展出智能,因为我们需要在快速变化的环境中现学现用。

我曾看过一篇很有意思的博客,提到他认为不会出现“智能突变”现象的原因,他指出:人类其实曾经经历过一次突变——大约6万年前,我们获得了今天所拥有的认知架构;但直到1万年前才出现农业革命和现代文明。那么在这中间的5万年里,我们都在干什么?这仍然是个未解之谜。

这确实是一个有趣的问题,人类花了很长时间才建立起文化这种“脚手架”结构,来实现跨代知识的积累。而在AI模型训练中,这种能力几乎是“免费”附带的。你可以把前一个模型的知识蒸馏到下一个模型中,也可以让它们共享同样的预训练语料,因此它们不需要从头开始学习。这种“文化循环”在人类社会中花了数万年才建立,而在训练语言模型时却天然具备。但话说回来,也不能完全类比,因为目前的语言模型并不真正拥有“文化”这个概念——也许我们给它们的任务定义本身就抑制了文化的形成。

十一、多智能体仍存瓶颈,卡帕西呼吁建立“AI文化”与“自我博弈”机制

Dwarkesh Patel:那你觉得LLM文化应该是什么样子?

Andrej Karpathy:最简单的设想是一个大型的草稿本(scratch pad),模型可以在其中不断编辑、记笔记。当它在执行任务或阅读内容时,会不断修改草稿本,为自己积累信息。

Dwarkesh Patel:那为什么不能让一个LLM给另一个LLM写一本书?让其他模型读它的书,从中获得灵感或受到震撼?这听起来很有趣。

Andrej Karpathy:对啊,这种机制现在还不存在。但我觉得这类文化性的交流应该会在未来出现,而且这也是我们更广泛探讨多智能体系统时的一个重要方向。其实有两个尚未充分实现、但我认为非常有前景的想法:一个是“文化”——语言模型之间可以建立一个不断增长的知识体系,供彼此使用;另一个是“自我博弈”,这个概念其实非常强大。

你看,进化本质上就是竞争驱动智能的过程。而像AlphaGo这样的系统,就是通过和自己对弈不断进步的。现在我们还没有看到语言模型实现类似的机制,比如一个模型提出各种新问题,另一个模型负责解决它们,然后再不断提高问题的难度。理论上这是可行的,但至今还没人真正做出令人信服的成果。

目前的研究大多还局限在单体智能体的范畴,组织层面的文化尚未出现。因此我认为我们还处在非常早期的阶段。

Dwarkesh Patel:你觉得阻碍多智能体协作的关键瓶颈是什么?

Andrej Karpathy:很多类比本不该成立,但在语言模型上却成立了。小模型就像幼儿园的学生,大模型像小学、高中生——我们还没有培养出能“毕业”的模型。现在的模型像是具备某些能力的神童,它们可以参加博士考试,看起来能做很多复杂的事,但整体认知上仍然像是小孩。

它们拥有完美的“记忆”,能生成很多看起来很不错的内容,但我认为它们仍不理解自己在做什么——它们在许多认知维度上仍不具备“真正的理解”。在这些方面我们还有很多工作要做。

Dwarkesh Patel:你怎么看这样一个观点:如果AI的实际使用没达到一些人的预期,那我们是不是正在“过度建设”算力?比如我们现在的投资节奏可能一年内增长10倍、十年内增长100倍,是不是会像当年电信行业泡沫或铁路行业那样,提前铺设但需求迟迟未到?

Andrej Karpathy:你说得没错,像电信行业提前为互联网建设基础设施,但等真正的需求来了却已经是十年之后,那个过程中确实也产生了泡沫。我要承认,我刚才听起来可能有些悲观。但我其实是很乐观的,我觉得这一切是可以做成的,是可以落地的。我听起来像在泼冷水,是因为我在社交媒体上看到太多不合理的乐观预测。

这种现象背后有很多原因。很多时候是为了融资,也可能是为了吸引注意力——因为在互联网上,流量可以变现。说到底,是激励结构的问题。我之所以这么反应,是因为我看到太多与现实脱节的说法。

但我总体上依然对这项技术持看好态度。过去一年进展飞快,比如Code Interpreter、OpenAI Codex这些东西,在一年前根本还不存在。它们的能力已经证明了市场有巨大的真实需求,比如ChatGPT就已经展现了这一点。所以我不认为我们“算力过剩”。从我的理解来看,我们正在建设的这些算力,很可能都会被吃掉。

不过,我确实对那些“快速实现AGI”“很快超越人类智能”这类时间线预测持保留态度。我从事AI已有15年了,我听到过太多这类错判,很多还来自非常有声望的人。我希望人们在这些预测上更加校准现实,尤其是当这类话题具有地缘政治影响时,犯错的代价就非常大。我们必须脚踏实地地理解技术到底做到了什么、还没做到什么。

十二、卡帕西拒回AI实验室,选择办学育人:担心AI进步,人类却被甩下车

Dwarkesh Patel:那我们来谈谈教育吧,还有Eureka这些项目。你现在在做什么?有没有考虑回去开个AI实验室继续搞研究?

Andrej Karpathy:我觉得现在AI实验室在做的事情已经有很强的“决定性路径”了。我可以参与其中,起到一定作用,但未必能带来特别独特的贡献。

而我最担心的问题其实是在“人类”这边。我担心这些技术的发展会让人类变得无足轻重。比如你可以想象未来AI自己建戴森球(围绕恒星构建的巨大结构,最大限度地收集恒星发出的能量)、自己完成所有任务的画面,但我更关心的是,在那样的未来里,人类会变成什么样?

我不希望我们走向电影《瓦力》或《白痴时代》(Idiocracy)那种人类被边缘化的世界。我希望人类在这个未来里依然过得很好、活得有尊严。我相信自己能在这件事上做出更独特的贡献,而不是仅仅去做一个前沿实验室的微小优化。

所以对我来说,“教育”是实现这个目标的路径之一。我相信通过教育,人类才能真正参与进AI时代,而不是被技术甩在一边。

我现在正在做的Eureka项目,可以用一句话来概括:我们想要打造“星际舰队学院”。你看过《星际迷航》吗?它里面设定了一所培养太空飞船驾驶员和技术专家的精英学院,我们的目标也差不多——建设一所面向前沿技术、教学内容高度更新的顶尖技术机构。我一直对“怎么教授技术或科学知识”这个问题很感兴趣,特别是怎样把它教得更好。我想从两个角度来谈这个问题,一是我在YouTube上所做内容的经验,另一个是我在Eureka正在构思的做法。

我认为教育会因为AI而发生根本性变化,整个教学流程需要被重新设计。现在大家最先想到的当然是用LLM来回答问题、提供提示,但这些方式对我来说仍显得粗糙。我不想只是用现在这些“提示工程”的方式去搭建学习体验,我想要的是一个真正意义上的AI家教系统。

我确实正在做这件事,但我想强调:任何体验过真正好老师的人,都会意识到这事有多难做成。所以现在我还在等待那个关键能力的出现。在这之前,我会先做一些更传统、但有数字化与现实结合元素的教育产品。未来的形态我已经很清楚了,只是今天的技术还没有准备好。

顺便说一句,我曾经给一些公司做计算机视觉方面的AI顾问,结果发现我最大的价值不是告诉他们怎么用AI,而是告诉他们什么时候不要用AI。我在教育领域也持类似观点——虽然AI未来一定会成为教育革命的核心驱动力,但现在还不是做出理想产品的时候。未来会到来的,但我们得等等看。