安德烈·卡帕西,这位OpenAI联合创始人与特斯拉前自动驾驶负责人,坦言在AI的狂飙突进中感到了“落后”。他提出,我们正从软件2.0迈向软件3.0时代,编程的本质将从编写代码转向编排智能体,而人类的核心价值将锚定在无法被外包的“品味与理解力”上。 ## 1. 程序员的身份危机与“氛围编程”的崛起 - 卡帕西将2023年12月视为分水岭,新一代AI模型生成的代码近乎完美,使他进入了无需纠正代码、仅凭直觉提出要求的“氛围编程”状态。 - 这种转变不仅是效率提升,更意味着传统编程技能的贬值,开发者开始无保留地信任AI系统,生产力的逻辑已被彻底改变。 ## 2. 软件3.0:大语言模型作为计算解释器 - 软件1.0是显式代码,软件2.0是训练出的权重,而软件3.0的编程方式转向提示工程,上下文窗口成为操纵LLM解释器的杠杆。 - 卡帕西以安装软件为例:旧范式需编写复杂脚本,而新范式只需将描述文本交给智能体,它会自动观察环境并完成安装,展现了更强大的通用信息处理能力。 ## 3. 可验证性:AI智能“参差不齐”的根源 - AI在代码、数学等易于通过强化学习验证的领域表现卓越,但在简单生活常识上却屡犯低级错误,形成“参差不齐的智能”图谱。 - 这种缺陷源于训练数据的分布,实验室倾向于投入资源到有明确经济价值和高奖励的可验证领域,创业者需判断自身应用处于智能图谱的哪个区域。 ## 4. 智能体工程:10倍速时代的生产力重构 - “智能体工程”是在“氛围编程”降低门槛后,确保专业软件开发质量与安全标准的严谨工程学科,核心是协调多个具有随机性的强大智能体。 - 擅长此道者的效率提升将远超传统的“10倍程序员”,企业招聘也应重构,从考察解算法题变为观察应聘者如何利用智能体工具构建完整系统并进行压力测试。 ## 5. 智能体原生:未来计算架构的颠覆 - 未来算力消耗将以神经网络为主导,CPU反而可能成为协处理器,整个互联网基础设施都需要为适配智能体而重写。 - 卡帕西预言将出现“智能体原生”的世界,个人和组织都拥有自己的智能体代表,它们之间相互沟通、处理细节,人类只需描述需求。 ## 6. 人类最后的护城河:品味与不可外包的理解力 - 当代码和执行变得廉价,人类的核心价值在于“品味、判断力和不可外包的理解力”,一句格言点明关键:“你或许可以外包你的思考,但你无法外包你的理解。” - 人类依然是系统的最终瓶颈,负责决定“构建什么”、“为什么值得做”以及设定美学与逻辑边界,这种引导者的地位目前依然稳固。
卡帕西红杉万字实录:我作为程序员从未感到如此落后,软件3.0时代已来
2026-04-30 15:42

卡帕西红杉万字实录:我作为程序员从未感到如此落后,软件3.0时代已来

本文来自微信公众号: Web3天空之城 ,作者:Web3天空之城,原文标题:《卡帕西红杉万字实录:我作为程序员从未感到如此落后,软件3.0时代已来| 全文图解》


城主说|在人工智能的版图上,安德烈·卡帕西(Andrej Karpathy)是一个无法绕过的名字。作为OpenAI的联合创始人以及特斯拉自动驾驶项目的前负责人,他不仅亲手参与了现代人工智能的奠基,更是技术变革最敏锐的预言者。


去年,卡帕西提出了“氛围编程”这一概念,描述了开发者如何通过直觉而非硬编码来驱动模型。在今天发布的最新红杉峰会访谈中,他抛出了一个更令业界震惊的观察:即使是像他这样的顶尖专家,在如今狂飙突进的AI浪潮面前,也感到了前所未有的“落后”。



卡帕西认为,我们正站在从软件2.0向软件3.0跨越的门槛上。在这个新时代,大语言模型不再仅仅是效率工具,而是进化为一种全新的计算解释器。编程的本质正在发生位移——从编写显式逻辑,转向编排和监督复杂的智能体集群。在这场范式转移中,人类的角色将从“执行者”转变为“品味与理解力”的捍卫者。


以下是本次对话的核心观点摘要:


  • •软件3.0范式:编程正在从编写显式代码(1.0)和训练数据集(2.0)转向提示工程(3.0),LLM成为处理上下文并执行计算的通用解释器。


  • •可验证性(Verifiability):AI模型的智能分布是不平衡的,模型在代码、数学等容易通过强化学习(RL)进行验证的领域表现极佳,而在逻辑常识等非验证领域仍存在明显缺陷。


  • •智能体工程(Agentic Engineering):这是在维持专业软件质量与安全标准的前提下,通过编排和监督多个自主代理来极大提升生产力的工程学科。


  • •不可外包的理解力:虽然思考和代码执行可以外包给AI,但人类对系统架构、美学品味及底层逻辑的“理解”是无法外包的,这是人类保持主导地位的关键。


从“氛围编程”到程序员的身份危机


在科技界,卡帕西一直被视为技术前沿的“冲浪者”,但就在不久前,他承认自己感到了迷茫。这种迷茫并非源于技术的停滞,而是源于进化速度的失控。


去年12月被卡帕西视为一个分水岭。随着最新一代模型的发布,他发现AI生成的代码片段已经达到了近乎完美的程度。“我进入了一种‘氛围编程’的状态。我不再记得上一次纠正代码是什么时候,我只是不断提出要求,而系统表现得始终出色。”这种转变不仅是效率的提升,更是一种心理防线的撤回:当开发者开始无保留地信任AI系统时,传统的编程技能便开始了不可逆转的贬值。


卡帕西指出,许多人对AI的理解仍停留在“聊天机器人”的层面,但如果你深入代理式、连贯的工作流程,你会发现生产力的逻辑已经彻底改变。这种改变催生了他对软件发展阶段的全新划分。


软件3.0:当大语言模型成为计算解释器



在卡帕西的架构中,软件1.0是显式代码,软件2.0是通过数据训练出的权重。而现在,我们正迈入软件3.0时代。


在软件3.0范式下,编程的方式转向了提示工程。“上下文窗口中的内容,就是你操纵大语言模型这一解释器的杠杆。它就像在解释你的上下文,并在数字信息空间中执行计算。”卡帕西举了一个极具洞察力的例子:传统的软件安装需要编写复杂的脚本来适配不同平台,但在软件3.0时代,你只需将一段描述性文本交给你的智能体。智能体会观察你的环境,自动调试并在循环中采取行动。


更极端的例子体现在图像处理领域。卡帕西曾开发过一个能根据菜单照片生成菜品图片的应用程序。在旧范式下,这需要OCR识别、图像生成接口等复杂的逻辑编排。而在软件3.0范式下,只需拍张照片发给模型,并给出一个简单的指令,模型就能在像素层面直接完成渲染。“那个应用程序本不该存在。软件3.0范式要原始得多,神经网络承担了大部分工作,中间根本不需要任何传统应用程序介入。”


可验证性:破解AI智能的“参差不齐”


尽管AI在某些领域展现出神迹,但在处理简单生活常识时却屡屡犯错,比如无法准确数出单词中的字母,或者在洗车距离的逻辑判断上出现低级失误。卡帕西将这种现象称为“参差不齐的智能”。


这种缺陷的根源在于“可验证性”。“前沿实验室在训练模型时,采用的是庞大的强化学习环境。模型在数学、代码等容易被验证、拥有明确奖励机制的领域被过度训练,因此能力极强。”相反,在那些难以通过自动化手段验证的模糊领域,模型的表现依然粗糙。


卡帕西提醒创业者,理解这一维度至关重要。我们目前受制于实验室的决策——他们往模型里喂了什么数据,模型就在哪个“电路区域”表现卓越。“你必须去探索这种没有说明书的工具。如果你处于强化学习覆盖的区域,就能如鱼得水;如果你处于数据分布之外,就必须通过微调来构建自己的闭环。”


智能体工程:10倍速时代的生产力重构



当“氛围编程”降低了开发门槛后,随之而来的问题是如何保证质量。卡帕西提出了“智能体工程”这一概念,将其定义为一种严谨的工程学科。


“智能体工程的重点在于保持专业软件开发中既有的质量标准。你不能因为采用了新范式而引入安全漏洞。”这要求开发者像指挥家一样,协调多个带有一定随机性但极具威力的智能体,在提升速度的同时确保安全性。卡帕西认为,那些擅长此道的人,其效率提升将远超传统的“10倍程序员”。


这种变革甚至延伸到了招聘领域。卡帕西建议企业彻底重构招聘流程:不再考核应聘者解算法难题的能力,而是布置一个宏大的项目,观察他们如何利用智能体工具去构建、去攻防。“招聘应当转变为:看应聘者如何利用工具构建一个完整的系统,并利用多个智能体进行压力测试。这才是未来的工程能力。”


智能体原生:重塑互联网与计算的底层逻辑


在卡帕西的愿景中,未来的计算架构将发生颠倒。传统的CPU将不再是主角,神经网络将占据算力消耗的主导地位,成为系统的“宿主进程”。


这意味着现有的互联网基础设施——从文档到部署平台——都需要为了适配智能体而重写。“我最看不惯的事情是,现在的文档依然是为人类编写的。我为什么要学习怎么操作?我只想把内容复制给我的智能体,让它去搞定一切。”


他预言,未来的世界将布满“智能体原生”的基础设施。个人和组织都将拥有自己的智能体代表,智能体与智能体之间相互沟通、处理细节、执行任务。“我们正在走向一个传感器和执行器遍布全球的世界。你只需描述需求,剩下的自动化处理将围绕大语言模型易于理解的数据结构展开。”


品味与理解力:人类最后的护城河



当代码变得廉价,当执行变得自动化,人类最核心的价值究竟是什么?卡帕西给出的答案是:品味、判断力和不可外包的理解力。


他提到了一句令他深受震撼的格言:“你或许可以外包你的思考,但你无法外包你的理解。”即使智能体可以处理所有繁琐的API细节和内存拷贝,人类依然是那个最终的瓶颈。人类必须决定“构建什么”、“为什么值得去做”以及“如何设定系统的美学与逻辑边界”。


“归根结底,必须要有某种东西来主导处理过程。而这一点在本质上仍然受到人类理解力的限制。”卡帕西正在尝试利用AI工具来增强这种理解力,比如通过生成综合数据来构建个性化的知识库。


在访谈的最后,卡帕西对未来保持着一种清醒的乐观。虽然我们正在“召唤幽灵”——构建那些由统计学和奖励函数驱动的、没有内在动机的智能形态,但人类作为“引导者”的地位依然稳固。在这场从代码行到智能体集群的进化中,保护好我们的品味和对底层逻辑的深刻理解,将是通往未来的唯一通行证。


天空之城全文图解整理

序幕:从程序员到Vibe Coding的转变



Stephanie Zhan:我们非常激动地迎来了首位特邀嘉宾。他曾助力构建了现代AI,随后投身于现代AI的普及与解读,并不时重新定义现代AI。他实际上就在这间办公室里参与了OpenAI的联合创立,并且是当年在Tesla让Autopilot真正实现运作的关键人物。他拥有一种罕见的天赋,能将最复杂、最前沿的技术变革阐述得既通俗易懂又显得势在必行。


大家都知道他去年创造了“vibe coding”这个词,但就在过去几个月里,他说出了一句更令人震惊的话:作为一名程序员,他从未感到如此落后。这就是我们今天讨论的开端。感谢你,Andre,加入我们的节目。


Andrej Karpathy:你好。很高兴能在这里听你分享,为节目揭开序幕。


Stephanie Zhan:好的,就在几个月前,你说作为一名程序员,你从未感到如此落后。对于你这样的人来说,听到这样的话实在令人震惊。你能帮我们剖析一下吗?那种感觉是令人振奋还是令人不安?


Andrej Karpathy:肯定是两者兼而有之。首先,我想正如你们许多人一样,我使用agentic tools,比如那些类似low-code的工具已经有一段时间了,可能是在过去一年里随着它们发布就开始用了。它们在处理代码片段方面非常出色,虽然有时会出错,你需要进行编辑,但总的来说还是很有帮助的。


去年12月是一个明显的转折点,对我来说,当时我正在休假,所以有更多的时间。我想很多人情况也类似,我只是开始注意到,随着最新模型的出现,生成的代码片段效果非常完美。接着我不断提出更多要求,结果它们依然表现得很好。之后我就不记得上次纠正代码是什么时候了。


我对这个系统的信任度越来越高。最后我就进入了vibe coding的状态。


软件3.0:全新的计算范式



Stephanie Zhan:所以这确实是一种非常鲜明的转变。


Andrej Karpathy:我认为很多人实际上——我曾在Twitter或X上试图强调这一点——因为很多人去年对AI的体验仅限于ChatGPT或是类似的聊天机器人。但你真的需要重新审视,尤其要关注12月的情况,因为事物已经发生了根本性的改变。特别是在这种代理式、连贯的工作流程上,它确实开始真正发挥作用了。


正是那种认知让我彻底陷入了所谓的无限副业研究中。我的副业文件夹里装满了各种随机的东西,因为我一直在不停地编码。我想这一切大概发生在12月。从那时起,我一直在观察由此产生的影响。


Stephanie Zhan:你谈论了很多关于将LLM视为新计算机的观点,即它不仅仅是更好的软件,而是一种全新的计算范式。软件1.0是显式规则,软件2.0是学习到的权重,而软件3.0就是这种范式。如果事实确实如此,那么当一个团队真正相信这一点时,他们在日常工作中会做出哪些不同的构建方式?


Andrej Karpathy:没错。确实如此。在Software 1.0时代,我编写的是代码。这是Software 2.0。我通过创建数据集并进行训练,训练神经网络来进行编程。所以,编程在某种程度上变成了编排数据集,或许还涉及一些目标函数和神经网络架构。


接着发生的情况是,基本上,如果你在足够庞大的隐式任务集上训练这些GPT模型或LLM,通过在互联网数据上进行训练,你实际上不得不处理数据集中隐含的所有多任务,它们在某种意义上就变成了一种可编程的计算机。


因此,Software 3.0某种程度上意味着,你的编程方式现在转向了提示工程。而上下文窗口中的内容,就是你操纵LLM这一解释器的杠杆,它如同在解释你的上下文并在数字信息空间中执行计算。我认为,这大体上就是这种转变。有几个例子确实让我深刻地体会到了这一点,或许这可以作为参考。


例如,当OpenClaw发布时,如果你想安装OpenClaw,通常会认为这应该是一个批处理脚本,比如Shell脚本。也就是运行Shell脚本来安装OpenClaw。但问题在于,为了适配多种不同的平台和各类计算机,这些在OpenClaw中运行的Shell脚本往往会变得极其臃肿且复杂。关键是你依然困在那种试图编写代码的Software 1.0世界观中。


实际上,OpenClaw的安装过程就是复制粘贴一段文本,然后交给你自己的Agent。简单来说,这是一个小技巧:你只需要复制粘贴这段内容并传给你的Agent,它就能安装OpenClaw。这种方式之所以强大得多,是因为你现在是在Software 3.0的范式下工作,你不再需要精确地拼写出安装过程的所有细节。Agent拥有它自己的智能,可以将这些指令打包,然后根据指令行事。它会观察你的环境和计算机,采取智能行动来促成任务完成,并在循环中进行调试。这真的强大太多了,不是吗?


所以我认为这是一种截然不同的思维方式。到底该复制粘贴哪一段文本给你的Agent?这就是现在的编程范式。


我想到的另一个例子可能比这更极端,就是我开发menu gen的时候。menu gen的构思是这样的:当你去一家餐厅,他们给你一份菜单,通常上面没有图片,所以我根本不知道那些菜是什么。通常我有百分之三十到百分之五十的菜名完全看不懂。所以我当时想拍一张餐厅菜单的照片,然后获取这些菜品大致看起来是什么样子的图片。


于是我编写了这个应用,它基本上能让你上传一张照片,然后执行所有这些处理流程,在Vercel上运行,重绘菜单并列出所有菜品,同时使用图像生成器来获取对应的菜品图片;它通过OCR识别所有标题,利用图像生成器获取图片,最后展示给你。


然后我看到了这个应用的Software 3.0版本,简直让我大开眼界:你只需要拍张照片,把它发给Gemini,然后说,“使用nanobanana把图片叠加到菜单上”。Nanobanana返回了一张图片,它和我拍下的菜单原图一模一样。但它实际上是在像素层面进行了处理,直接把菜单里的各项菜品渲染了出来。


Stephanie Zhan:这让我感到无比震撼,因为实际上我所有的菜单生成都是虚假的。它仍是在旧的范式下运作。


Andrej Karpathy:那个应用本不该存在。没错,软件3.0范式要原始得多。你的神经网络承担了越来越多的工作,而你的提示词或上下文仅仅是图,输出结果也是图,中间根本不需要任何应用程序介入。


人们需要转变思维,不要局限在既有事物的旧范式中,只把新技术看作是现有事物的加速器。实际上,现在有了全新的可能性。回到你关于编程的问题,我认为这同样是一个受限于旧思维的例子,因为它不仅仅关乎编程,也不仅仅是编程效率的提升。这更是一种通用的信息处理方式,现在是可以实现自动化的。所以,这甚至不仅仅是关于代码的问题。


之前的代码是在某种结构化数据上运行的,而且你是针对结构化数据编写代码的。但以我的LLM知识库项目为例,你基本上是让LLM为你的组织、为你个人等创建维基百科。这甚至不需要程序。这是以前无法存在的东西,因为没有代码可以基于一系列事实来创建知识库。但现在,你只需要获取这些文档,以不同的方式重新编译并重新排序,就能以重构数据的形式创造出新颖且有趣的内容。


这些是以前无法实现的新事物。因此我认为这正是我不断尝试回归的重点:我们不仅要思考现在有哪些既有的工作可以做得更快,更重要的是,我认为存在着以前根本无法实现的新机遇。我甚至认为这更令人兴奋。


神经网络主导的未来景观



Stephanie Zhan:我很喜欢你提出的菜单生成演进与二分法。我想甚至可以肯定,在座的许多人都关注了您从去年10月到今年1月、2月期间在编程能力上的进步过程。如果将其进一步推演。就像90年代构建网站、2010年代构建移动应用、上一个云时代构建SaaS那样,2026年的同类代表会是什么?什么事情在今天看来尚未完成,但事后回顾时会显得极其显而易见?


Andrej Karpathy:我想可以参考一下菜单生成的例子。很多此类代码本不该存在,而应由神经网络来完成大部分工作。


Stephanie Zhan:我的确认为这种推演看起来非常诡异,因为你基本上可以设想——我并不认为,你可以从某种意义上设想完全基于神经网络的计算机。


Andrej Karpathy:你可以输入原始视频,比如想象一种设备。它将原始视频或音频输入到一个神经网络中,并使用Diffusion来渲染出一个在某种意义上针对当下瞬间独一无二的用户界面。


我总觉得在计算技术的早期阶段,人们实际上对计算机究竟会演变成计算器还是神经网络感到有些困惑。在50年代和60年代,究竟哪种路径会胜出,这并不明确。当然,我们沿着计算器的路径发展,最终构建了经典计算。目前,神经网络正以虚拟化方式在现有的计算机上运行。


但你可以想象,这种情况会有很大转变,神经网络将成为类似于宿主进程的存在。而CPU则会变得像是协处理器。正如我们所见,智能计算,即神经网络计算,将占据主导地位,并成为算力消耗的主要领域。


因此,你可以想象一种非常奇特且陌生的景象:神经网络承担了大部分繁重的工作,而它们使用工具,就像是处理某些确定性任务时所保留的历史性附庸。但真正主导全局的是这些以特定方式联网的神经网络。你可以想象外推的结果将呈现出极其陌生的形态。但我认为我们可能会一点一点地实现这一目标。至于这一进程会如何演变,我只能说尚无定论。


可验证性与“参差不齐的智能”



Stephanie Zhan:我很想谈谈“可验证性”这个概念。人工智能将更快、更容易地自动化那些产出结果可以被验证的领域,这已是不争的事实。这一框架是正确的。有哪些工作即将比人们预想的更快实现自动化?又有哪类职业是人们认为安全,但实际上却极易被验证的?


Andrej Karpathy:我花了一些时间撰写关于可验证性的文章。从根本上说,传统计算机可以轻松自动化那些能用代码明确定义的事物,而最新一代的LLM从某种意义上讲,可以轻松自动化那些能够被验证的事物。这是因为前沿实验室在训练这些LLM时,采用的是庞大的强化学习环境。它们被赋予了验证奖励。正因如此,这些模型的训练方式导致它们最终形成了一种参差不齐的能力形态:它们在数学、代码及相关领域等可验证空间内能力极为顶尖,而在非该领域的范畴内则相对停滞,表现得较为粗糙。


我认为我撰写关于可验证性文章的原因,在于我试图理解为什么这些模型表现得如此参差不齐。部分原因与实验室训练模型的方式有关,但另一部分原因也与实验室的侧重点,以及他们恰好放入数据分布中的内容有关。因为某些事物在经济上确实具有显著更高的价值,并最终创造出更多的环境,这是因为实验室希望在这些设定下进行研究。


所以代码就是一个很好的例子。可能存在许多可验证的环境本可以被纳入考量,但却没能进入主流,因为它们所具备的能力并没有那么高的实用价值。但对我而言,最大的谜团在于——曾经最受关注的例子是询问strawberry这个单词中有多少个字母,模型曾因无法答对而闻名,这是模型存在缺陷的一个典型例子。我认为模型现在已经修复了这个问题,但新的例子是:我想去洗车店洗车,距离只有50米,我是该开车去还是走路去?当今最顶尖的模型会建议你走路,因为距离很近。既然如此,这些最顶尖的Opus 4.7模型怎么可能一方面重构十万行的代码库或发现零日漏洞,另一方面却建议我走路去洗车店?这太荒谬了。只要这些模型依然存在这种缺陷,就说明第一,可能某些地方稍有偏差;第二,你需要真正参与到交互过程中,将它们视为工具,并时刻关注它们的表现。


这太荒谬了,无论这些模型在多大程度上保持着这种缺陷,都表明第一,可能有些地方不太对劲,或者第二,你确实需要稍微介入反馈循环,将它们视为工具,并且你必须保持对它们所做工作的密切关注。因此,长话短说,我所有关于可验证性的写作,都只是为了试图理解为什么这些东西会存在缺陷。其中存在某种模式,我认为这是可验证性与实验室偏好相结合的结果。


或许还有一个具有启发性的轶事,从GPT-3.5到GPT-4,人们注意到国际象棋水平有了很大提升。我想很多人认为这只是能力的自然演进,但实际上并非如此。我认为这是公开信息,我曾在网上说过,海量的国际象棋数据被纳入了预训练集中,正因为这些数据分布的缘故,模型表现出的提升远超其默认水平。因此,OpenAI的某个人决定加入这些数据,于是你便获得了一种能力突飞猛进的模型。这就是为什么我强调这一维度,因为我们多少受制于实验室的决策,受制于他们碰巧放入模型中的内容。你必须去探索这种没有说明书的工具,它在某些设定下表现良好,但在其他设定下可能不然,你必须对其进行一番摸索。如果你处于RL覆盖的电路区域,你就能如鱼得水;如果你处于数据分布之外的电路区域,你就会感到困难。你必须弄清楚你的应用处于哪些电路区域中。如果你不在这些电路区域内,那么你必须真正考虑进行微调并开展一些自己的工作,因为模型开箱即用的效果未必能满足你的需求。


创始人建议与自动化边界



Stephanie Zhan:我很乐意稍后再回到“锯齿状智能”(jagged intelligence)这个概念上来。如果你今天是一位创始人,正在考虑创建一家公司,你一定会试图去解决一个你认为可行的问题,即一个可验证的领域。但当你环顾四周时,你会惊觉,实验室在那些最显而易见的领域,如数学、编程及其他方面,确实已经开始达到“逃逸速度”(escape velocity)了。对于在场的创始人们,你有什么建议?


Andrej Karpathy:我想这或许回到了之前的问题,即我确实认为“可验证性”(verifiability)是关键,因为它……让我想想。在当前的范式下,可验证性使某事变得可行,因为你可以对其投入大量的RL(强化学习)。


所以,即使实验室没有直接专注于此,这种观点可能依然成立。因此,如果你处于一个可以创建这类测试环境或样本的可验证场景中,那么这实际上为你进行自主微调创造了条件,你或许能从中获益。但这本质上是一项行之有效的技术。你只需拉动杠杆即可。如果你拥有海量且多样化的口腔环境数据集等,你就可以使用你偏好的微调框架,只需启动它,就能得到实际效果相当不错的东西。


我不太清楚这方面的例子可能有哪些,但我确实认为存在一些非常有价值的强化学习环境值得人们去思考。我认为这些环境并不属于……我不想直接给出答案,但确实有一个领域我认为非常……噢,抱歉,我不是要在台上故意说得含糊其辞,但这类例子确实存在。


Stephanie Zhan:另一方面,你认为还有哪些事情目前看起来只能远距离实现自动化?


Andrej Karpathy:我确实认为归根结底几乎所有事情都是可以被验证的。在某种程度上,有些事情比其他事情更容易做到。因为即便是像写作之类的事情,你也可以设想通过一个由LLM裁判组成的委员会,利用这种方法或许能得到相当合理的结果。所以问题更多在于什么是容易的,什么是困难的。


Stephanie Zhan:所以我确实认为归根结底,我认为……一切。一切都是可自动化的。太棒了,好的。


智能体工程与招聘流程的重构



Stephanie Zhan:去年你提出了“vibe coding”这个词。而今天我们身处一个感觉更加严谨、更倾向于“agentic engineering”的世界。你认为这两者之间有什么区别?你又会如何定义我们当下所处的阶段?


Andrej Karpathy:我认为vibe coding的意义在于为每个人在软件开发能力方面设定了更高的起点。随着门槛的提高,每个人都能通过vibe coding实现各种构想,这非常了不起,令人惊叹。但我认为agentic engineering的重点在于保持专业软件开发中既有的质量标准。也就是说,你不能因为采用vibe coding而引入安全漏洞。你依然需要像过去一样对自己的软件负责,但问题是,你能否在此基础上提升效率?


剧透一下:你可以做到,但关键在于如何规范地实现它。对我而言,我将其称为agentic engineering,是因为我确实认为这已演变成一种工程学科。你拥有这些智能体,它们就像是一些充满尖刺的实体。它们难免会犯错,具有一定的随机性,但它们极其强大。问题在于,你该如何协调它们以提高速度,同时又不牺牲质量标准?而妥善且正确地完成这一过程,正是agentic engineering的领域。


所以它们是不同的。就像一个可能旨在提升底线,而另一个旨在进行外推。我所看到的是,agentic engineer的能力上限极高。人们过去常谈论10x engineer。我认为现在的提升幅度要大得多。10x并不是你所能获得的全部速度提升。而且在我看来,那些非常擅长此道的人,其效率提升远不止10倍。就我目前的观察而言。


Stephanie Zhan:我非常喜欢这种框架。有一件事令我印象深刻,去年Sam Altman来到AI Ascent时曾提到,不同年代的人使用ChatGPT的方式各不相同。如果你处于30多岁,你会把它当作Google搜索的替代品,但如果你是青少年,ChatGPT就是你通往互联网的门户。那么,当今编程领域与之对应的平行现象是什么呢?如果我们观察两个人使用OpenClaw、Claude Code或Codex进行编程,一个被你视为平庸,另一个被你视为完全的AI原生开发者。你会如何描述二者的区别?


Andrej Karpathy:我认为这仅仅在于如何最大限度地利用现有工具,发挥其所有功能,并投入精力构建属于自己的开发环境。就像以前一样,所有的工程师都习惯于最大限度地发挥所用工具的效能。无论是VIM还是VS Code,亦或是现在的Claude Code或Codex等等,都是如此。所以,只需投入时间配置你的环境,并充分利用手头现有的诸多工具。事情大概就是这样呈现的。


一个相关的思考是,很多人可能正在为此进行招聘,因为他们希望聘请具备高度自主性的工程师。我观察到的是,大多数人依然没有针对自主代理工程师的能力需求来重构他们的招聘流程,比如,如果你还在通过出难题来考核,那这依然是旧有的范式。


我认为招聘应当转变为:布置一个非常宏大的项目,看看应聘者如何实现它。例如,让我们写一个面向代理的Twitter克隆版,将其做得非常完善、非常安全,然后让一些代理在上面模拟活动。接着,我会使用10个Codex 5.4 X High版本尝试攻破你所部署的网站。它们将试图从根本上攻破它。而它们理应无法攻破该系统。情况可能就是这样,观察人们在那种环境下的表现,构建更大的项目并利用这些工具,可能是我主要关注的方面。


人类的核心价值:品味与理解力



Stephanie Zhan:随着智能体(agent)承担更多的工作,你认为人类的哪些技能会变得更加重要,而不是贬值?


Andrej Karpathy:这是一个很好的问题。目前来看,答案在于智能体只是被编目的内部实体,所以这很值得注意,你基本上仍然需要把控美学、判断力、品味,以及进行少量的监督。


关于智能体的诡异之处,我最喜欢的例子之一是关于menu gen的。你使用Google账号注册,但使用Stripe账号购买积分,而且这两者都有电子邮件地址。我的智能体实际上会尝试,当你购买积分时,它会把Stripe的电子邮箱地址关联到Google的电子邮箱地址上。就像没有一个为用户设计的持久化用户ID一样。它当时试图匹配电子邮件地址,但你可以在Stripe和Google上使用不同的电子邮件地址,基本上不会关联这些资金。这就是这类代理仍然会出错的地方。就好比,为什么要用电子邮件地址来尝试交叉关联资金呢?它们可以是任意设定的。你可以使用不同的电子邮件等等。这真是件奇怪的做法。


人们必须负责这个规范和计划,实际上我甚至不喜欢这种计划模式。显然它非常有用,但这里存在某种更通用的东西,即你必须与你的代理合作,设计一份非常详细的规范——也许基本上就是文档——然后再让代理去撰写。你负责监督和顶层分类,而代理则负责完成大部分底层工作。我觉得你并不需要关注某些细节。


举个例子,在神经网络中的数组或张量方面,PyTorch、NumPy以及各种诸如pandas等工具之间存在大量细节差异。针对所有那些细碎的API细节。我已经记不清keepdims和keepdim的区别了,也记不清到底是应该用dim还是axis,是reshape、permute还是transpose。我已经记不住这些东西了,因为你根本不需要去记。这类细节现在都由实习生来处理,因为他们的记忆力非常好。


但你仍然需要了解,例如,存在底层的张量,存在底层的视图(view),你可以操作同一存储空间的视图,或者使用不同的存储空间,但这效率会较低。因此,你仍然需要理解这些东西背后的运作原理以及一些基础知识,这样才不会不必要地进行内存拷贝等操作,但API的具体细节现在已经可以交给他人了。


所以,你负责的是品味、工程架构、设计,确保逻辑通顺,确保你所要求的是正确的,比如明确我们需要将一切关联到唯一的User ID上。你在进行部分设计与开发工作,而工程师们则负责填补具体的代码细节。这基本就是我们目前所处的阶段,我想这也是大家当下都有目共睹的。


Stephanie Zhan:你认为随着时间推移,这种品味和判断力的重要性会降低吗,还是说能力上限会持续提升?


Andrej Karpathy:这是一个很好的问题。我想说,我希望它能有所改进。它目前没有改进的原因,可能还是因为这没有纳入到RL的训练中。很可能缺失了某种美学相关的代价函数或奖励机制,又或者目前的模型水平还不够好,诸如此类。


我确实认为,当你审视代码时,有时会让我感到一丝心悸,因为代码并不总是非常出色,往往显得冗余臃肿,存在大量复制粘贴,而且充斥着脆弱且笨拙的抽象实现。虽然功能上可行,但从代码质量来看确实很糟糕。我确实希望这种情况能在未来的模型中得到改善。


一个很好的例子就是这个micro-GPT项目,我当时试图将LLM的训练过程简化到极致。模型很讨厌这样,它们做不到。我尝试过不断提示LLM去进一步简化,再简化,但它就是做不到。你会感觉自己仿佛脱离了强化学习回路的控制。感觉显然像是,在费力地推进,这绝不是什么光速般的进展。所以我认为,人类仍然掌控着这一切,但我也认为并没有什么根本性的障碍阻止它(的发展)。这几乎只是因为各个实验室尚未完成而已。


召唤幽灵与智能体原生的未来



Stephanie Zhan:是的。我很想回到“参差不齐的智能形态”这个概念上来。你曾写过一篇关于此的文章,其中关于动物与幽灵的探讨非常引人深思。其核心观点是:我们构建的不是动物,而是在召唤幽灵。这些参差不齐的智能形态是由数据和奖励函数塑造的,而非由进化过程中产生的内在动机、乐趣、好奇心或自主权所驱动。为什么这种框架如此重要?它对于我们如何构建、部署、评估甚至信任这些模型,究竟带来了什么改变?


Andrej Karpathy:是的。我写下这些,是因为我试图理解这些事物究竟是什么,因为如果你能很好地建立起关于它们是什么或不是什么的认知模型,那么你在使用它们时就会更加得心应手。我不确定它是否真的具备某种真正的力量。我认为这多少带有一点哲学意味。


这只是在于接受这样一个事实:这些东西并不是像动物那样的智能。比如,如果你对它们大吼大叫,它们的工作表现并不会变好或变差,这根本没有任何影响。这一切在某种程度上只是统计模拟电路,其基础是预训练,也就是统计学。然后,再加上RL的加持,它在某种程度上增强了其表现形式。也许这只是一种心态,即我该如何看待它,什么方法可能有效或无效,或者如何对其进行调整。我实际上并不知道,我也没有一套诸如“让你的系统变得更好的五个显而易见的结果”之类的准则。更多的是对它保持怀疑,并在时间的推移中不断摸索。


Stephanie Zhan:一切正是从这里开始的。好的,看来你已经深入参与到了那些不仅仅是进行对话的智能体的工作中。它们拥有真正的权限。它们拥有本地上下文。它们实际上可以代表你采取行动。当我们所有人开始生活在那个世界里时,世界会是什么样子?


Andrej Karpathy:我想在座的许多人可能都很期待这种原生智能体环境的样子。比如一切都必须重写,因为所有事物从根本上仍然是为人类编写的,且必须由人类来操作。我平时使用各种框架、库或其他工具时,它们的文档依然是从根本上为人类编写的。这是我最看不惯的事情。比如我就不明白,为什么人们还在告诉我该怎么做?就像我什么都不想做一样。


我应该把什么内容复制粘贴给我的agent?每次有人告诉去访问这个URL之类的,就感觉,大家都很兴奋,都在思考如何将需要完成的工作负载分解为遍布全球的传感器和执行器,如何实现agent原生化,即先向agent描述需求,然后围绕LLM易于理解的数据结构进行大量的自动化处理。


我希望市面上能有大量以agent为先的基础设施。对于menu gen来说,众所周知,当我写那些博文时,不确定有多出名,但当我写关于menu gen的博文时,很多工作、很多麻烦甚至不在于编写menu gen的代码。而是在于将其部署到Vercel,因为我必须与所有这些不同的服务协作,必须把它们串联起来,还必须进入它们的设置和菜单,配置我的DNS,这实在太令人烦躁了。


所以这是一个很好的例子,我希望对于menu gen,我能向LLM发出一个提示词:构建menu gen,然后我不需要触碰任何东西,它就部署好了。以同样的方式在互联网上实现。我认为这将是检验我们的基础设施是否正变得越来越agent原生的一个很好的测试。最终,我想说,我确实认为我们正在走向一个个人和组织都拥有智能体代表的世界。而且,我会让我的智能体与你的智能体沟通,以确定我们会议或其他事项的一些细节。我确实认为大体上事情就是朝着这个方向发展。我想在场的每个人对此都感到兴奋。


终极议题:不可外包的理解力



Stephanie Zhan:我非常喜欢关于传感器和执行器的视觉类比。我之前确实没有想到这一点。这非常有意思。好的,我想我们必须以一个关于教育的问题来结束,因为在将复杂的技术概念简单化以及深入思考如何围绕其设计教育方面,你可能位列世界顶尖水平。随着我们迈入AI的下一个时代,当智能变得廉价时,什么仍然值得深入学习?


Andrej Karpathy:最近有一条推文让我感到非常震撼,我几乎每隔一天就会想到它。大致意思是你或许可以外包你的思考,但你无法外包你的理解。


Stephanie Zhan:我觉得这句话说得非常好。


Andrej Karpathy:因为我依然是系统的一部分,信息仍然必须以某种方式进入我的大脑。我感觉自己正成为一个瓶颈,甚至难以把握我们究竟试图构建什么、为什么值得去做、以及我该如何引导我的agents等等。所以我依然坚持这种看法。归根结底,必须要有某种东西来主导思考和处理过程。而这一点在本质上仍然受到理解力的限制。


这也是我为何对所有LLM知识库感到兴奋的原因之一,因为我觉得这是一种让我处理信息的方式。每当我看到对信息不同的投射方式时,我总感觉自己获得了洞察力。这对我来说实际上就是通过大量提示词,针对某些固定数据进行合成数据生成。所以我真的很喜欢,每当我阅读文章时,我都有自己的wiki,它是根据这些文章建立起来的,我喜欢针对各种事物提出问题,我认为从某种程度上讲,这些工具最终是为了增强理解能力。


这仍然存在一些瓶颈,因为如果你仍然受限,你就无法成为一名优秀的引导者,毕竟LLM在理解方面确实不够出色,而你仍然是这一过程中的关键负责人。我认为实现这一目标的工具非常令人兴奋和有趣。


Stephanie Zhan:我期待几年后能回到这里,看看我们是否已经被完全自动化,从而被排除在决策循环之外了。并且它们实际上也承担了理解的任务。非常感谢你加入我们,Andrej。我们真的很感激。

AI创投日报频道: 前沿科技
本内容来源于网络 原文链接,观点仅代表作者本人,不代表虎嗅立场。
如涉及版权问题请联系 hezuo@huxiu.com,我们将及时核实并处理。
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定