Sequoia Ascent 2026:软件 3.0、智能体工程与参差不齐的智能
本文目录
我在 Sequoia Ascent 2026 做了一场炉边谈话(fireside chat)。YouTube 视频在这里:
作为一次实验,我把自己最近所有的博客文章和推文都喂给了一个大语言模型(Large Language Model,LLM),然后让它阅读这场视频的文字记录,并产出 1)一份摘要,以及 2)一份整理过的文字记录(修正所有转录错误、去掉口头填充词等)。我把这两部分都贴在下面。这些内容既对只想以文本形式阅读摘要的人有用,也对 LLM 有用,可以让我的内容对它们来说清晰可读、随时可用。
以下是本次演讲由 AI 生成的内容。 我使用了一个顶级能力模型(这次是 Codex 5.5),并阅读了这些内容,读起来没问题,没有明显错误。
Sequoia Ascent 2026:软件 3.0、智能体工程与参差不齐的智能#
我最近与 Stephanie Zhan 在 Sequoia Ascent 2026 上进行了一场炉边谈话,和创始人们聊了聊 AI 智能体(AI agents)近期的转变、这对软件意味着什么,以及我如何看待下一波 AI 原生公司。
这场活动的文字记录有些嘈杂,所以我想把主要的思想内容以更干净的形式写下来。简短的版本是:我认为我们已经跨过了一个新的门槛。LLM 不再只是聊天机器人或自动补全。它们正在成为数字工作的一种新的可编程层。
这是那场对话的浓缩版。
1. 2025 年 12 月是一个智能体拐点#
我最近说过,作为一名程序员,我从未感觉自己如此落后。
原因并不是编程在旧的意义上变得更难了。而是默认的工作流变了。在 2025 年的大部分时间里,Claude Code、Codex 以及类 Cursor 的智能体虽然有用,但仍然需要频繁纠正。大约在 2025 年 12 月,我感受到了一次阶跃式变化:生成的代码块变得更大、更连贯、也更可靠。我开始把更多工作托付给这些智能体。
编程的单元从敲代码行,变成了委派更大的「宏动作」(macro actions):
- 实现这个功能。
- 重构这个子系统。
- 调研这个库。
- 搭好这个服务。
- 编写测试、运行测试并修复失败。
- 比较不同方案并提出计划。
这就是为什么我认为这个职业正在被重构。程序员越来越不只是代码写作者,而是智能体的编排者。
2. 软件 3.0:上下文窗口就是新的程序#
我把它看作一个序列中的下一步:
- 软件 1.0: 人类编写显式代码。
- 软件 2.0: 人类创建数据集、目标和神经网络;程序被学习进权重里。
- 软件 3.0: 人类通过提示词、上下文、工具、示例、记忆和指令来为 LLM 编程。
在软件 3.0 中,上下文窗口成为主要的杠杆。LLM 是作用于该上下文的解释器,在数字信息上执行计算。
一个例子是安装。在旧世界里,要在许多环境中安装一个复杂工具,需要一段充满条件判断的脆弱 shell 脚本。在软件 3.0 的世界里,安装器可以是一段你粘贴给智能体的指令。智能体会读取本地环境、调试错误、适配这台机器,并完成安装。
这是一种不同类型的程序。它不那么精确,但更具适应性。
3. MenuGen 与软件消失的那一刻#
我用 MenuGen 作为更深层转变的例子。
MenuGen 是一个传统的 Web 应用:拍一张餐厅菜单的照片,对菜名做光学字符识别(Optical Character Recognition,OCR),生成菜品图片,再把结果显示在用户界面(User Interface,UI)里。它需要前端代码、API、图像生成、部署、认证、支付、密钥以及基础设施。
但后来,我看到了软件 3.0 版本:拍一张菜单照片,交给一个多模态模型(multimodal model),让它把菜品图片直接渲染到菜单图像上。
在那个版本里,应用的大部分都消失了。神经网络直接把输入的媒体转换为输出的媒体。旧的软件栈只是在为一个模型如今能够直接完成的转换搭脚手架。
这是对创始人最重要的启示之一:AI 不只是构建旧应用的一种更快方式。有些应用应当不再作为应用存在。
4. 新机会不只是更快的编程#
这个转变的范围比编程更广。LLM 自动化了此前无法编程的信息处理形式。
我的 LLM Wiki 模式是最清楚的例子。不是每次都用检索增强生成(Retrieval-Augmented Generation,RAG)从原始文档里回答问题,而是让智能体增量地把原始资料编译成一个持久的 Markdown wiki:摘要、实体页面、概念页面、矛盾之处、交叉链接、日志,以及不断演化的综述。
没有任何经典程序能在杂乱的人类文档之间稳健地维护这种知识库。但 LLM 可以。
教训是:不要只问「AI 能加速哪个现有工作流?」还要问「哪种信息转换以前不可能,现在却变得自然?」
5. 可验证性解释了 AI 在哪里进步最快#
我的核心自动化框架是:
- 传统软件自动化的是你能够明确指定的东西。
- LLM 和强化学习(Reinforcement Learning,RL)自动化的是你能够验证的东西。
如果一个任务有自动的奖励或成功信号,模型就可以练习它。这就是为什么数学、编程、测试、基准评测、游戏以及许多工程任务进步得如此之快。它们可重置、可重复,也可被奖励。
这也解释了为什么编程智能体给人的感觉,明显好于许多普通的聊天机器人体验。编程给了模型反馈:测试通过或失败,程序运行或崩溃,diff 可以被检查,基准指标可以被测量。
6. 参差不齐的智能有两个维度:可验证性与训练关注度#
这场访谈为可验证性论点补充了一个重要的细化。
模型能力不仅取决于任务是否可验证。它还取决于这个任务是否在训练、后训练、合成数据生成和强化学习过程中被实验室重点强调过。
一个粗略的公式:
能力突刺 ~= 可验证性 × 训练关注度 × 数据覆盖度 × 经济价值
国际象棋是个好例子。当 GPT-4 在国际象棋上进步时,那未必是因为通用智能在所有方面都平滑地提升了。也可能是因为训练混合数据里加入了多得多的棋类数据。
这一点很重要,因为前沿模型并没有附带说明书。它们是预训练数据混合、RL 环境、基准压力、产品优先级和经济激励的产物。它们在某些地方突刺,在另一些地方表现得古怪。
所以对创始人来说,一个实际的问题是:你是否处在模型的「轨道」上?
如果你的任务落在一个可验证且被大量训练过的区域,模型可能飞起来。如果不是,它可能以令人惊讶的、非常基础的方式失败。你可能需要更好的上下文、工具、微调(fine-tuning)、你自己的评测(evals),或者你自己的强化学习环境。
7. 氛围编程 vs. 智能体工程#
我区分两个相关但不同的概念:
- 氛围编程(vibe coding) 抬高地板。它让几乎任何人都能通过描述自己想要什么来创造软件。
- 智能体工程(agentic engineering) 抬高天花板。它是一门专业学科:协调容易出错的智能体,同时保住正确性、安全性、品味与可维护性。
氛围编程对原型和个人工具来说没问题。智能体工程才是严肃团队所需要的。
智能体工程师不会盲目接受生成的代码。他们设计规格、监督计划、检查 diff、编写测试、建立评测回路、管理权限、隔离工作树(worktrees),并守住质量。
我 MenuGen 的支付 bug 是一个有用的例子。智能体试图用电子邮件地址把 Stripe 购买记录匹配到 Google 账户。那段代码看似合理,但系统设计很糟:Stripe 的邮箱和 Google 登录邮箱可能不一样。人类需要有足够的产品和工程判断力,坚持使用持久的用户 ID。
前沿技能不是记住每个 API 的细节。智能体可以记住张量库用的是 dim、axis、keepdim、reshape 还是 permute。人类仍然需要理解底层概念:存储、视图、内存拷贝、不变量、身份、安全边界,以及系统的形状。
8. 招聘方式应当改变#
如果智能体工程是新的专业技能,招聘就应当直接测试它。
传统的编程谜题越来越不匹配。更好的面试也许是:用智能体构建一个规模可观的项目,部署它,让它安全,然后让对抗性智能体尝试攻破它。
这测试的是真正的技能:
- 候选人能否为智能体拆解工作?
- 他们能否写出有用的规格?
- 他们能否在快速推进的同时保住质量?
- 他们能否审查生成的工作?
- 他们能否为系统加固并提供安全保障?
- 他们能否把智能体当作杠杆,而不是生产垃圾?
旧的「10 倍工程师」概念可能会变得极端得多。掌握智能体工作流的人,其表现可能比其他人高出远超 10 倍。
9. 创始人应当寻找有价值的可验证环境#
对创始人来说,一个重要的机会是找到那些有价值、可验证,但尚未被前沿实验室充分训练的领域。
如果你能创建一个领域特定的环境,让模型可以尝试行动并获得可靠的奖励,那么即使基础模型在那里还不够出色,你也可能通过微调或强化学习提升性能。
最显而易见的领域,比如编程和数学,已经被实验室重点瞄准。但许多具有经济重要性的领域,可能拥有尚未被利用的、潜在的可验证结构。
那就是一个创业切入点。
10. 智能体原生基础设施:为智能体而建,而不只是为人#
大多数软件仍然是为在屏幕上点击的人类而构建的。
文档会说「访问这个 URL,点击这个按钮,打开这个设置面板。」但越来越多的用户并不是直接的人类。用户是人类的智能体。
这意味着产品需要智能体原生的界面:
- Markdown 文档。
- 命令行界面(Command-Line Interface,CLI)。
- API。
- MCP 服务器。
- 结构化日志。
- 机器可读的 schema。
- 可复制粘贴的智能体指令。
- 安全的权限管理。
- 可审计的操作。
- 无头(headless)安装流程。
我从传感器(sensors)和执行器(actuators)的角度思考这件事。传感器把世界的某种状态转换成数字信息。执行器让智能体能够改变某些东西。未来的技术栈,就是智能体代表个人和组织使用传感器与执行器。
MenuGen 的部署故事仍然是一个有用的基准。构建这个应用,和接通 Vercel、认证、支付、DNS、密钥以及生产设置相比,简直是小菜一碟。在一个成熟的智能体原生世界里,我应该只要说「构建 MenuGen」,智能体就能部署整套东西,而无需任何手动点击。
11. 幽灵,而非动物#
我的 Animals vs. Ghosts 框架,是一种避免错误直觉的方法。
LLM 不是动物。它们没有生物驱力、具身生存压力、好奇心、玩耍,也没有动物意义上的内在动机。它们是人类造物的统计模拟,由预训练、后训练、RL、产品反馈和经济激励塑造。
这一点很重要,因为拟人化的期待会误导我们。这些系统可以这一刻很聪明,下一刻又古怪地愚蠢。它们不是平滑的人类心智。它们是参差不齐的、异质的工具。
正确的姿态既不是否定,也不是盲目信任。而是经验性的熟悉:了解它们在哪里工作、在哪里失败、它们是为做什么训练的,以及如何围绕它们建立护栏。
12. 教育:你可以外包思考,但无法外包理解#
我们以教育收尾。有一句话我反复想起:
你可以外包你的思考,但你无法外包你的理解。
即使智能体做了更多工作,人类仍然需要理解来指挥它们。你需要知道什么值得构建、哪个问题重要、哪个结果可疑、哪种权衡可以接受。
这就是我对 LLM 知识库感兴趣的原因。它们不只是答案机器。它们是把信息转化为理解的工具。
这也和我那个小小的 microGPT 项目有关:一个完整的 GPT 训练与推理实现,放在单个无依赖的 Python 文件里。这个教育产物变得足够小,人类和智能体都能检查。人类专家贡献精炼的产物以及背后的品味;智能体则可以交互式地向每位学习者解释它。
全景#
这场对话的主要论点是:AI 正在成为数字工作的新操作层。
稀缺的东西正在转移:
- 不再那么稀缺:代码生成、API 记忆、样板代码、初稿、重复性设置、简单转换。
- 更加稀缺:理解、品味、评测设计、安全、系统边界、智能体编排、领域特定的反馈回路,以及判断模型何时脱轨的能力。
对创始人来说,最重要的问题是:
- 当主要用户是代表人类行动的智能体时,什么会成为可能?
- 哪些工作流可以围绕传感器、执行器和可验证回路重建?
- 哪些软件应当消失,融入直接的模型转换?
- 哪些领域有价值、可验证,但尚未被前沿实验室大量训练?
- 为了保住质量,必须把哪些人类判断留在回路中?
我当前的世界观并不是 AI 只是让每个人在旧工作上更快。而是工作本身正在围绕智能体被重新组织。软件、研究、教育、基础设施和知识工作,都在变成同一模式的变体:
定义上下文
定义工具
定义反馈回路
定义护栏
让智能体去工作
保留人类的理解
Sequoia Ascent 2026:Andrej Karpathy 与 Stephanie Zhan 对谈#
整理过的文字记录。为可读性做了轻度清理,修正了明显的转录错误,去掉了填充词,并补充了几个相关链接。
开场#
Konstantine: 你们都认识的一个人,一个在这场 AI 革命中已经成为 AI 教师的人。每一场革命里都有技术专家,但也都有教师,那个真正告知并指导这场转型将如何发生的人。Andrej 已经成为全世界的这位教师。
他早期在特斯拉的 Autopilot 团队,是 OpenAI 的联合创始人,后来他放下这一切去创办 Eureka Labs,在那里他深入探索「AI 是真正的导师」这一理念。我们很高兴请到 Andrej Karpathy 与我们的合伙人 Stephanie Zhan。
Stephanie: 大家好。我们很期待第一位特别嘉宾。他参与构建了现代 AI,解释了现代 AI,还偶尔给现代 AI 改名。
他参与联合创办了 OpenAI。他帮助特斯拉让 Autopilot 运转起来。他有一种罕见的天赋,能让最复杂的技术转变既易于理解,又显得不可避免。
你们都知道他去年创造了「氛围编程」(vibe coding)这个词。但就在过去几个月里,他说了更令人吃惊的话:作为一名程序员,他从未感觉自己如此落后。这就是我们今天要谈的起点。Andrej,谢谢你来参加。
Andrej: 大家好。很兴奋来到这里,为活动开场。
2025 年 12 月的智能体拐点#
Stephanie: 几个月前,你说你作为一名程序员从未感觉如此落后。从你口中听到这话尤其令人吃惊。你能帮我们拆解一下吗?那种感觉是兴奋还是不安?
Andrej: 肯定是两者兼有。
和你们许多人一样,我用 Claude Code、Codex 以及类似工具已经有一段时间了。它们在代码块层面非常好用,但有时会搞砸,你得去修改。它们是有帮助的。
然后我会说,12 月是一个明确的节点。当时我在休假,所以时间更多。我想很多人也有类似的体验。我开始注意到,用最新的模型,生成的代码块就是没问题。然后我不断要求更多,它们依然没问题。我记不起上一次修改它是什么时候了。我开始越来越信任这个系统。
我确实认为那是一次鲜明的转变。很多人去年体验到的 AI 还是 ChatGPT 之类的东西,但到了 12 月你真的得重新看一眼,因为事情从根本上变了,尤其是在这种智能体的、连贯的工作流里。它真的开始奏效了。
那个认知把我推进了无限副项目的兔子洞。我的副项目文件夹里塞满了各种随机的项目。我一直在写代码。那发生在 12 月,之后我一直在观察它的影响。
软件 3.0#
Stephanie: 你谈过把 LLM 视为一种新的计算机。它不只是更好的软件,而是一种新的计算范式。软件 1.0 是显式规则。软件 2.0 是学习到的权重。软件 3.0 是这个。如果这是真的,那么一个团队在真正相信它的那一天,会有什么不同的构建方式?
Andrej: 软件 1.0 是写代码。软件 2.0 是通过创建数据集和训练神经网络来编程。编程变成了安排数据集、目标和神经网络架构。
接着发生的是,如果你在足够大的任务集上训练 GPT 模型或 LLM,那么隐式地,因为互联网包含许多任务,这些模型在某种意义上就变成了可编程的计算机。
软件 3.0 是关于通过提示词来编程。上下文窗口里的内容,就是你操纵解释器的杠杆,而解释器就是 LLM。它解释你的上下文,并在数字信息空间中执行计算。
有几个例子让我彻底明白了这一点。当 OpenClaw 出现时,要安装它,你通常会预期有一段 shell 脚本。但要面向许多平台和许多类型的计算机,shell 脚本通常会膨胀,变得极其复杂。你被困在软件 1.0 的宇宙里,想要写出精确的代码。
而 OpenClaw 的安装方式反而是一段文本,你把它复制粘贴到智能体里。它就像一个小技能:复制这个,交给你的智能体,它就会安装 OpenClaw。这更强大,因为你是在软件 3.0 的范式里工作。你不必把每个细节都拼写出来。智能体有智能。它查看你的环境,执行智能的操作,并在回路中调试。
这是一种不同的思考方式。那段要复制粘贴给智能体的文本是什么?这现在成了编程范式的一部分。
另一个例子是 MenuGen。你坐在餐厅里,拿到菜单,上面没有图片。我不知道其中很多东西是什么。我想拍一张菜单的照片,然后拿到这些菜大致长什么样的图片。
所以我构建了一个应用。你上传照片,它对所有标题做 OCR,用图像生成器拿到图片,再展示给你。它跑在 Vercel 上,重新渲染菜单。
然后我看到了软件 3.0 版本,那让我大开眼界。你拍下照片,交给 Gemini,然后说:用 Nano Banana 把这些东西叠加到菜单上。它返回一张我拍的菜单图像,但图片已经渲染进像素里了。
在那个框架下,整个 MenuGen 都是多余的。它是在旧范式里工作。那个应用不应该存在。在软件 3.0 范式里,神经网络做了更多工作。你的提示词或上下文是图像,输出也是图像。中间根本不需要那么多应用机制。
人们必须重新框定。不要只在现有范式里工作,把 AI 想成对现有事物的加速。现在有全新的东西可用。
而且这不只是编程变快。这是更一般的信息处理现在可以被自动化。以前的代码作用于结构化数据。你针对结构化数据写代码。
用我的 LLM 知识库项目,你让 LLM 为你的组织或你个人创建 wiki。这不是旧意义上的程序。以前没有任何代码能基于一堆杂乱的事实创建知识库。但现在你可以拿文档,重新编译、重新排序,创造某种新的、有趣的东西,作为对数据的重新框定。
这些是以前不可能的新事物。我不断回到这一点:不只是我们能更快做什么,而是以前什么不可能?那更令人兴奋。
神经计算机#
Stephanie: 我很喜欢 MenuGen 的演进。如果你进一步外推,2026 年相当于 90 年代建网站、2010 年代做移动应用,或者云时代的 SaaS 的是什么?今天尚未建成、但事后看来会显而易见的东西是什么?
Andrej: 接着 MenuGen 的例子说,很多这类代码都不应该存在。神经网络应该完成大部分工作。
外推的结果看起来非常奇怪。你可以想象某种完全神经化的计算机。想象一个设备,把原始视频或音频输入神经网络,再用扩散(diffusion)渲染出一个只属于那一刻的独特 UI。
在计算的早期,人们对计算机是像计算器还是像神经网络有些困惑。在 1950 和 1960 年代,哪条路会赢并不明显。我们走上了计算器那条路,构建了经典计算。
神经网络目前虚拟化地运行在现有计算机上。但你可以想象一次翻转:神经网络成为宿主进程,CPU 变成协处理器。智能计算和神经网络计算成为 FLOPs 的主要开销。
你可以想象某种陌生的东西:神经网络承担大部分重活,把工具当作处理确定性任务的历史遗留附属物。真正在主导一切的,是以某种方式联网的神经网络。
那就是外推,但我认为我们会一块一块地到达那里。
可验证性与参差不齐的智能#
Stephanie: 我很想聊聊可验证性:AI 在输出可被验证的领域会更快、更容易地被自动化。如果这个框架是对的,哪些工作即将比人们意识到的快得多地推进?哪些职业人们以为安全,实际上却高度可验证?
Andrej: 传统计算机自动化的是你能用代码明确指定的东西。最新这一轮 LLM 能自动化的是你能验证的东西。
当前沿实验室训练这些 LLM 时,他们会在带有验证奖励的巨型强化学习环境中训练它们。正因如此,模型进步,并成为参差不齐的实体。它们在数学、代码及邻近领域等可验证领域达到能力峰值,而在不属于这个空间的地方停滞,或保持粗糙。
我写关于可验证性的文章,是因为我试图理解为什么这些东西如此参差不齐。一部分与实验室如何训练模型有关。另一部分与实验室关注什么、把什么放进数据分布有关。某些东西在经济上价值显著更高,所以实验室为那些场景创建了更多环境。代码就是个好例子。
可能有许多可验证的环境是你能想到的,但它们没有进入这个混合,因为让模型具备那些能力在经济上没那么有用。
有一段时间我最喜欢的例子是:「strawberry」这个词里有几个字母?模型曾著名地答错。现在这个问题已经被修补了。更新的例子是:我想去洗车店洗车,它离我 50 米。我应该开车还是走路?最先进的模型可能会告诉你走路,因为很近。
怎么可能一个最先进的模型能重构 10 万行的代码库,或找到零日漏洞,却告诉我走路去洗车店?这就是参差不齐。只要模型仍然参差不齐,就意味着你需要留在回路中。你需要把它们当作工具,并持续关注它们在做什么。
我关于可验证性的写作,就是在尝试理解这个模式。我认为它是「可验证」加上「实验室在意」的某种组合。
另一个轶事是国际象棋。从 GPT-3.5 到 GPT-4,人们注意到国际象棋进步很大。有些人认为那只是通用能力的进步。但我认为这是公开信息:大量棋类数据进入了预训练集。因为它在数据分布里,模型提升得比默认情况下多得多。
OpenAI 的某个人决定加入那些数据,于是就有了一个能力突刺。这就是为什么我强调这个维度:我们在某种程度上受制于实验室做什么、把什么放进混合。你必须去探索他们给你的模型。它没有说明书。它在某些场景下有效,在另一些场景下无效。
如果你处在参与过强化学习的回路里,你就能飞。如果你在数据分布之外,你就会挣扎。你必须弄清楚你的应用处在哪些回路中。如果你不在那些回路里,那么你就得考虑微调或自己做一些工作,因为它可能不会开箱即用地从 LLM 里出来。
可验证领域中的创业机会#
Stephanie: 如果你今天是创始人,你在解决一个可处理、可验证的问题,但你环顾四周,发现实验室在数学和编程这类显而易见的领域已经开始达到逃逸速度,你会给出什么建议?
Andrej: 可验证性让某件事在当前范式下变得可处理,因为你可以对它投入大量强化学习。
即使实验室没有直接关注它,这一点仍然成立。如果你处在一个可验证的场景中,能够创建强化学习环境或示例,那么你就有可能做自己的微调并从中受益。那项技术在根本上有效。如果你有多样化的数据集或 RL 环境,你可以使用微调框架,拉动杠杆,得到相当不错的效果。
我不想透露具体例子,但有一些有价值的强化学习环境是人们可以想到的,而它们不在当前前沿实验室的混合里。
Stephanie: 反过来,什么仍然只是从远处看才像是可自动化的?哪些领域或职业比其他的更安全?
Andrej: 最终,几乎一切都能在某种程度上变得可验证,只是有些事更容易。即使是写作,你也可以想象有一个 LLM 评审团,得到还算合理的结果。
所以更多是关于容易还是困难。
氛围编程 vs. 智能体工程#
Stephanie: 去年你创造了「氛围编程」这个词。今天我们处在一个感觉更严肃、更偏智能体工程的世界。两者有什么区别,你会怎么称呼我们今天所处的状态?
Andrej: 氛围编程是关于抬高每个人在软件上能做什么的地板。每个人都可以氛围编程任何东西,这很了不起。
智能体工程是关于守住专业软件的质量标准。你不能因为氛围编程就引入漏洞。你仍然要像以前一样对自己的软件负责。但你能更快吗?剧透:可以。问题是如何正确地做到。
我称它为智能体工程,因为它是一门工程学科。你有智能体,它们是带尖刺的实体。它们会犯错、是随机的,但极其强大。你如何协调它们,在不牺牲质量标准的前提下更快前进?
氛围编程抬高地板。智能体工程是关于外推天花板。我认为智能体工程师的能力天花板非常高。人们过去谈「10 倍工程师」。我认为这会被放大得多。10 倍并不是人们能获得的速度提升。非常擅长这件事的人,能达到的高度远超于此。
AI 原生的编程是什么样#
Stephanie: 去年 Sam Altman 来到 Ascent 说,不同世代的人使用 ChatGPT 的方式不同。如果你三十多岁,你把它当作 Google 搜索的替代品。如果你十几岁,ChatGPT 是你通往互联网的入口。
在编程上对应的现象是什么?如果我们观察两个人用 OpenClaw、Claude Code 或 Codex 编程,一个平庸,一个完全 AI 原生,你会如何描述这种差别?
Andrej: 关键在于把可用的工具用到极致,使用它们的功能,并投资于你自己的配置。
工程师一直用 Vim 或 VS Code 这类工具这么做。现在工具是 Claude Code、Codex 等等。你投资于自己的配置,并使用可用的东西。
一个相关的想法是招聘。很多人想招强的智能体工程师,但大多数招聘流程并没有为智能体工程师的能力而重构。如果你还在发小谜题让人解,那仍然是旧范式。
招聘应该更像这样:给某人一个大项目,看他实现它。例如,为智能体写一个 Twitter 克隆,把它做得好且安全,然后让智能体在上面模拟活动。然后我会用十个 Codex 智能体去尝试攻破你部署的网站,它们不应该能攻破。
观察人们在这种场景下构建更大的项目并使用工具,更接近我会寻找的东西。
哪些人类技能变得更有价值?#
Stephanie: 随着智能体做更多事,哪些人类技能变得更有价值,而不是更没价值?
Andrej: 现在智能体就像实习生。你仍然必须负责美学、判断、品味和监督。
我最喜欢的例子之一来自 MenuGen。你用 Google 账户注册,但用 Stripe 购买额度。两者都有电子邮件地址。我的智能体试图通过把 Stripe 邮箱地址匹配到 Google 邮箱地址来分配购买的额度。
但那些可能是不同的邮箱。用户可能拿不到他们购买的额度。你为什么要用电子邮件地址来交叉关联资金?你需要一个持久的用户 ID。这就是智能体仍然会犯的那类错误。
人们必须负责规格和计划。我甚至不完全喜欢「计划模式」(plan mode)这个概念,尽管它有用。有更一般的东西:你和智能体一起设计一份详细的规格,也许基本上就是文档,并让智能体来写。你负责监督和顶层分类。智能体在下面完成大量工作。
另一个例子,神经网络里的张量,在 PyTorch、NumPy、pandas 等等之间有很多细节:dim 还是 axis,reshape、permute、transpose、keepdim。我不再记这些东西了,因为我不需要。这些细节由实习生处理,因为智能体有很好的记忆力。
但你仍然必须理解基础。你需要知道底层有张量存储,你可以操作同一存储的视图,或创建不同的存储,后者效率更低。你仍然需要知道足够多,以避免不必要地拷贝内存。
所以你负责品味、工程、设计,以及系统是否说得通。你提出正确的要求:例如,我们把一切绑定到唯一的用户 ID。智能体填补空白。
Stephanie: 你认为品味和判断随时间变得不那么重要,还是天花板只是在不断上升?
Andrej: 我希望它会改善。它现在没有改善的原因,可能是因为它不在强化学习里。可能没有美学奖励,或者奖励不够好。
当我看着代码时,有时会心脏病发作。它并不总是很棒的代码。它可能臃肿、复制粘贴、抽象得很别扭、脆弱。它能工作,但很恶心。我希望这在未来的模型中会改善。
一个好例子是我的 microGPT 项目,我试图尽可能简化 LLM 训练。模型讨厌这个。它们做不到。我不断提示 LLM 再简化一点,它就是做不到。你感觉自己处在 RL 回路之外。感觉像在拔牙。
所以人们目前仍然负责这件事。但我不认为有什么根本性的东西阻止它改善。实验室只是还没做。
幽灵,而非动物#
Stephanie: 我想回到参差不齐的智能形式。你写了一篇发人深省的文章,讲 Animals vs. Ghosts:我们不是在构建动物,我们是在召唤幽灵。这些是由数据和奖励函数塑造的参差不齐的智能形式,而不是像演化塑造动物那样,由内在动机、乐趣、好奇心或赋能塑造。
为什么这个框架重要?它如何改变你构建、部署、评估或信任它们的方式?
Andrej: 我写它是因为我试图理解这些东西是什么。如果你对它们是什么、不是什么有好的模型,你就能更胜任地使用它们。
我不知道这个框架是否有直接的实践力量。它有点哲学。但它是关于接受一个事实:这些东西不是动物智能。如果你对它们大喊,它们不会工作得更好或更差。它们是统计模拟回路。基底是预训练,然后在其上叠加强化学习。
这是一种心态:我在和什么互动,什么可能有效,什么可能无效,我如何修改它?我没有五个显而易见的结果能让你的系统更好。这更多是对系统保持怀疑,并随着时间经验性地搞清楚。
智能体原生基础设施#
Stephanie: 你深入参与的是不只聊天的智能体。它们有真实的权限、本地上下文,并真正代表你行动。当我们都生活在那个世界里时,世界会是什么样?
Andrej: 这里很多人可能对智能体原生环境的样子感到兴奋。一切都必须被重写。大多数东西在根本上仍然是为人类写的。
当我使用框架或库时,文档仍然是为人类写的。这是我最喜欢的槽点。为什么人们还在告诉我该做什么?我什么都不想做。我应该复制粘贴给智能体的东西是什么?
每次我被告知「去这个 URL」或「点击这里」,我就想:不。这个行业必须把工作负载分解为作用于世界的传感器和执行器。我们如何让东西智能体原生?我们如何先向智能体描述它们,并围绕 LLM 可读的数据结构构建自动化?
我希望有大量智能体优先的基础设施。用 MenuGen,难的部分不是写代码。麻烦在于把它部署到 Vercel,接通服务、设置、DNS、认证、支付、密钥和生产配置。
我希望我能提示一个 LLM:构建 MenuGen。然后我什么都不碰,它就已经部署在互联网上了。那会是一个很好的测试,检验我们的基础设施是否正在变得智能体原生。
最终,我确实认为我们正在走向一个个人和组织拥有智能体代表的世界。我的智能体会和你的智能体交谈,弄清楚会议细节和其他任务。这大致就是事情的发展方向。
教育与理解#
Stephanie: 我们必须在教育上收尾。你可能是在把复杂技术概念讲简单方面世界上最好的人之一,而且你对教育思考得很深。当智能变得廉价时,什么仍然值得深入学习?
Andrej: 最近有一条推文让我大开眼界,我一直想着它:
你可以外包你的思考,但你无法外包你的理解。
这话说得很好。我仍然是系统的一部分。信息仍然必须进入我的大脑。我甚至正在成为「知道我们在试图构建什么、为什么值得做、如何指挥我的智能体」的瓶颈。
仍然有东西必须去指导思考和处理。而这受理解所限。
这是我对 LLM 知识库感到兴奋的原因之一。它们是我处理信息的一种方式。每当我看到对信息的不同投影,我就觉得自己获得了洞察。这是在固定数据上做合成数据生成。
当我读一篇文章时,我的 wiki 会从那些文章中建立起来。我喜欢对它提问。最终这些是增强理解的工具。理解仍然是瓶颈,因为如果你不理解,你就无法成为一个好的导演。
LLM 并不完全擅长理解。你仍然独特地负责这一块。增强理解的工具极其有趣、令人兴奋。
Stephanie: 我很期待几年后再回到这里,看看我们是否已经被完全自动化出回路,以及它们是否也接管了理解。非常感谢你,Andrej。
Andrej: 谢谢。
Konstantine: Stephanie、Andrej,非常感谢。