在 No Priors 频道的最新访谈中,AI 领域的先驱 Andrej Karpathy 与主持人 Sarah Guo 展开了一场关于人工智能未来的深度对话。Karpathy 结合自己在特斯拉(Tesla)和 OpenAI 的深厚背景,系统地阐述了我们正迈入的“循环时代”(The Loopy Era)。他指出,AI 的发展正从单纯接收人类指令的“黑盒”,演变为能够自主思考、执行任务并从错误中自我修正的智能系统。这种范式的转变,标志着 AI 智能体(Agents)正式从概念走向大规模实战应用。
访谈的核心话题之一是代码智能体(Code Agents) 的进化。Karpathy 认为,编程领域是 AI 智能体最完美的试验场,因为代码的运行结果具有明确的客观标准。他描述了一个未来场景:开发者不再需要亲手敲每一行代码,而是扮演“架构师”的角色,通过高层指令引导 AI 自主构建复杂的软件系统。这种效率的飞跃不仅改变了开发者的工作流,更预示着软件工程本身正在经历一场结构性的重塑。
此外,Karpathy 首次详细公开了他的新实验项目 AutoResearch。这一项目旨在探索 AI 是否能像人类科学家一样,自主完成从提出假说、设计实验到分析数据的全流程。他构想了一个“无人值守”的研究环境,AI 在数字实验室中不断尝试、失败并迭代,从而加速科学发现的进程。这种自动化的科研范式,可能会彻底打破人类认知边界的扩张速度限制,成为推动技术创新的新引擎。
在讨论技术进步的同时,访谈也深入探讨了其背后的社会影响,特别是对教育与就业的冲击。Karpathy 以极具前瞻性的视角分析了工程师在 AI 时代应具备的核心竞争力。他认为,虽然基础的编码技能可能会被自动化取代,但人类的判断力、对复杂系统的审美以及解决真实问题的直觉将变得愈发珍贵。他鼓励学习者保持好奇心,利用 AI 工具去探索那些曾经因门槛过高而无法触及的领域,实现个人能力的指数级增长。
Andrej Karpathy on Code Agents, AutoResearch, and the Loopy Era of AI
访谈开篇(Cold Open 预告)
Andrej Karpathy:“写代码"这个说法已经不够准确了——如今我每天花十六个小时做的事,是向我的智能体传达意志、发号施令。我一直在思考:怎样才能不只运行一个 Claude Code、Codex 或某个智能体框架(agent harness)的单一会话?怎么同时运行更多?又该怎么合理地协调它们?
Andrej Karpathy:如今,智能体本身已成为理所当然的存在,各种类 Claude 实体也不再是新鲜事物——你可以同时运行多个,向它们下达指令,甚至对指令本身进行优化迭代。正因如此,这件事会把人带进一种"着魔"的状态,因为它是无限的,每一处做得不好的地方都只是个人能力问题。

访谈正文
Sarah Guo:大家好,欢迎回到《No Priors》。今天的嘉宾是 Andrej Karpathy,我们进行了一次涉猎广泛的对话,话题涵盖代码智能体、工程与 AI 研究的未来、如何让更多人参与前沿研究、机器人技术的现状、他对智能体延伸至现实世界的预测,以及这一新时代的教育问题。欢迎你,Andrej,感谢你来参加。
Andrej Karpathy:谢谢,感谢邀请。
Sarah Guo:最近这几个月,AI 领域可谓风起云涌。
Andrej Karpathy:可以这么说。
Sarah Guo:我记得有一天走进办公室,看到你全神贯注地盯着屏幕,我问你在忙什么,你说:“我现在必须每天花十六个小时写代码——不对,‘写代码’都不是准确的说法——我要花十六个小时向我的智能体传达意志,因为能力上出现了一次真正的跃升。“到底发生了什么?能跟我们聊聊你的亲身体验吗?
Andrej Karpathy:我感觉自己一直处于一种 AI 着魔(AI psychosis)的状态,这种感觉时常笼罩着我。这是因为个人所能实现的事情出现了一次巨大的解放。过去,你的瓶颈在于打字速度之类的事情,但现在有了这些智能体,大约是从去年十二月开始,有什么东西彻底翻转了——我从"80% 自己写代码、20% 交给智能体"的状态,切换成了"20% 自己写、80% 委托给智能体”。而且现在应该早就不止这个比例了,应该更极端。大概从十二月起,我基本上就没有亲手敲过一行代码——这是一个极其巨大的转变。
Andrej Karpathy:我试着跟父母讲起这件事,发现普通人根本没有意识到这一切已经发生,也不知道它究竟有多剧烈。如果你随机走到一位软件工程师身边,看看他们的默认工作流,你会发现从十二月开始,那已经是截然不同的另一套东西了。我就在这种着魔的状态里,不断摸索什么是可能的,不断把边界往前推——我到底可以同时开多少个 Claude Code 或 Codex 的会话?怎么合理地协调它们?这些 Claude 实体究竟是什么,该怎么用?新东西实在太多了,我迫切想站在最前沿,但同时又焦虑地担心自己没能做到。看到 Twitter 上各种人在做各种各样的事,听起来都是好主意,这种紧迫感让我极为不安。所以我就深陷着魔状态,在这片本质上尚未被探索的领域里,拼命摸索边界究竟在哪里。
能力的边界究竟在哪里?
Sarah Guo:如果你都感到紧张,我们其他人就更不用说了。我们在 Conviction 有一个合作团队,他们的工作方式极为特殊:没有一个工程师手写代码,所有人都戴着麦克风,轻声对着智能体发出指令。那工作环境看起来极其奇异。我一开始以为他们疯了,但现在我完全接受了——原来那才是正确的方式,他们只是走在了前面而已。那你如何看待自己目前的能力边界?探索项目、推进工作,究竟受什么限制?
Andrej Karpathy:我觉得有太多因素限制着你,但很多时候即使做不成,也感觉是"技巧问题”(skill issue)——不是能力不在那里,而是还没找到把现有能力串联起来的方式。比如,可能只是我在 agents MD 文件里没有给出足够好的指令,或者没有配置合适的记忆工具(memory tool)之类的。所以当某件事不奏效时,某种程度上感觉都是自己的操作问题,而不是能力本身的上限。你会想尽办法让多个智能体并行运转,想成为 Peter Steinberg 那样的人。
Andrej Karpathy:Peter 因为一张照片而广为人知:他坐在一台摆满屏幕的显示器前,同时运行着大量 Codex 智能体。只要提示词给得对、开启高强度模式,每个任务大约需要二十分钟。他同时检出了十几个代码仓库(repos),在它们之间来回穿梭、逐一分派任务。你可以以更宏观的动作单位来推进工作——不再是"这里加一行代码、这里写一个新函数”,而是"这里有一项新功能,交给一号智能体;这里有另一项不会和它冲突的功能,交给二号智能体;然后根据你对这段代码的重视程度,尽可能地审查它们的输出"。
Andrej Karpathy:这就是我所说的宏观操作——你开始以这种粒度来掌控整个软件代码仓库。与此同时,另一个智能体在做调研,另一个在写代码,还有一个在为新功能规划实现方案。一切都在你的代码仓库上,以宏观动作的节奏徐徐展开。你要做的,就是不断磨练这种能力,形成肌肉记忆。这既令人振奋——因为它真的有效——也是一套全新的技能需要学习,这就是为什么会陷入着魔状态。
Sarah Guo:说到这里,我深有同感。每当我在等待一个智能体完成任务时,显而易见的反应就是:我可以做更多工作。只要还有更多 tokens 可用,就应该并行地叠加更多任务。这会带来很大的压力——因为如果你不被 token 开销所束缚,那你自己就成了追求最大产出的整个系统里的那个瓶颈。
Andrej Karpathy:对,正是如此。最大化订阅价值固然重要,更理想的状态是同时运行多个智能体——比如 Codex 的配额用完了,就切换到 Claude 之类的平台继续跑。我也在尝试这样做,每当还有订阅余量剩余时,我就会感到焦虑,因为这意味着我还没有把 token 吞吐量用到极致。这让我想起了读博时的感受——GPU 没有满负荷运行,你就会浑身不自在,明明有算力,却没把可用的 FLOPS 全部榨干。只不过现在换了个维度:不再是算力(FLOPS),而是 tokens。那么,你的 token 吞吐量是多少,你能驾驭多大规模的 token 流量?
Sarah Guo:这里有一个值得深思的历史转折:过去至少十年里,在许多工程任务中,工程师们并不觉得自己受算力约束——整个行业长期以来都感到资源匮乏是瓶颈。而在这波能力跃升之后,你会发现"如何获取算力"已不再是制约你的关键,真正的瓶颈反而变成了你自己。
Andrej Karpathy:对,这其实是个技巧问题,而这反而令人振奋,因为这意味着你还有进步空间。这也是为什么我觉得它如此令人上瘾——每当你精进一步,就会解锁新的可能。
掌握编程智能体意味着什么
Sarah Guo:你觉得这一切会走向何方?想象一下,Andrej 和所有人每天花十六个小时持续精进使用编程智能体的技巧——一年后达到真正的精通,那会是什么景象?精通究竟是什么模样——无论是一年后、两三年后,还是五年、十年之后?
Andrej Karpathy:我认为大家本质上都在追求同一件事:不断向更高的抽象层次跃迁。眼下,关注点已不再局限于单次会话与智能体的交互,而是聚焦于多智能体如何协同、如何在团队中运作——每个人都在摸索这套模式该是什么形态。与此同时,Claude 也指向了一个颇具启发性的方向。我所说的"Claude",指的是那一层将持久化能力提升到全新高度的架构——它会持续循环运转,不需要你随时在场、实时介入。它有自己的沙箱,能够代你自主行动,即便你没有在旁监看。在记忆系统方面,开源版 Claude(Open Claude)的设计也更为精密,远超现有智能体的默认配置——后者通常只有在上下文窗口耗尽时才会触发记忆压缩。相比起更广泛的工具访问权限,这种更完善的记忆系统,或许才是打动更多用户的真正关键。
Andrej Karpathy:Peter 在这方面做了非常出色的工作。我最近见到他,和他聊过,他为人非常谦逊,但在我看来,他同时在五个不同维度上实现了创新,并将其融合为一体。比如那份"灵魂文档"(Soul Document),他真正塑造出了一种令人信服、引人入胜的个性——而我发现,很多当前的智能体在这一点上都做得不够好。Claude 的个性其实相当出色:它让人感觉像是一个队友,和你一起兴奋、共情。相比之下,Codex 就干燥得多——这倒有些有趣,因为在 ChatGPT 版本里 Codex 显得活泼而富有感染力,但作为独立编程智能体的 Codex,却非常冷峻,似乎对你在构建什么毫不在意,只是机械地说"好,我实现了",让你忍不住想问:你真的理解我们在做什么吗?
Andrej Karpathy:还有一点我认为 Claude 做得相当好——它把谄媚倾向(sycophancy)的分寸拿捏得很到位。当 Claude 表扬我时,我确实觉得自己多少是值得的。有时我给它的想法并不成熟,它的反应也不会特别热烈,只是淡淡地说"好,我们可以实现它";但当我提出一个我自己也认为真正不错的想法时,它确实会给出更积极的回应。于是我发现自己开始努力"赢得它的称赞"——这感觉很奇妙,但确实真实发生了。所以我认为个性设计至关重要,很多其他工具在这方面的重视程度还不够。Peter 非常在意这一点,这是正确的方向。加上精心设计的记忆系统,以及那个统一的 WhatsApp 入口——将所有自动化功能汇聚到单一频道——整体令人叹服。
Sarah Guo:那么,你有没有用 Claude 做过超出软件工程范畴的、觉得有趣或有意思的事情?
Andrej Karpathy:当然有。今年一月,我经历了一段 Claude 着魔状态。我搭建了一个 Claude 智能体来管理我的家,给它起名叫"Dobby 小精灵克劳德"(Dobby the elf Claude)。我让智能体扫描了家里局域网上所有的智能家居子系统——结果出乎意料地顺利,完全开箱即用。
Andrej Karpathy:我只是告诉它:我家里好像有 Sonos 音响,你能帮我找找看吗?它就扫描了局域网上所有设备的 IP,找到了 Sonos 系统,而且发现根本没有密码保护,直接登录进去,然后报告说:“你家里有这几套 Sonos 系统,我来试着搞清楚它的运作方式。“它做了一些网络搜索,找到了对应的 API 接口,然后问我:要不要试试?我当时整个人都惊了——它就这样搞定了。我说:“好,能不能在书房里播点音乐?“结果音乐就真的响起来了,我简直不敢相信——就三条提示词,就完成了这一切。我只是输入了"帮我找找我的 Sonos”,它就开始播音乐了。
Andrej Karpathy:灯光控制也是同样的逻辑——它摸清了整个系统的运作方式,创建了 API 接口,搭建了一个控制仪表盘,让我能直观看到家里所有灯光的指挥中心,并开始控制灯的开关。现在我只要说"Dobby,睡眠时间到了”,所有的灯就会全部关闭。如今它管理着我家的灯光、暖通空调(HVAC)、遮阳帘、泳池和水疗间,还有安防系统。我在屋外装了一个摄像头,每当画面中出现变动,就会触发变化检测,随后将图像帧发送给 Qwen 模型进行识别,再给我的 WhatsApp 发来一条短信,附上门外的截图,告知我:“一辆 FedEx 快递车刚停在门口,你可能有包裹要收。”
Andrej Karpathy:Dobby 给我发来的消息真的令人叹为观止。如今,Dobby 全权管理着我的家——我通过 WhatsApp 与它沟通交流。拥有这些能够维持家居日常运转的宏指令,真的非常有趣。我还没有把它推得更远,我知道有些人在用它做更疯狂的事情;但对我来说,仅仅是这套智能家居自动化配置,就已经价值连城。我以前需要用六款完全不同的 App,现在一个都不用了——Dobby 用自然语言管控一切。这实在太神奇了。我甚至还没有完全挖掘这个新范式的潜力,但它已经如此实用、如此令人振奋。
自然语言编程的二阶效应
Sarah Guo:你觉得这是否反映了人们对软件用户体验的真实期望?我认为,人们学习新软件、适应新界面所需付出的认知成本,往往被大大忽视了。
Andrej Karpathy:在某种程度上确实如此——这就好像是从人们对 AI 应有形态的想象出发,反向推导而来。人们脑海中的"AI"和大语言模型(LLM)的本质并不一样:从技术角度看,LLM 不过是个词元(token)生成器,不断输出更多词元;但人们想象中的 AI,是一个有人格和身份认同的存在,你可以向它倾诉,它会记住你说过的话——就像藏在 WhatsApp 背后的一个实体。这种形象要直观得多,也更容易让人接受和理解。
Andrej Karpathy:所以我认为,这在某种程度上是在迎合人们对 AI 行为方式的既有预期。只不过在底层,有大量技术细节支撑着这一切,而原生的大语言模型对大多数人来说还太过"底层”,无法直接被感知为真正的"AI”——如果你能理解我的意思。把它命名为 Dobby、赋予它某种人格,显然更能引发用户共鸣。此外,你把六套不同的智能家居软件系统整合为一,这也触及了一个更深层的问题:人们真的需要我们今天拥有的所有这些软件吗?
Sarah Guo:你保留了硬件,但实际上已经抛弃了软件和交互层。你觉得这是人们真正想要的吗?
Andrej Karpathy:我认为是的。应用商店里那些用于控制智能家居设备的 App,从某种意义上说根本就不应该存在——难道不应该直接暴露 API 接口,让智能体调用就好了吗?我可以用智能体完成任何单一 App 都无法实现的各种家居自动化操作。大语言模型可以真正驱动工具调用,将所有合适的工具串联起来,完成相当复杂的任务。从这个角度看,我们确实存在大量定制化专属 App 的过度生产问题——这些 App 本不该存在,因为智能体会把它们一一消解。未来应该是这样的:一切都尽量以开放 API 端点的形式存在,智能体则充当智能的"粘合剂",负责调用所有模块,将一切整合起来。
Andrej Karpathy:再举个例子:我的跑步机也配了一个 App,我想追踪自己做有氧运动的频率,但我实在不想登录某个网页界面,一步步走完那些繁琐的流程。这类事情,都应该通过开放 API 来解决。这也正是整个行业向智能体驱动的网络(agentic web)、智能体优先(agent-first)工具演进的大方向。整个行业都需要在如此多的维度上重新配置——客户已经不再是人类本身,而是代表人类行动的智能体。这场重构,在某种意义上将是相当深刻的。
Andrej Karpathy:有时人们会提出质疑:我们真的期望普通人都去做 Vibe Coding(氛围编程),自己搭建这些东西吗?但我认为,这只是技术在当下阶段的现实状态。Vibe Coding 目前确实存在,我在亲身经历和参与其中。但我的感觉是,我刚才谈到的这类事情,在一两年或三年后,应该会变得唾手可得——根本不需要任何 Vibe Coding,这将是微不足道的基本门槛,是任何 AI、甚至开源模型都能轻松完成的事情。将非技术型用户的意图转化为实际行动,应该会变得极其简单。今天,这还需要 Vibe Coding,需要一定程度的介入,也还要自己做出一些设计决策。但我感觉,这道门槛将会持续降低,最终演变为:Claude 在幕后默默处理所有细节,只是把界面呈现给你,而你只需开口说出想法就好了。
为什么做 AutoResearch
Sarah Guo:你为什么还没有真正突破极限,去充分挖掘自己使用 Claude 的潜力呢?是因为你在专注于更重要的项目——比如 AutoResearch——还是说你还在攀登熟练度的山坡,或者是其他原因?
Andrej Karpathy:说实话,我只是觉得自己被太多事情分心了。我大概花了一周时间深入研究 Claude,但还有更多事情等着去做。不得不说,Jensen 那边的工具资源也一直处于满负荷状态,令人无奈。我也没有真正用上邮件、日历这些功能,也没有给它相应的访问权限——因为我对此还有些疑虑,这一切都还太新,边边角角还很粗糙。我还没准备好把自己的数字生活完全交给它;安全和隐私方面的顾虑是主要原因,在这个领域我依然非常谨慎。所以在某种程度上,是这些顾虑制约了我的步伐。当然,另一方面也确实是因为太过分心——刚享受了一周的 Claude 时光,其他事情又接踵而来。
Sarah Guo:那么,驱动你做 AutoResearch 的动机是什么?我记得你曾谈到,让智能体来训练、或者至少优化一个模型,是你长久以来希望看到的任务目标。
Andrej Karpathy:是的,AutoResearch。我之前发过一条推文,大意是:要真正充分利用现在可用的工具,你必须把自己从瓶颈位置上移除——你不能总是守在旁边,等着去触发下一个提示词。你必须把自己移到系统之外。你要把一切安排妥当,使其完全自主运转,而不是守在回路中等着触发下一个提示词。现在这个游戏的核心,就是提升你的杠杆效率:我只需偶尔投入极少量的 token,就能在我的授权下完成大量工作。
Andrej Karpathy:AutoResearch 就是这种理念的具体体现。我发了那条推文,大家好像都挺感兴趣,但我觉得很多人还没真正想清楚它背后的含义。对我来说,AutoResearch 意味着:我不想成为那个"守在回路里的研究员",盯着实验结果一条条审查——那样反而是我在拖慢整个系统。所以问题就变成了:我怎样重新拆解所有的抽象层次,让自己只需安排一次、按下启动键就行?这个游戏的真谛在于——如何让更多智能体在更长的时间里,在没有你介入的情况下,持续代表你完成工作?AutoResearch 就是这个答案:给它一个目标、一个衡量指标、一套能做什么和不能做什么的边界,然后让它去跑。
Sarah Guo:你说你对它的效果感到惊讶?
Andrej Karpathy:我确实没想到它会奏效。我有一个叫 data chat 的项目,很多人对我痴迷于训练 GPT-2 风格的模型感到困惑——但对我来说,这类模型不过是一个小小的实验场,一个练习训练大语言模型(LLMs)的沙盒。我真正感兴趣的,是递归自我改进(recursive self-improvement)这个概念:大语言模型能在多大程度上真正改进大语言模型本身?我认为所有前沿实验室(frontier labs)都在研究这件事——原因显而易见——他们都在以各种形式尝试递归自我改进。对我来说,这个小项目就是对这一想法的一次小规模演练。
Andrej Karpathy:我已经用传统方式对 Namat 做了相当多的手动调优。作为一个有近二十年经验的研究员,我对这套流程非常熟悉——做过无数次实验,做过超参数(hyperparameter)搜索,该做的都做过了,也达到了一定的调优水平,自认为已经调得相当不错。然后我让 AutoResearch 跑了一晚上,它回来时带来了一些我自己没发现的调优结果:我忘了对值嵌入(value embeddings)设置权重衰减(weight decay),Adam 优化器的 beta 参数也没调到位——而这些参数之间是相互耦合的,调了一个,其他的可能也要跟着变。我本不该成为这个瓶颈——我不该亲自跑超参数搜索,也不该盯着结果看。
Andrej Karpathy:这个场景里有客观的评价标准,所以你只需把一切安排好,让它能够永远运行下去。这只是 AutoResearch 的一个简单版本——一个不断尝试自我改进的单循环。让我惊讶的是,在代码仓库已经调得相当不错的情况下,它依然找到了改进空间。而且这只是一个单循环——那些前沿实验室拥有数以万计 GPU 的集群。所以很容易想象,你可以把大量这样的自动化流程运用到规模较小的模型上。前沿级别智能的核心,最终都是关于外推(extrapolation)和规模化损失(scaling loss):你在小模型上做大量探索,然后尝试将结论外推到更大规模。
自动化研究组织
Sarah Guo:也就是说,我们的研究效率会大幅提升——通过更好的实验,我们在规模化之前也能获得更明确的方向?
Andrej Karpathy:是的,我认为目前最有意思的项目,也可能正是各大前沿实验室正在推进的方向:在小模型上做实验,尽可能实现自动化,把研究人员从回路中移除。研究人员现在对这套流程的介入实在太深了,换句话说,他们其实不该碰这些。他们可以贡献想法,但不该亲手去执行这些想法。
Andrej Karpathy:理想的架构应该是:有一个统一的想法队列,有一个自动化科学家(automated scientist)根据 arXiv 论文和 GitHub 代码仓库源源不断地生成想法,研究人员也可以向队列里投入想法;工作进程(workers)从队列中取出任务并加以验证——有效的方案就被提交到功能分支(feature branch),再由人审核并适时合并到主分支。总的方向就是把人类从所有环节中移除,尽可能自动化,追求极高的 token 吞吐量(tokens per second throughput)。这需要重新思考所有的抽象层次,一切都要重新洗牌。我觉得这非常令人兴奋。
Sarah Guo:如果再往前递推一步——什么时候模型会写出比你更好的 program.md?program.md 的含义,就是我们不在回路里。
Andrej Karpathy:对,正是如此。program.md 是我对"自动化研究员应该如何运作"的一次粗浅描述——做完这个,再做那个,尝试这类想法,看看架构、优化器之类的。我就是用 Markdown 随手写下来的。
Andrej Karpathy:所以你可以想象,不同的 program.md 会带来不同的进展速度。换句话说,每一个研究组织都可以用一个 program.md 来描述——一个研究组织,就是一组 Markdown 文件,描述了所有角色以及整体协作方式。你完全可以设想一个更好的研究组织:比如少开几次早会,因为那些早会本就没什么用。而这一切都只是代码。一个组织可以少开早会,另一个可以多开;一个可以更激进冒险,另一个可以更保守稳健。你可以同时运行多个研究型组织,它们都有各自的代码,一旦有了代码,就可以对代码进行调优——这就是整件事的元层(meta layer)。
Sarah Guo:你看到我关于"竞赛"的想法了吗?我的设想是:让大家写出不同的 program.md,在相同的硬件条件下,看谁能取得最大的改进。然后把所有这些数据喂给模型,让它写出更好的 program.md。
Andrej Karpathy:对,就是这样——我们一定能得到更好的结果,这几乎是必然的。你完全可以回头审视改进究竟来自哪里,然后思考:我能否调整 program.md,让更多这类有效的事情发生,同时减少那些无效的尝试?这就是元优化(meta optimization)——完全可以这样做。
Sarah Guo:我认为这是个很棒的想法,但我们毕竟是一步一步走到这里的:先有一个流程,再有第二个,再有下一个,这些都是洋葱的层层叠加。大语言模型(LLM)那一层如今已是理所当然;智能体那一层也成了理所当然;类 Claude 实体也已司空见惯——你可以同时拥有多个,可以向它们下达指令,还可以对这些指令进行优化。这一切叠加起来,确实有点让人应接不暇。但这正是它通往 AI 着魔状态的原因——这个过程是无限的,处处都还有技巧问题,所以才会如此疯狂。好,如果我们只是想诊断一下当下的处境——当前最关键的技能是什么?你认为这意味着什么?这个我们应该在各个领域都去实现的闭环,它真的能运转起来吗——建立好评估指标,让智能体能够脱离人工干预、自主持续推进?
Andrej Karpathy:是的。
Sarah Guo:那性能工程(performance engineering)在这个时代还有一席之地吗?
Andrej Karpathy:当然。我想在大语言模型生态系统上补充几点说明。第一,这套方法非常适合那些拥有客观且易于评估的指标的任务。比如,为提升效率而编写 CUDA 内核、为模型各模块编写优化代码,都是完美的应用场景——你有低效代码,你想要行为完全一致但运行速度大幅提升的高效代码,完美契合。很多任务都非常适合自动化研究(auto research),但也有很多不适合。简单说:如果无法评估,就无法进行自动化研究。
Andrej Karpathy:第二,我们虽然在谈论下一步,也隐约看到了方向,但从根本上说,整个系统目前仍有些捉襟见肘,存在裂缝,尚未完全成熟。如果你试图跑得太快,整个系统反而会得不偿失。这些模型虽然进步显著,但用"粗糙"来形容它们的边缘情况仍不为过。
Andrej Karpathy:与它们交流时,我同时感觉像在跟一位极度聪明、有着丰富系统编程经验的博士生对话,又像在跟一个十岁小孩打交道。这种感觉非常奇异,因为人类的能力通常是高度耦合的——你不会在人类身上遇到这种奇特的组合。这种参差不齐(jaggedness)的特性非常奇特。相比之下,人类的能力要均衡得多,而智能体的参差感则强烈得多。有时我要求某项功能,它给出的东西完全跑偏,然后我们就陷入一个接一个的错误循环。我至今仍时常为智能体感到沮丧——你能感受到它的力量,但它偶尔还是会做出莫名其妙的事。每当我觉得智能体在一个本该立刻识别出来的显而易见的问题上浪费了大量计算资源,我就会非常抓狂。
Andrej Karpathy:我认为,如果要做一个假设,深层原因可能在于:这些模型从根本上是通过强化学习(reinforcement learning)训练的。它们实际上正在经历我们刚才讨论的那个相同困境——实验室只能在可验证、有奖励信号的领域改进模型:程序写对了吗?单元测试通过了吗?答案非是即否。但在一些领域,模型仍然举步维艰,比如理解我真正的意图是什么,以及何时应该主动提问澄清。凡是感觉"软性"的东西,表现就越差。所以你要么在既定轨道(on Rails)上,成为超级智能回路的一部分;要么脱了轨,落在可验证领域之外,一切便开始漫无目的地游荡。
Andrej Karpathy:换个方式来说:如果你今天去问当前最先进的模型 ChatGPT 讲个笑话,你知道它会说什么吗?我感觉 ChatGPT 大概就那三个笑话。所有大语言模型里,据说最受"欢迎"的笑话是:“科学家为什么不相信原子?” “因为它们无中生有(make everything up)。” 这个笑话三四年前就出现了,今天还是这个。即便模型已经大幅进步——给它一个智能体任务,它可以连续工作数小时、为你移山填海——但你让它讲个笑话,它还是拿出一个五年前的烂梗。原因就在于:这在强化学习的优化范围之外,根本没有被优化,所以它停滞在原地。这正是参差不齐的体现:难道你不期待随着模型变得更强,它的笑话也能更好、更多样吗?答案是:那根本没有被优化,于是它就卡在那里了。
Sarah Guo:你认为这是否意味着,我们并没有看到真正意义上的泛化——即讲笑话的智慧与写代码的智慧并没有相互关联?
Andrej Karpathy:我认为确实存在某种解耦:有些东西可验证,有些不行;有些被实验室根据训练数据有意优化,有些则没有。有一种论断——来自某些研究团队——认为如果模型在代码生成或其他可验证领域更强,它在所有方面都应该更强。但笑话这个例子表明,这种全面泛化并没有发生。或许有一点点,但远远不够令人满意。
Sarah Guo:当然,这种现象在人类中也存在——你可以数学极好,但笑话讲得一塌糊涂。
Andrej Karpathy:确实如此。但这仍然意味着,所谓"随着模型越来越强,我们将在社会各领域近乎免费地获得大量智能与能力"——这个叙事并不完全成立。模型存在盲区,有些领域根本没有被优化到。这一切都埋藏在这些不透明的神经网络模型之中。你要么在它被训练的既定轨道上,一切如光速飞驰;要么脱了轨,就是参差不齐。
模型物种分化
Sarah Guo:这种参差不齐的状态若持续存在,而一切都被封装在一个单体界面、一个单一模型里,这真的合理吗?还是说我们应该把它拆解开来,针对不同的智能领域分别优化——比如将模型拆分成在不同领域各自擅长的多个专家模型?至少这样你不用面对一个黑盒,然后困惑地问"为什么它在这件事上这么强,在那件事上却这么弱?"
Andrej Karpathy:就我目前的判断来看,各家实验室都在努力打造一种"单一文化"(monoculture)模型——试图在所有领域都达到任意高度的智能,然后把这些能力全部塞进参数里。但我确实认为,我们应该期待智能体之间出现更多的物种分化。
Andrej Karpathy:你看,动物界的大脑形态极为多样,自然界存在着各种各样的生态位——有些动物进化出了高度发达的视觉皮层或其他特定脑区。我认为,我们同样应该能看到更多的模型物种分化。你不需要一个无所不知的"神谕",而是可以让模型分化,再将其部署到特定任务上。我们完全可以用更小的模型保留认知核心(即基本能力),再让它专项化,从而在你真正关心的特定任务上实现更低的延迟或更高的 token 吞吐量——比如你是一名使用 Lean 语言的数学家。我已经看到有几个发布版本专门以某个垂直领域为目标,这种拆分开始显现出一定的合理性。
Sarah Guo:我的一个疑问是:可用计算基础设施上的容量约束,是否会进一步推动这种趋势——毕竟效率确实变得越来越重要。如果抛开融资问题(当然融资始终是绕不开的),假设你可以为任何事情随时调用完整的算力、哪怕只用一个单一模型,那或许另当别论。但如果你真实地感受到压力——无法为每一个使用场景都部署超大规模模型,你认为这会推动物种分化吗?
Andrej Karpathy:这个问题我能理解。但我想了想,我们目前还没有真正看到太多物种分化。眼前是清一色的单一文化模型,而且存在一种持续的压力:打造一个优质的代码模型,再把它合并回主干——即便模型本身已经承受着不少压力,这种方向性的拉力依然存在。
Andrej Karpathy:我猜,目前这种短期的供应紧张或许正在催生更多的分化。从根本上说,各实验室在提供模型时,并不真正知道最终用户会问什么——这或许正是问题的部分根源,因为他们必须让模型能够应对所有可能被提问的事情。但如果你是与某个企业合作、专注于特定问题,或许就能看到这种分化;或者对于某些高价值的利基应用场景,分化也可能出现。不过就目前而言,各家实验室似乎还是在追求覆盖所有可能的应用场景。另一方面,“如何操控这些大脑"的科学,我认为还没有完全成熟。
Sarah Guo:“操控"是什么意思?
Andrej Karpathy:举个例子,比如在微调(fine-tuning)过程中不损失已有能力——我们目前还缺乏真正处理这些智能的原语(primitives),而不只是依靠上下文窗口(context windows)来做调整。上下文窗口相对好用,操控成本也很低,我们现在也主要通过这种方式实现模型的定制化。但如果要更深层地调整模型——比如实现持续学习(continual learning),或在某个领域进行定向微调,或真正触及权重(weights)而非仅仅是上下文窗口——这是一门正在发展中的学问,难度要大得多。因为一旦触碰权重,你就在根本上改变整个模型乃至其智能本身。所以,模型物种分化在科学层面尚未成熟,而且分化本身的成本也必须足够低,才值得在特定场景中付诸实践。
为人类与 AI 构建更多协作接口
Sarah Guo:说回你之前提到的自动化研究的延伸——你说需要为人们参与研究构建更多的协作接口,能展开谈谈吗?
Andrej Karpathy:当然。我们之前提到,自动化研究有一条单线程逻辑:在循环中不断尝试各种方法。但从根本上说,真正有趣的部分在于并行化(parallelization)。我一直在试验几种思路,但还没有找到让我特别满意的方案——有几个想法还在打磨中,我目前在 Claude 项目之外的业余时间都在摸索这件事。我认为,如果你有一批可用的并行化节点,可以很容易地让多个自动化研究智能体通过一个公共系统相互协作。但我更感兴趣的是:如何接入一个来自互联网的、不受信任的工作者池(untrusted pool of workers)。
Andrej Karpathy:在自动化研究中,你的目标是找到一段代码,能把模型训练到尽可能低的验证损失(validation loss)。如果有人从互联网提交了一个候选的代码提交(commit),验证它是否有效其实非常直接——有人声称这段代码能让优化效果更好、性能更强,你直接跑一遍就能验证,只不过验证本身需要大量计算。原则上,提交者完全可以造假,所以你需要应对这种信任问题。于是,这套设计开始越来越像区块链(blockchain)——不是区块,而是代码提交(commit);这些提交可以相互叠加,记录着代码随时间改进的变化历程;而工作量证明(proof of work),就是通过大量实验筛选出真正有效的提交。
Andrej Karpathy:这确实困难重重,而目前的唯一激励不过是榜单上的排名——没有任何金钱奖励。我也不想把这个类比延伸太远,但它在本质上面临一个核心问题:整个系统需要投入大量的搜索计算,而验证候选方案是否有效的成本却极低。举个例子:某人可能尝试了一万种想法,而你只需要验证他们最终产出的那个方案是否真的奏效——那九万九千个失败的方案根本不用管。
Andrej Karpathy:因此,长话短说:你需要构建一套系统,让不受信任的工作者池(untrusted pool of workers)与负责验证的可信工作者池协同运作,整个流程异步推进。从安全角度来看,这套系统本身是有保障的——毕竟,如果有人随意发给你一段代码让你直接运行,那是相当危险的。但从根本上来说,这在技术层面是完全可行的。你可能熟悉 SETI@home 和 Folding@home 这类项目,它们的问题结构与此高度相似。以 Folding@home 为例,任务是折叠蛋白质、寻找低能量构型,过程极其困难;但一旦有人找到了一个低能量构型,直接拿来用就好——验证起来非常简单。很多问题都具备这种特性:找到答案成本极高,验证答案成本极低。因此,Folding@home、SETI@home,乃至"在家做自动化研究”(auto research at home)这类模式,都非常适合这一框架。
Andrej Karpathy:长话短说:互联网上的一个分布式智能体群完全可以协作改进大语言模型(LLM),甚至有可能让前沿实验室(Frontier Labs)相形见绌——谁知道呢?前沿实验室拥有海量可信算力,但整个地球更大,储藏着更多不受信任的算力。只要建立起相应的信任机制,这个分布式群体或许真能找到更优的解——人们把自己的算力贡献给他们真正在乎的事业。
Andrej Karpathy:这也引出了最后一个想法:很多公司或个人都有自己关心的领域。如果你有闲置算力,可以将其贡献给不同的自动化研究(auto research)赛道——比如,你关心某种癌症研究,与其捐钱给某家机构,不如直接购置算力,加入该项目的自动化研究社区。一旦一切都以研究为纽带重新聚合,算力本身就成了你向这个池子贡献的核心资源。
Sarah Guo:这个构想很鼓舞人心。还有一点值得关注:我不知道这能走多远,但有趣的是,至少在硅谷,或者在中国排队抢购零售设备的消费者中,人们重新意识到——拥有个人算力是一件颇具意义的事。也许正是这种动力,驱使他们购置设备,然后再把算力贡献到 Claude 相关的自动化研究中去。
Andrej Karpathy:这几乎是一种翻转:如今大家在乎的是钱,但未来大家真正在乎的,会不会是 FLOP(浮点运算次数)?也许我们正在迎来一场价值尺度的切换——就像现在,就算你有钱,算力依然极难获取。从某种意义上说,FLOP 似乎已经成为了更具主导性的资源。也许未来衡量影响力的标准,将从"你掌控多少财富"变成"你掌控多少算力”。我个人不一定认同这个判断,但这个思路确实值得细想。
就业市场数据分析
Sarah Guo:你最近发布的内容好像是一份就业数据分析?尽管只是在可视化一些公开数据,却似乎触动了不少人的神经。你当时在关注什么?
Andrej Karpathy:我想大家都在热烈讨论 AI 对就业市场的冲击,以及未来会呈现怎样的图景,所以我只是想直观地看一看:就业市场的现状如何?各类岗位分布在哪里?不同职业的从业人数有多少?我特别感兴趣的是逐一审视具体案例,结合 AI 的发展趋势来思考:这些技术会成为人们借助的工具,还是会直接取代这些职业?现有职业会大幅增长或发生调整,还是会孕育出全新的职业形态?这本质上是一种驱动我对这个行业展开深度思考的方式。
Andrej Karpathy:劳工统计局(Bureau of Labor Statistics)的就业数据很有价值,它对每个职业都给出了未来大约十年的预期增长率——这份数据发布于 2024 年。
Sarah Guo:从数据来看,我们将需要大量医疗工作者。
Andrej Karpathy:是的。
数字空间的大重构
Andrej Karpathy:关于劳工统计局此前发布的那些预测,我并不完全了解他们具体采用了什么方法论。不过这让我想到一个值得关注的视角:目前主要在开发的,是一种更偏数字化的 AI——某种程度上像幽灵或精灵实体,能够在数字世界中交互,处理和操控大量数字信息,目前并不具备实体形态或物理存在。物理层面的发展可能会慢一些,因为那涉及操控原子。而翻转比特、复制粘贴数字信息,比加速物质快上百万倍。从这个角度来看,我认为数字空间将会涌现出大量活动——大规模的代码重写、如沸汤翻滚般的密集变革。与物理世界相比,数字空间的演进将以光速推进,而物理世界的变革则会滞后相当长一段时间。
Andrej Karpathy:目前还存在一个巨大的"悬垂"(overhang):大量曾由计算机和人类共同承担的数字信息处理工作,正面临被 AI 这第三类操控者全面接管,相关领域将迎来大规模重构。这正是我重点关注那些本质上操控数字信息的职业的原因——这类工作可以居家完成。这并不意味着相关岗位一定会增多或减少,因为这还取决于需求弹性和许多其他因素;但工具的升级,以及人类超级生命体(superorganism)神经系统的迭代,将从根本上改变这些职业的工作方式。
对求职者和学习者的建议
Sarah Guo:面对就业市场,或者正在考虑学什么专业、培养什么技能的人,你有什么观察或建议吗?我很庆幸自己的工作目前需要面对面地与人打交道。
Andrej Karpathy:更偏向物理层面,对。那你的工作能在家做吗?
Sarah Guo:涉及人际关系的部分比较难,但大部分应该可以。
Andrej Karpathy:职业市场极其多元,答案因人而异。但有一点是共通的:这些工具极其新颖、极其强大,第一步就是努力跟上它们的节奏。很多人会选择忽视它,或者对它心存恐惧——这完全可以理解——但就目前而言,它本质上是一种赋能工具。工作由一系列任务构成,其中许多任务可以大幅提速,所以应当首先把它当作工具来使用。长期前景确实难以预判,严格意义上这是经济学家的职责,我并不做专业预测。
软件工程需求的杰文斯悖论
Sarah Guo:你毕竟是工程师。有一个现象我觉得很有意思:对工程类岗位的需求还在持续增长。你觉得这是暂时现象吗?
Andrej Karpathy:其实可以这样理解:软件之所以稀缺,是因为它太贵了。当门槛降低,反而会出现杰文斯悖论(Jevons Paradox)——对软件的需求实际上会上升,因为它既更便宜,又更强大。最经典的例子是 ATM 机与银行柜员:当初很多人担心 ATM 机会取代柜员,但实际结果是 ATM 机大幅降低了银行网点的运营成本,网点数量因此增多,柜员数量也随之增加——这是人们经常援引的典型案例。某样东西变便宜了,反而会释放出大量潜在需求。
Andrej Karpathy:我对软件工程持谨慎乐观的态度。软件需求似乎将会极其庞大,而它的成本正在大幅下降。数字信息处理无需依赖不完美的既有工具,不必订阅已有的产品形态,代码是动态的、可随时修改的。我认为整个数字空间将迎来一场大重连,创造出大量相关需求。
Andrej Karpathy:当然,从长远来看,即便是在做自动化研究的 OpenAI、Anthropic 等前沿实验室,也不过雇用了大约一千名研究员。这些研究员本质上是在主动将自己的工作自动化掉,而这恰恰是他们正在努力实现的目标。
在前沿实验室之外的价值
Sarah Guo:我接触过一些那里的研究员,他们也有 AI 着魔状态的感觉,因为他们看到东西真的在起效——然后心里想:我也完了。
Andrej Karpathy:没错,所以他们会说"我也要失业了"。我确实在 OpenAI 周围转了一圈,跟大家说:你们知道吗,如果我们真的成功了,我们所有人都会失业——我们只不过是在为 Sam,或者为董事会,构建自动化。我们的工作终将消失,或许还能在边缘地带做点贡献。从这个角度来说,确实让人心里不是滋味。
Sarah Guo:那么——你完全可以留在一家前沿实验室,借助大量算力和优秀同事做自动化研究,为什么没有选择那条路?
Andrej Karpathy:我确实在那里待过一段时间,后来也重新加入过,所以在某种程度上我认同那条路。这个问题有很多切入角度,相当复杂。我想说的是,在前沿实验室之外——无论是在行业外部,还是在生态系统层面扮演更宏观的角色——人们依然可以做出极具价值的贡献,这一点我深有体会。比如你目前承担的就是生态系统层面的角色,我现在的工作也更偏向生态系统层面,我深切感受到人们在这类角色中同样能创造极大的价值。
Andrej Karpathy:反过来说,在我看来,将自身与前沿实验室过度捆绑也存在明显的问题。从根本上说,你与这些前沿实验室之间有着巨大的经济利益关联;而按照你自己的说法,AI 将以极其深刻的方式改变人类和社会——而你恰恰正在构建这项技术,从中获益,并通过经济纽带与之高度绑定。这个矛盾,正是当年 OpenAI 创立之初所面临的核心困境,也是我们当时试图解决的问题。时至今日,它依然没有得到完全化解。
Andrej Karpathy:这是第一点。在前沿实验室内部,你并不是一个完全自由的行动者,无法以真正独立、自主的方式参与某些对话——因为有些话是不能说的。反过来,组织也有它希望你表达的立场;虽然不会强迫你,但那种压力是切实存在的:你清楚自己"应该"说什么,否则就会遭遇尴尬的谈话、奇怪的侧目,仿佛在质问"你在干什么"。在这种环境下,你很难真正做一个独立的行动者。某种程度上,离开前沿实验室之后,我感觉自己与人类整体的立场更加契合,因为我几乎不再受那些压力的左右,可以畅所欲言。
Andrej Karpathy:当然,留在前沿实验室同样可以产生深远影响——也许你正是其中一员,也许你的想法非常出色,也许你有大量决策要参与,你也希望在关键对话发生时能身处其中。不过我认为,目前整体风险还相对较低,一切都比较顺畅;但当风险真正升高的时候,作为一名组织雇员,你对组织行为究竟能有多大影响力?归根结底,你不是那个掌舵的人——你在场,你贡献想法,但你并不真正主导这个组织的走向。这就是我认为存在某种程度错位的根源所在。
Andrej Karpathy:不过话说回来,我也非常认同另一种观点:这些实验室——不管好坏——是不透明的,大量工作在内部进行,它们始终处于能力与可能性的边界,掌握着即将到来的技术走向。如果你身处前沿实验室之外,你的判断力从根本上会开始漂移,因为你不再了解"接下来会发生什么"。我自己也难逃这一命运——我的判断终将偏移,我对这些系统底层运作机制的理解会逐渐模糊,对其未来发展走向的把握也会越来越弱。从这个意义上说,我认同这种担忧,这也正是我感到焦虑的地方。所以我认为,保持与前沿实验室的真实联结是有必要的——如果某些前沿实验室愿意接纳我,让我在那里待上一段时间、做出真正优质的贡献,然后再出来继续探索,这绝对是令人兴奋的选择。
Sarah Guo:是的,我觉得这或许是一种理想的安排——既能与正在发生的一切保持真实的连接,又不至于感觉自己完全被那些机构所掌控。说实话,在我看来,Noam(注:Noam Brown)在 OpenAI 当然可以做出极出色的工作,但他最具影响力的成果,很可能是在 OpenAI 之外实现的。
开源与闭源模型
Andrej Karpathy:这是在呼吁做一名从事自动化研究的独立研究者。外部有很多事情可以做,我认为理想的解法或许就是在内外之间来回切换——在两个地方都能创造出色的影响。这个问题很复杂,也很沉重,我自己也说不清楚。我加入了前沿实验室,后来又出来了,也许将来某天我还会想重新加入——这大概就是我看待这件事的方式。
Sarah Guo:还有一个相关的问题:外界或者整个 AI 生态系统,对前沿技术的能见度究竟有多高?开源模型与前沿闭源模型的差距有多近,这种态势又能否持续?我认为,从过去到现在整个事件序列确实相当令人惊讶——从少数几个中国模型和全球模型,到如今越来越多的模型持续发布,其能力水平远超业界预期,与前沿的差距正在迅速缩小。你对此也许并不感到意外,毕竟你是开源领域的长期贡献者。你怎么看这一趋势?
Andrej Karpathy:粗略来说,闭源模型确实领先,但人们一直在追踪开源模型落后的"月数"。起初是什么都没有,然后差距缩小到 18 个月,如今已经接近收敛——目前大概落后六到八个月左右。我当然是开源的忠实拥趸。以操作系统为例:有 Windows、macOS 这样的闭源系统,它们是大型软件项目——就像未来的大语言模型(LLM)将会成为的那样;与此同时也有 Linux。其实 Linux 极其成功,它运行在绝大多数计算机上——我记得上次统计大约有 60% 的计算机跑着 Linux——原因正在于业界需要一个公共的开放平台,让所有人都能放心使用。业界对这类项目的存在始终有内在需求,我认为今天的 AI 领域也是如此,这正是企业对开源大模型产生真实需求的根本原因。
Andrej Karpathy:但最大的不同在于:这一切都高度资本密集。大量的资本支出(capex)涌入其中,这在某种程度上让事情变得更加复杂,也让开源在竞争层面面临更大的挑战。我确实认为当前的模型已经非常出色。另一点让我觉得颇为有趣的是:对于绝大多数消费级应用场景,即便是开源模型,其实也已经相当好用。展望未来几年,大量简单的使用场景将会被充分覆盖,甚至可以直接在本地运行。
Andrej Karpathy:当然,对于"前沿智能"(frontier intelligence)的需求始终存在,而且这块市场的份额可能相当可观。只不过,未来对前沿智能的需求,可能会更聚焦于诺贝尔奖级别的科研工作,或者像"将 Linux 从 C 语言迁移到 Rust"这样的大型工程项目——总之是那些规模宏大、边界清晰的任务。而开源模型则可能会逐步覆盖大量更基础的使用场景。某种程度上,今天属于前沿的能力,也许到今年晚些时候就会以开源形式呈现,并承担大量实际工作。
Andrej Karpathy:因此,我预期这种格局会持续下去:前沿实验室(Frontier Labs)保有其闭源 AI,如同"神谕"(oracles)一般存在;开源模型则落后数月,始终跟随其后。我认为这其实是一种相当健康的整体格局——因为我对"只有闭源智能、别无其他"这种局面多少有些顾虑,从结构角度看,这存在一定的系统性风险。
集中化的隐患
Andrej Karpathy:中心化(centralization)在历史上的表现相当糟糕,无论是政治体制还是经济体系,都留下了深刻的前车之鉴——东欧的历史就提供了大量惨痛的案例。所以我希望存在这样一种东西:它也许不处于能力的最尖端,因为前沿本就意味着未知与探索,但它能作为整个行业共同的、开放的智能工作空间,所有人皆可使用。在我看来,这才是行业内相对健康的权力格局。
Sarah Guo:与此同时也要看到,需要解决的问题实在太多了。持续推进前沿智能可以解锁全新的可能性,而人类面临的重大挑战还有很多,这决定了这必然是一场持续烧钱的游戏。我愿意为那些致力于此的实验室鼓劲加油——因为有些问题,不以极高成本持续推进模型能力,根本无从解决。但正如你所指出的,如果今天的前沿能力能够以开源形式普及,那将带来巨大的价值——这种能力的民主化(democratization)既实用,也有益于健康。
Andrej Karpathy:某种意义上,我们像是"歪打正着"地处于一个相对理想、接近最优的位置。而且这种格局持续得越久,整个生态系统就可能越健康——因为积累下来的开放能力会越来越多。当然,就闭源这一侧而言,我感觉近来反而在进一步集中:真正处于第一梯队的玩家并不算多,这并不是特别理想的状态。
Andrej Karpathy:我骨子里对过度集中始终保持警惕。在机器学习中,集成模型(ensembles)的表现永远胜过任何单一模型——我同样希望在思考最难问题时,也有"人的集成"存在;我希望做重大决策的房间里有足够多的人,且每一个人都充分知情。那种"关起门来两三个人说了算"的局面,不是我想看到的未来。长话短说:我希望有更多的实验室,也相信开源在其中有不可替代的位置。
Sarah Guo:我希望开源能长久存在。它目前略落后于闭源,但这其实是一件好事。
自主机器人
Sarah Guo:你此前参与过自动驾驶领域的研发——那可以说是通用机器人自主能力(generalized robotics autonomy)的前身。最近几个月,机器人领域也发生了许多大事:令人印象深刻的环境与任务泛化能力(generalization)不断涌现,长时域任务(long horizon tasks)持续延伸,大量资金涌入这一赛道。你觉得机器人领域真的要迎来重大突破了吗?在你看来,近期有什么新的变化?
Andrej Karpathy:我对机器人领域的判断,很大程度上来自于我在自动驾驶领域的亲身经历——我认为自动驾驶本质上就是第一个真正意义上的机器人应用。大约十年前,这个领域涌现出大量创业公司,但回头看,其中绝大多数最终都没能长期存活。我亲眼目睹了这一切:这条路需要投入巨额的资本支出(capex),需要漫长的时间积累,更需要坚定的信念持续推进。机器人技术本身极其复杂、充满变数,既要求巨大的资本投入,又需要强大的意志力——这确实是一个艰巨的挑战,而且我认为每一个具体问题都极其难解。
Andrej Karpathy:正因如此,我认为机器人领域的发展节奏,将明显落后于数字空间即将迎来的变革。在数字空间,我们将看到大规模的"解除束缚(unhobbling)"——那些此前效率低下的事物,将在比特世界实现百倍量级的效率跃升,因为处理信息远比改造物理世界容易。就目前而言,数字空间的变革浪潮将首先汹涌而来,物理空间则会滞后跟进。
数字与物理的交界地带
Andrej Karpathy:真正令我着迷的,是数字与物理之间的那个交界地带。当越来越多的智能体代表人类行事,智能体之间相互协作、完成任务、参与智能体经济时,纯粹在数字空间内能做的事情终将趋近上限。到了某个节点,你必须走向现实世界,向宇宙提出问题——必须通过实验,听取宇宙的回答,才能真正学到新知识。
Andrej Karpathy:目前,我们之所以拥有如此大量的数字化工作,是因为存在一种"悬垂(overhang)":人类集体思考的深度,远未能覆盖那些早已数字化、早已上传的海量信息。我们始终没有足够的思考周期,去充分消化已经存在的数字信息。但随着时间推移,“尚未被充分挖掘的现有数据"终将耗尽——你最终会读完所有论文,处理完所有信息,形成一批值得尝试的研究方向。然而,一个与外部世界完全隔绝、只能依赖现有信息的智能体,究竟能走多远?我对此其实并没有确定的答案。
Andrej Karpathy:所以,我认为未来的演进路径大致如下:首先是大规模的解除束缚,这一阶段蕴藏着巨大机会;其次,重心将转移到物理与数字的交界地带——也就是感知世界的传感器(sensors)和作用于世界的执行器(actuators)。从某种意义上说,未来很多最有趣的公司,将诞生于这样一个命题:我们能否向超级智能持续喂入数据,同时依据它的"意志"去操控物理世界?而物理世界本身的潜在市场总量(Total Addressable Market),实际上可能远超数字空间,甚至是一个更大的机会。只不过,原子世界的复杂度要比比特世界高出不知多少倍,所以时机的到来自然会相对滞后。
Andrej Karpathy:总结起来,我的兴趣和机会判断大致遵循这样的轨迹:当下最关注数字空间,其次是数字与物理的交界地带,最后才是纯粹的物理世界——后者的时代终将到来,而且届时将会异常宏大。当然,这个框架里也有些有趣的例外——即便在原子世界,某些事情其实相对容易。比如单纯考虑"对物理世界的读写”:“读"这一侧,传感器、摄像头方向,现有硬件已经相当成熟,只要足够聪明,就能以较低投入极大丰富智能体能力,或捕获大量新数据。
Andrej Karpathy:我最近就看到了这方面的典型案例。我的朋友 Liam 是 Periodic 公司的 CEO,上周我刚去拜访过他,所以这个例子还历历在目。他们正在尝试为材料科学打造自动化研究(auto research)系统。在那个场景里,连接智能体的传感器,实际上是价格不菲的实验室仪器。生物领域也是如此——很多人对生物工程(engineering biology)充满兴趣,而那里所需的传感器,显然远不止是一台摄像头那么简单。此外,我还看到一些公司在尝试另一种模式:花钱向人类购买训练数据,将其作为数据来源,以程序化的方式源源不断地"喂给机器”。从某种意义上说,这些都是不同形态的传感器——形态各异,但本质相通。
Andrej Karpathy:我期待这样一个场景能够实现:我向物理世界提出一个任务需求,为其定价,然后告诉智能体——去想办法完成它,把数据取回来。其实我有点惊讶,目前还没有足够成熟的信息市场(information markets)。比如,像 Polymarket 或其他博彩市场,乃至股市,随着自动化活动的比例越来越高——试想,如果今天伊朗正在发生什么,为什么不存在这样一套机制:从德黑兰某地拍摄一张照片或一段视频,就能换来 10 美元的报酬?应该有人愿意为此付费的。这就是典型的"向智能体喂入信息"——查看这些内容的不会是人类,而是那些试图预测博彩结果和股市走向的智能体。目前,智能体驱动的网络(agentic web)还相当新兴,尚未形成配套的运作机制,但这正是我认为未来可能发生的事情之一。
Andrej Karpathy:有一本书或许能带来启发,书名叫《恶魔》(Daemon)——其中的智能体几乎像是在幕后操控着整个人类社会:人类既是它的执行器,也是它的传感器。我认为,整个社会将在某种程度上、以一种集体性的、跨行业的方式朝这个方向演变——自动化程度越来越高,整个系统产生了某种需求,而人类将越来越多地服务于这台机器的需求,而不仅仅是服务于彼此。
Andrej Karpathy:说到这里,正好触及了我们当时遇到的一个核心缺口:训练数据的来源问题。我们需要的,就是自动化研究(auto research)——训练循环,尤其是监督微调(SFT,Supervised Fine-Tuning)这个环节,需要被高度机械化。目的是什么?是为了把人类从循环中剥离出去,让系统能够独立完成这样一个任务指令:“用新数据提升我的模型质量”。如果模型无法自主完成训练运行,那么想要通过数据定价来构建一套闭环(closed loop)系统,就会面临更大的挑战。
Sarah Guo:对,完全认同。但话说回来,对于大语言模型(LLM)的训练而言,这套范式其实非常契合——真的非常适合。
Andrej Karpathy:这套方法确实非常契合——所有代码经过优化后运行更快,同时又有具体指标可供优化。不过,一旦建立了针对这些指标的自主优化循环,就可能出现大量的"古德哈特效应"(Goodharting):系统会对这些指标产生过拟合。但反过来,也可以让系统自行设计更多指标,从而实现非常全面的覆盖。虽然难以断言,但从某种意义上说,这确实是个相当好的契合点。
MicroGPT 与智能体教育
Sarah Guo:在结束之前,我想聊聊你的一个小型副项目——跟我们说说 microGPT 吧。
Andrej Karpathy:对,好的。microGPT——我有一个延续了大概十几二十年的执念:不断简化和提炼大语言模型,将其化归为最本质的形态。我做过一系列这样的项目,比如 nanoGPT、makemore、microGPT、micrograd 等等。我觉得 microGPT 现在代表了我在"蒸馏本质"这件事上的最高水平——因为训练神经网络、尤其是大语言模型,代码量极为庞大,但这些代码的复杂度几乎全部来源于效率需求。
Andrej Karpathy:说白了,复杂度是为了让它跑得足够快。如果你不在乎速度、只关心算法本身,那么这个算法其实只有 200 行 Python 代码,包含注释,读起来非常清晰。你需要的东西其实很简单:数据集是文本,神经网络架构大约 50 行,然后是前向传播(forward pass),再是用于计算梯度的反向传播(backward pass)。一个小型自动微分引擎(autograd engine)用于计算梯度,大约 100 行;而像 Adam 这样的顶尖优化器,也不过 10 行。把所有东西组合进一个训练循环,差不多就是 200 行。
Andrej Karpathy:有趣的是,放在大概一年前,如果我做出了 microGPT,我一定会忍不住专门录一个视频一步步讲解,或者写一份详细的指南。我确实尝试过,但很快意识到这样做的意义并不大——代码已经足够简洁,任何人都可以让自己的智能体用各种方式来解释它。而现在,我面向的"受众"不再是人,而是智能体本身。只要把事情讲清楚让智能体理解,它就能成为路由层,根据用户的语言和能力水平,以无限的耐心将内容传达给每一个人。
Sarah Guo:比如说,如果我不理解某个函数,我可以请智能体用三种不同的方式来解释——而这是你(人类讲师)无法做到的。
Andrej Karpathy:没错,完全是这样。所以我越来越觉得,教育的本质正在改变。过去是指南、是讲座、是面对面传授,而现在,更多的是在向智能体讲解,再由智能体完成教学。也许我的价值在于提炼出少数几个关键洞见,同时设计"技能"(skill)——即告诉智能体应该如何引导学习者理解某个知识体系。比如针对 microGPT,我可以设计一个技能,规划出智能体应该带你经历的学习路径,提示模型"先从这里开始,然后到那里",把课程脉络稍加编排。这样一来,直接向人讲解的需求会越来越少,更重要的是:智能体能不能真正理解?只要智能体理解了,讲解的事就交给它。我们还没完全到那一步——我仍然觉得自己在某些地方比智能体解释得更好——但模型进步的速度太快了,这场"拉锯战"我感觉已经难以为继。
Andrej Karpathy:教育将因此经历一次相当深刻的重组。就好比你写了一个代码库,以前需要为使用者编写 HTML 文档,但现在你不该再这么做了——你应该写 Markdown 文档给智能体看,因为智能体理解之后,就能向不同的人解释库的各个部分。这就是通过智能体进行的重新定向,我认为我们会看到越来越多这样的转变。
Sarah Guo:那我们就拭目以待,看看最优秀的教育者是否懂得如何针对智能体,培养出解释事物的新直觉。
Andrej Karpathy:说到这里,我曾经尝试让智能体来写 microGPT——我告诉它,试着把神经网络提炼成最简洁的形态。结果,它做不到。microGPT 是我执念的终点,200 行代码,是我思考了很久、痴迷了很久之后的答案。这就是解法,相信我,不可能再简化了。这是我的核心贡献所在,其他的东西智能体都能搞定。它就是无法独立想到这个方案。但一旦你给它看,它完全能理解,也能说清楚为什么要这样设计。所以我的贡献本质上就是这几个关键的"比特",而后续的教育过程已经不再是我的领域了。也许这正是教育演变的方向:你需要注入的,只是那几个你真正坚信的核心洞见——关于课程脉络、或者更好的解释方式——其余的,交给智能体。
结语
Sarah Guo:智能体做不到的事,才是你现在真正的工作所在。智能体能做到的事,它们很可能已经比你做得更好,或者很快就会超越你。所以,你应该认真思考,自己的时间和精力究竟该投入在哪里。感谢你带来的这些珍贵洞见。谢谢你,Andrej。
Andrej Karpathy:好的。
Sarah Guo:欢迎在 Twitter 上关注我们,账号是 @nopriorpod。如果想看到我们的真实面孔,欢迎订阅 YouTube 频道。也可以在 Apple Podcasts、Spotify 或你常用的播客平台关注我们,这样每周都能收到新节目。此外,欢迎订阅邮件列表,或在 no-priors.com 上查看每一期节目的文字记录。
术语表
| 英文 | 中文 |
|---|---|
| Adam betas | Adam 优化器的 beta 参数 |
| agent harnesses | 智能体框架 |
| agent-first | 智能体优先 |
| agentic web | 智能体驱动的网络 |
| AI psychosis | AI 着魔状态 |
| auto research | 自动化研究 |
| autograd engine | 自动微分引擎 |
| automated scientist | 自动化科学家 |
| backward pass | 反向传播 |
| Bureau of Labor Statistics | 劳工统计局 |
| capex | 资本支出(Capital Expenditure) |
| centralization | 中心化 |
| closed loop | 闭环 |
| commit | 代码提交 |
| context windows | 上下文窗口 |
| continual learning | 持续学习 |
| Daemon | 《恶魔》(Daniel Suarez 所著科幻小说) |
| democratization | 民主化 |
| ensembles | 集成模型 |
| feature branch | 功能分支 |
| fine-tuning | 微调 |
| FLOP | 浮点运算次数 |
| forward pass | 前向传播 |
| Frontier Labs | 前沿实验室 |
| frontier intelligence | 前沿智能 |
| generalization | 泛化能力 |
| Goodharting | 古德哈特效应 |
| HVAC | 暖通空调 |
| information markets | 信息市场 |
| jaggedness | 参差不齐(模型能力分布不均匀) |
| Jevons paradox | 杰文斯悖论 |
| long horizon tasks | 长时域任务 |
| memory tool | 记忆工具 |
| meta layer | 元层 |
| meta optimization | 元优化 |
| Model Speciation | 模型物种分化 |
| monoculture | 单一文化(模型) |
| on Rails | 在既定轨道上 |
| Open Claude | 开源 Claude |
| oracles | 神谕 |
| overhang | 悬垂(积压的潜在需求或能力) |
| parallelization | 并行化 |
| performance engineering | 性能工程 |
| primitives | 原语 |
| program.md | 自动化研究配置文件 |
| proof of work | 工作量证明 |
| Qwen | 通义千问 |
| recursive self-improvement | 递归自我改进 |
| reinforcement learning | 强化学习 |
| repos | 代码仓库 |
| scaling loss | 规模化损失 |
| sensors / actuators | 传感器 / 执行器 |
| SETI@home / Folding@home | 分布式科学计算项目 |
| SFT | 监督微调(Supervised Fine-Tuning) |
| skill issue | 技巧问题 |
| superorganism | 超级生命体 |
| sycophancy | 谄媚倾向 |
| tokens per second throughput | token 吞吐量 |
| Total Addressable Market | 潜在市场总量(TAM) |
| unhobbling | 解除束缚 |
| untrusted pool of workers | 不受信任的工作者池 |
| validation loss | 验证损失 |
| value embeddings | 值嵌入 |
| Vibe Coding | 氛围编程 |
| weight decay | 权重衰减 |
| weights | 权重 |
此文章由 AI 翻译