Karpathy的软件3.0:Agent的原生世界
Andrej Karpathy,OpenAI联合创始人,前Tesla Autopilot核心成员,后来创办了Eureka Labs,专注于用AI做真正的教学。

他还有一个身份,可能是当下AI领域最好的科普者之一,去年他造了一个词叫vibe coding(氛围编程),火遍全网。
2026年4月30日,他在Sequoia Capital主办的Sequoia Ascent大会上和合伙人Stephanie Zhan做了一场炉边对话,聊的话题只有一个:AI Agent正在怎么改变软件,怎么改变我们工作。

LLM已经不只是一个聊天机器人或者自动补全工具了,它正在变成数字工作的新可编程层。
Karpathy认为,我们跨过了一个新门槛,工作本身正在围绕Agent重组。
2025年12月是一次明显的拐点,从那时起,编程的基本单位从一行行写代码变成了给Agent下达宏观指令。
Software 3.0的核心理念是,上下文窗口(Context Window)就是新的程序,LLM是解释器。
他同时提出了一个理解AI能力分布的关键框架:可验证性(Verifiability)加上实验室的训练注意力,决定了模型在哪些领域突飞猛进、在哪些领域表现得匪夷所思地笨。
他呼吁创业者寻找有价值、可验证、但尚未被头部实验室重点训练的领域。
对于所有从业者来说,他的底线判断是:你可以把思考外包出去,但理解不能。
软件正在消失
Karpathy最近说过一句话,让很多人感到意外:作为一个程序员,他从未觉得自己如此落后。
不是编程变难了,是编程的基本方式变了。
整个2025年,Claude Code、Codex、Cursor这类Agent工具一直在进步,但经常需要人工纠正,算是好用但不够放心。
到了2025年12月,Karpathy感受到一次明显的跳跃:Agent生成的代码块越来越长、越来越连贯、越来越可靠。他开始越来越多地把工作交给Agent,而且记不清上一次手动纠错是什么时候。
编程的基本单位变了。
以前是逐行敲代码,现在变成了下放更大的宏观指令:实现这个功能,重构这个子系统,调研这个库,部署这个服务,写测试并修复失败的用例,比较不同方案并给出建议。
程序员正在从代码书写者变成Agent编排者。Karpathy说,这个职业正在被重构。
他把这个变化放在一个更大的框架里来看。
Software 1.0是人类写显式代码。Software 2.0是人类准备数据集、设计目标函数、训练神经网络,程序被学进了权重里。Software 3.0是人类通过提示词、上下文、工具、示例和指令来编程LLM,上下文窗口成了主要的操作杆,LLM本身是这个上下文的解释器。
他举了一个安装工具的例子。
以前装一个复杂的开源项目,你需要一个跨平台的shell脚本,脚本里塞满了各种条件判断,写起来痛苦、维护起来脆弱。
在Software 3.0的世界里,安装程序可以是一段文字,你复制粘贴给Agent,Agent自己观察你的本地环境、调试错误、适配你的机器、完成安装。一段文字就是一个程序,不够精确,但适应性更强。
更有意思的例子是他自己的MenuGen项目。他在餐厅拿到一份没有图片的菜单,想知道每道菜大概长什么样。他最初的做法是标准的Software 1.0路径:拍照,OCR识别菜名,调用图像生成接口生成菜品图片,搭一个Web前端来展示结果。整个应用涉及前端代码、API、图像生成、部署、认证、支付、密钥管理和基础设施。
后来他看到了Software 3.0的版本。把菜单照片直接扔给一个多模态模型,让它在原始图片上叠加菜品图像。模型返回一张图片,就是你拍的菜单,但菜品图片已经渲染进去了。
整个MenuGen应用的大部分工作,神经网络直接完成了。输入是图片,输出也是图片,中间那一堆传统软件栈,在这个框架下全部成了多余的脚手架。
Karpathy的判断非常直接:有些应用根本不应该作为应用存在。AI不是更快地构建旧应用的方式,有些旧应用应该消失。
他进一步推演,想象一种完全由神经网络驱动的计算机。
原始的视频或音频进入神经网络,通过扩散模型渲染出那个时刻独一无二的UI。20世纪50到60年代,计算机的先驱们还在争论计算机到底应该像计算器还是像神经网络。人类走了计算器的路,建立了经典计算体系。
现在神经网络运行在经典计算机上,像被虚拟化的进程。未来可能会翻转,神经网络成为主进程,CPU变成协处理器。
这种变化也不局限于编程。LLM自动化了一类以前根本无法编程的信息处理。
Karpathy提到了他的LLM Wiki项目:不是每次从原始文档里检索生成答案,而是让Agent把原始资料增量地编译成一个持久的Markdown知识库,包括摘要、实体页面、概念页面、矛盾记录、交叉链接和不断演进的综述。
没有任何经典程序能稳健地维护这种基于杂乱人类文档的知识库,但LLM可以。
他的建议是:不要只问AI能加速什么现有流程,也要问什么信息转换以前根本不可能,现在变得自然而然了。
锯齿形智能
Karpathy提出了一个理解AI能力分布的关键框架。
传统软件自动化的是你能精确描述的东西。LLM和强化学习自动化的是你能验证的东西。如果一个任务有自动化的奖励信号或成功标准,模型就可以反复练习。
数学、编程、测试、基准测试、游戏和很多工程任务之所以进步飞快,正是因为它们可以重置、可以重复、可以给出奖励。
这也是为什么编程Agent的体验明显好于普通聊天机器人。代码有明确的反馈,测试通过或失败,程序运行或崩溃,代码差异可以检查,性能基准可以度量。
模型的能力分布不是均匀的,它呈现出一种锯齿状的形态。在可验证的领域,如数学和编程,模型能力突飞猛进。在其他领域,模型可能表现得非常粗糙。
这种锯齿形态不只取决于任务本身是否可验证,还取决于实验室在训练过程中是否关注了这个领域。
Karpathy给出了一个粗略的公式:

能力尖峰近似等于可验证性、训练注意力、数据覆盖率和经济价值四个因素的乘积。国际象棋就是一个典型案例。从GPT-3.5到GPT-4,国际象棋水平大幅提升。
有人认为这是通用能力的自然进步,Karpathy认为更可能的原因是大量国际象棋数据被加入了预训练集。有人在OpenAI做了这个决定,于是出现了一个能力尖峰。
他举了一个更生动的例子来说明这种锯齿形态的荒谬感。一个最先进的模型可以重构10万行代码库、发现零日漏洞,但同时会告诉你:汽车洗车场在50米外,建议你走过去。
这种矛盾让很多人困惑,但它正是锯齿形智能的本质。模型在经过强化学习的回路上飞驰,在数据分布之外的领域举步维艰。
前沿模型没有说明书。它们是预训练数据混合、强化学习环境、基准测试压力、产品优先级和经济激励共同塑造的产物。
它们在某些地方突飞猛进,在某些地方行为古怪。
Karpathy给创业者的实际问题是:你的应用在不在模型的轨道上?如果你的任务恰好在可验证且被大量训练的区域内,模型可能表现优异。如果不在,你可能需要更好的上下文、工具、微调、自定义评估或自己的强化学习环境。
从Vibe Coding到Agentic Engineering
Karpathy区分了两个相关但不同的概念。
Vibe Coding(氛围编程)提升了所有人的下限。任何人都可以通过描述自己想要什么来创建软件。这很棒,适合原型和个人工具。
Agentic Engineering(代理工程)提升的是专业天花板。它是在协调容易出错的Agent的同时,保持正确性、安全性、品味和可维护性的工程专业能力。严肃的团队需要的是Agentic Engineering。
Agentic工程师不会盲目接受生成的代码。他们设计规格、监督计划、检查差异、编写测试、创建评估循环、管理权限、隔离工作树、保持质量。
Karpathy用MenuGen的支付bug来说明人的判断为什么仍然不可替代。
Agent试图通过邮箱地址来匹配Stripe购买记录和Google账户。这从代码逻辑上看是说得通的,但系统设计上有致命问题:用户在Stripe上付款的邮箱和Google登录的邮箱可以不同。人类需要足够的判断力来坚持使用持久的用户ID,而不是邮箱这种不可靠的关联方式。
他认为前沿技能不再是记住每个API细节。Agent可以记住某个张量库用的是dim、axis、keepdim、reshape还是permute。人类仍然需要理解底层概念:存储方式、视图、内存拷贝、不变量、身份标识、安全边界和系统的整体形态。
这直接改变了招聘。
传统的编程面试题已经越来越不匹配。Karpathy建议更好的面试方式是:让候选人用Agent构建一个完整的项目,部署上线,确保安全,然后用对抗性的Agent尝试攻破它。
这测试的是真正的能力:能不能把工作分解给Agent,能不能写出有用的规格,能不能在快速推进的同时保持质量,能不能审查生成的工作,能不能加固系统,能不能把Agent当作杠杆而不是制造垃圾。
他提到,以前人们谈论10倍工程师。在Agentic Engineering时代,这个数字可能会被远远超越。精通Agent工作流的人,效率提升可能远超10倍。
他还提到了一个有趣的观察:Agent生成的代码有时让他感到崩溃。代码能跑,但臃肿、复制粘贴、抽象不当、脆弱。
这种品味层面的问题目前不在强化学习的训练范围内,可能没有审美奖励信号,或者信号还不够好。
他用microGPT项目举了一个极端的例子:他尝试让LLM把LLM训练代码简化到极致,模型完全做不到,感觉像是在RL回路之外拔牙。
人在品味和判断上暂时不可替代。
Agent原生世界
Karpathy有一个持续的烦恼:几乎所有软件和文档仍然是写给人类点击和阅读的。文档里写的是访问这个URL、点击这个按钮、打开这个设置面板。
但在Agent时代,直接使用者越来越不是人类,而是人类的Agent。
产品需要Agent原生的交互界面。
包括Markdown文档、命令行工具(CLI)、API、MCP服务器、结构化日志、机器可读的Schema、可以复制粘贴给Agent的指令、安全的权限控制、可审计的操作和无头的部署流程。
他喜欢用传感器(Sensor)和执行器(Actuator)来思考。传感器把世界的某种状态转化为数字信息,执行器让Agent改变世界。未来的技术栈就是Agent代表人和组织,通过传感器和执行器来操作。
MenuGen的部署故事仍然是一个很好的参照。写代码本身不难,难的是把应用部署到Vercel上,配置认证、支付、DNS、密钥和生产环境设置。
在一个成熟的Agent原生世界里,Karpathy希望只要说一句”构建MenuGen”,Agent就能把整个应用部署到互联网上,全程不需要人工点击任何东西。
他预测,最终每个人和组织都会有自己的Agent代表。他的Agent和你的Agent沟通,安排会议细节、处理各种任务。这大致就是方向。
对于创业者,Karpathy建议寻找有价值、可验证、但头部实验室尚未重点训练的领域。
编码和数学已经被实验室重点覆盖了,但很多经济价值高的领域可能存在尚未被利用的可验证结构。
如果你能为某个领域创建一个模型可以尝试操作并获得可靠奖励的环境,即使基座模型在那里不够强,你也有机会通过微调或强化学习来提升性能。
这就是创业的切入点。
思考可外包,理解不行
对话最后回到了教育和理解。
Karpathy反复提到一条让他印象深刻的推文:你可以把思考外包出去,但不能把理解外包出去。
即使Agent承担了越来越多的实际工作,人类仍然需要理解力来指导它们。你需要知道什么值得构建,什么问题重要,什么结果可疑,什么取舍可以接受。
信息仍然需要进入你的大脑,你仍然是整个系统的瓶颈,甚至在判断要构建什么、为什么值得做、如何指导Agent这些问题上,理解力是约束条件。
这是他对LLM知识库如此感兴趣的原因。这些知识库不是简单的问答机器,而是把信息转化为理解的工具。每当他看到一个不同的信息投影视角,他感觉自己获得了新的洞察。这本质上是对固定数据的合成数据生成。
他谈到了自己的一个完整的GPT训练和推理实现项目microGPT,全部在一个无依赖的Python文件里。这个教育性质的产物小到人和Agent都可以审查。人类专家贡献提炼后的核心知识和背后的品味,Agent则可以交互式地向每个学习者解释。
他反复强调,不要用拟人化的视角来看待LLM。它们不是动物,没有生物驱力、没有生存压力、没有好奇心、没有内在动机。
它们是人类制品的统计模拟,由预训练、后训练、强化学习、产品反馈和经济激励共同塑造。
这些系统可能在某一刻表现出惊人的才华,在下一刻犯出令人啼笑皆非的低级错误。
它们不是平滑的人类心智,而是锯齿状的、异质的工具。
面对这种工具,正确的姿态既不是轻蔑拒绝,也不是盲目信任,而是通过经验积累来熟悉它们。了解它们在哪些地方有效、在哪些地方会失败、被训练来做些什么、以及如何围绕它们建立护栏。
AI不是让每个人在旧工作中变得更快。工作本身正在围绕Agent重组。软件、研究、教育、基础设施和知识工作,都在变成同一个模式的变体:

越来越不稀缺的是代码生成、API记忆、模板代码、初稿、重复性配置和简单转换。
越来越稀缺的是理解力、品味、评估设计、安全性、系统边界、Agent编排、特定领域的反馈回路,以及知道模型什么时候跑偏了。
参考资料:
https://karpathy.bearblog.dev/sequoia-ascent-2026/
https://www.youtube.com/watch?v=96jN2OCOfLs




夜雨聆风