翻译自:
karpathySequoia Ascent 2026 summary

Sequoia Ascent 2026 summary
Summary of my talk at Sequoia Ascent
最近,kapathy与 Stephanie Zhan 在红杉 Ascent 2026 峰会上进行了一场炉边对话,与创业者们共同探讨了 AI Agent(智能体)领域的最新变革、这对软件行业意味着什么,以及他如何看待下一波 AI 原生公司。
以下是本次对话的精简提炼版:
1. 2025 年 12 月是 Agentic 发展的拐点
我最近说过,作为一名程序员,我从未感到自己如此落后。
原因并不是传统意义上的编程变难了,而是默认的工作流程发生了改变。在 2025 年的大部分时间里,像 Claude Code、Codex 和类 Cursor 的 Agent 确实很有用,但仍需要频繁的人工修正。然而到了 2025 年 12 月左右,我感受到了阶梯式的飞跃:生成的代码块变得更大、更具连贯性,也更加可靠。我开始将更多的工作放心地委托给 Agent。
编程的最小单位已不再是敲击一行行代码,而是委派更大的“宏观动作(Macro Actions)”:
- 实现这个功能。
- 重构这个子系统。
- 调研这个库。
- 搭建这个服务。
- 编写测试、运行测试并修复失败项。
- 对比不同方案并提出计划。
这就是为什么我认为这个职业正在被重构。程序员越来越不仅仅是代码编写者,而是 Agent 的编排者(Orchestrator)。
2. 软件 3.0:上下文窗口即新程序
我认为这是软件演进的下一个阶段:
- 软件 1.0:人类编写显式代码。
- 软件 2.0:人类创建数据集、目标函数和神经网络;程序被学习并隐式表示为权重。
- 软件 3.0:人类通过 Prompt、上下文、工具、示例、记忆和指令对 LLM 进行编程。
在软件 3.0 时代,上下文窗口(Context Window)成为最核心的杠杆。LLM 扮演着该上下文之上的解释器角色,在数字信息空间中执行计算。
以“软件安装”为例:在旧世界里,要在各种环境下安装一个复杂的工具,需要写一段充斥着各种条件判断、极其脆弱的 Shell 脚本。而在软件 3.0 的世界里,安装器可以是一段你粘贴给 Agent 的指令。Agent 会读取本地环境,在运行循环中排查错误,适应当前机器,并完成安装。
这是一种截然不同的“程序”:虽然精确度略逊,但具有极高的适应能力。
3. MenuGen 与“软件消失”的时刻
我以 MenuGen 为例,说明了更深层次的变革。
MenuGen 曾是一个传统的 Web 应用:拍一张餐厅菜单的照片,识别(OCR)菜名,生成菜品的图片,并在 UI 中渲染结果。它需要前端代码、API、图像生成、部署、身份验证、支付、密钥和基础设施。
但后来,我看到了它的“软件 3.0 版本”:拍一张菜单照片,提供给多模态模型,并让它直接将菜品图片渲染到菜单照片上。
在这个版本中,绝大部分应用代码都消失了。神经网络直接将输入介质转换为输出介质。旧有的软件栈,不过是模型如今能够直接完成的某种转换外围的“脚手架”。
这是对创业者最重要的启示之一:AI 绝不仅仅是更快构建旧应用的方式,某些应用本身就不应该再作为“应用”而存在。
4. 新机遇不仅仅是“更快地编程”
这种转变远不止于代码。LLM 自动化了以前无法通过传统编程处理的信息加工形式。
我的“LLM Wiki”模式就是一个最清晰的例子。Agent 不再是在每次提问时使用检索增强生成(RAG)从原始文档中实时检索回答,而是将原始资料增量编译为一个持久化的 Markdown Wiki:包含摘要、实体页面、概念页面、矛盾点、交叉链接、日志以及不断演进的综合分析。
没有传统程序能够从混乱的人类文档中稳健地维护这种知识库,但 LLM 可以。
给我们的启示:不要只问“AI 能加速哪些现有的工作流?”,还要问“有哪些以前不可能实现、但现在变得自然而然的信息转换?”
5. 可验证性(Verifiability)解释了 AI 发展最快的领域
我的核心自动化分析框架是:
- 传统软件自动化你能“明确规范(Specify)”的事物。
- LLM 与强化学习自动化你能“验证(Verify)”的事物。
如果一项任务拥有自动化的奖励或成功信号,模型就可以对其进行反复练习。这就是为什么数学、编程、测试、基准测试、游戏和许多工程任务提升如此之快——它们是可重置、可重复且可给予奖励的。
这也解释了为什么 Coding Agent 给人带来的体验显著优于许多普通的聊天机器人。编程能给模型提供即时反馈:测试通过或失败,程序运行或崩溃,Diff 代码可以审查,基准测试可以测量。
6. 锯齿状智能的双轴:可验证性与训练注意力
本次访谈对我之前提出的“可验证性假设”做出了重要补充。
模型的能力不仅取决于任务是否“可验证”,还取决于研究实验室在预训练、后训练、合成数据生成和强化学习中对该任务的重视程度(训练注意力)。
一个粗略的公式:
国际象棋就是一个极佳的例子。当 GPT-4 在国际象棋上的表现大幅提升时,这并不一定意味着通用智能在各个方面都均匀提升了;也很可能是因为大量的国际象棋数据被纳入了训练混合集中。
这至关重要,因为前沿模型并没有附带说明书。它们是预训练混合集、强化学习环境、基准测试压力、产品优先级和经济激励的综合产物。它们在某些领域表现出众,而在另一些领域行为怪异。
因此,创业者面临的实际问题是:你是否处于模型的“轨道(Rails)”之上?
如果你的任务落在一个既可验证又经过高强度训练的区域,模型可能会飞速运行。如果不是,它可能会在一些极其基础的地方犯错。此时你可能需要更好的上下文、工具、微调(Fine-tuning)、自定义评估(Evals)或自己的强化学习环境。
7. Vibe Coding vs. Agentic 工程
我区分了两个相关但不同的概念:
- Vibe Coding 抬高了下限:它让几乎所有人都能通过描述自己的需求来创建软件。
- Agentic 工程抬高了上限:它是一门专业的工程学科,旨在协调可能犯错的 Agent,同时保持代码的正确性、安全性、审美品味和可维护性。
Vibe Coding 适合原型设计和个人工具;而 Agentic 工程才是严肃团队所必需的。
Agentic 工程师不会盲目接受生成的代码。他们设计规范(Specs)、监督计划、审查 Diff、编写测试、建立评估循环、管理权限、隔离工作树并维护质量。
我在 MenuGen 中遇到的支付 Bug 就是一个很好的例子:Agent 尝试通过匹配 Email 地址来将 Stripe 购买记录关联到 Google 账号。这听起来似乎合理,但在系统设计上却很糟——Stripe 的 Email 和 Google 登录 Email 很可能不同。人类需要具备足够的产品和工程判断力,去坚持使用持久化的用户 ID(User ID)。
前沿技能不再是死记硬背每个 API 的细节。Agent 可以轻松记住张量库使用的是
dim、axis、keepdim、reshape 还是 permute。人类依然需要理解底层的基本概念:存储、视图、内存复制、不变性、身份标识、安全边界以及整个系统的架构形状。8. 招聘方式应当改变
如果 Agentic 工程是新的专业技能,那么招聘就应该直接对其进行测试。
传统的编程面试题(如 LeetCode 算法拼图)越来越不匹配了。一种更好的面试形式可能是:利用 Agent 构建一个大型项目,部署它,确保其安全性,然后让对抗性 Agent 尝试攻破它。
这能测试出真正的能力:
- 应聘者能否为 Agent 拆解工作?
- 他们能否编写出有用的规范(Spec)?
- 他们能否在快速推进的同时保持质量?
- 他们能否审查生成的产物?
- 他们能否加固系统并提升安全性?
- 他们是将 Agent 作为杠杆,还是仅仅生产出一堆垃圾代码(Slop)?
过去的“10倍工程师(10x Engineer)”概念可能会变得更加剧烈。掌握 Agentic 工作流的人,其产出效率可能会远超其他人 10 倍以上。
9. 创业者应寻找具备高价值的可验证环境
对创业者而言,一个重大的机遇在于寻找既有价值、可验证,但尚未被前沿实验室大规模训练的领域。
如果你能建立一个特定领域的环境,让模型在其中尝试操作并获得可靠的奖励信号,那么即使基座模型在该领域尚不够优秀,你也可以通过微调或强化学习大幅提升其性能。
最显而易见的领域(如编程和数学)已经被实验室重点攻克,但许多经济价值巨大的垂直领域,依然蕴藏着尚未被利用的潜在可验证结构。
这就是初创公司的切入点(Wedge)。
10. Agent 原生基础设施:为 Agent 而建,而非仅为人类
大多数软件仍然是为人类在屏幕上点击而设计的。
文档依然写着“打开此 URL,点击此按钮,打开此设置面板”。但越来越普遍的情况是,使用者不再是人类本身,而是人类的 Agent。
这意味着产品需要具备 Agent 原生(Agent-Native)的交互界面:
- Markdown 文档
- CLI(命令行工具)
- API
- MCP 服务端
- 结构化日志
- 机器可读的 Schema
- 可直接复制粘贴的 Agent 指令
- 安全的权限管理
- 可审计的操作记录
- 无头(Headless)安装与配置流程
我习惯从“传感器(Sensors)”与“执行器(Actuators)”的角度来思考:传感器将世界的状态转化为数字信息;执行器则让 Agent 能够改变某些事物。未来的软件栈,就是 Agent 代表个人和组织去使用传感器与执行器。
MenuGen 的部署经历依然是一个很好的基准线:相比于打通 Vercel、身份验证、支付、DNS、密钥和生产环境设置,写出应用本身反而很简单。在一个成熟的 Agent 原生世界里,我应该只需要说一声“构建 MenuGen”,Agent 就能在无需手动点击的情况下完成整个部署。
11. 幽灵,而非动物
我提出的“动物 vs. 幽灵”这一框架,是为了避免不良的直觉认知。
LLM 不是动物。它们没有生物学驱动力、具身生存压力、好奇心、玩耍天性,也没有动物意义上的内在动机。它们是人类数字化产物的统计模拟,由预训练、后训练、强化学习、产品反馈和经济激励所塑造。
这至关重要,因为拟人化的预期会误导我们。这些系统可能这一刻表现得惊艳绝伦,下一刻又笨得不可思议。它们不是平滑运转的人类大脑,而是锯齿状的、异质的工具。
对待它们正确的态度既非轻视,亦非盲信,而是经验主义的熟悉感:去摸清它们在何处有效、在何处失效、它们曾针对什么进行过训练,以及如何在它们周围构建防护栏(Guardrails)。
12. 教育:你可以外包思考,但不能外包理解
我们以教育作为结尾。有一句话一直在我的脑海中回响:
你可以外包你的思考(Thinking),但你不能外包你的理解(Understanding)。
即使 Agent 承担了越来越多的工作,人类依然需要具备理解力去指导它们。你需要知道什么值得构建、什么问题才是关键、什么结果令人怀疑、什么权衡是可以接受的。
这就是为什么我对“LLM 知识库”如此感兴趣——它们不仅是回答问题的机器,更是将信息转化为理解的工具。
这也与我的 tiny microGPT 项目相契合:这是一个在单个无依赖 Python 文件中实现的完整 GPT 训练与推理代码。这个教育产物足够精简,无论是人类还是 Agent 都可以进行审查。人类专家贡献精炼后的代码产物及其背后的品味,而 Agent 则可以互动式地向每一位学习者进行讲解。
大局观总结(The Big Picture)
本次对话的核心论点是:AI 正成为数字工作全新的操作系统层。
稀缺资源正在发生转移:
- 不再稀缺:代码生成、API 记忆、样板代码、初稿撰写、重复性搭建、简单的信息转换。
- 更加稀缺:理解力、审美品味、评估体系(Eval)设计、安全性、系统边界、Agent 编排、特定领域的反馈循环,以及判断模型何时脱轨的能力。
对创业者而言,最重要的思考题是:
- 当主要用户变成替人类行动的 Agent 时,会催生出什么全新的可能?
- 哪些工作流可以围绕传感器、执行器和可验证循环进行重构?
- 哪些软件应该直接消失,融入模型的直接转换之中?
- 哪些领域具备高价值与可验证性,但尚未被前沿实验室重点训练?
- 必须保留哪些人类判断在环(In-the-loop),以维护质量?
我目前的全局观并非“AI 只是让每个人在旧工作上变快”,而是工作本身正在围绕 Agent 进行重新组织。软件、研究、教育、基础设施和知识工作,都在变成同一种模式的变体:
红杉 Ascent 2026:Andrej Karpathy 对话 Stephanie Zhan
(编辑整理版。为提高可读性已做轻度润色,更正了明显的转录错误,去除了无意义助词,并补充了部分相关链接。)
引言
Konstantine:大家都很熟悉这位嘉宾,在这场 AI 革命中,他已然成为了 AI 领域的“导师”。每一场技术革命中,不仅有技术开拓者,还有导师——那位真正告知并指导这场变革将如何发生的人。安德烈(Andrej)已经成为了全世界的这位导师。
在特斯拉早期负责 Autopilot,作为 OpenAI 的联合创始人,他后来离开并创立了 Eureka Labs,深耕于“将 AI 打造为真正导师”的理念。今天我们非常高兴能邀请到 Andrej,与我们的合伙人 Stephanie Zhan 展开对话。
Stephanie:大家早上好。我们非常高兴迎来第一位特别嘉宾。他不仅参与构建了现代 AI,解释了现代 AI,偶还重新命名了现代 AI。
他参与联合创立了 OpenAI,帮助特斯拉的 Autopilot 成功落地。他拥有一种罕见的天赋,能够将最复杂的关键技术演进变得既通俗易懂,又令人觉得理所当然。
大家都知道他在去年创造了“Vibe Coding”这个词。但就在最近几个月,他抛出了一个更加令人震惊的观点:作为一名程序员,他从未感到自己如此落后。这就是我们今天的切入点。感谢 Andrej 加入我们。
Andrej:你好,很高兴来到这里,并为本次活动拉开序幕。
2025 年 12 月的 Agentic 拐点
Stephanie:几个月前,你说作为程序员,你从未感到自己如此落后。从你口中听到这句话实在令人震惊。能帮我们拆解一下吗?那种感觉是令人兴奋还是令人不安?
Andrej:兼而有之,绝对是两者都有。
和在座的许多人一样,我使用像 Claude Code、Codex 以及相关的 Agentic 工具已经有一段时间了,大概在过去一年里都在用。它们在处理大块代码时表现很好,但有时会搞砸,你必须进行人工修改。它们很有用。
但到了 12 月,我认为那是一个清晰的转折点。当时我在休假,时间比较充裕,我想很多人也差不多。我开始注意到,使用最新的模型,生成的代码块直接就能完美运行。我继续要更多代码,它们依然运行良好。我甚至想不起上一次手动纠错是什么时候了。我开始对系统给予越来越多的信任。
这确实是一个剧烈的转变。很多人在去年将 AI 体验为类似于 ChatGPT 的东西,但截至 12 月,你真的需要重新审视它了,因为事情发生了根本性的改变,尤其是在这种连贯的 Agentic 工作流中,它真的开始奏效了。
这个顿悟让我掉进了无限副业项目的“兔子洞”里。我的副业文件夹里装满了各种随机的想法,我一直在不停地写代码。这件事发生在 12 月,从那以后我一直在观察它带来的深远影响。
软件 3.0
Stephanie:你曾将 LLM 比作一种新型计算机。它不仅是更好的软件,更是全新的计算范式。软件 1.0 是显式规则;软件 2.0 是学习到的权重;软件 3.0 就是我们现在所看到的。如果这是真的,那么团队在真正相信这一点的第一天起,构建产品的方式会发生什么变化?
Andrej:软件 1.0 是编写显式代码。软件 2.0 是通过创建数据集和训练神经网络来进行编程——编程变成了编排数据集、目标函数和神经网络架构。
随后发生的是,如果你在足够庞大的任务集(隐式包含于互联网中)上训练 GPT 模型或 LLM,这些模型在某种意义上就变成了可编程的计算机。
软件 3.0 是关于通过 Prompt 进行编程。上下文窗口中的内容,就是你掌控这个解释器的杠杆,而解释器就是 LLM。它解释你的上下文,并在数字信息空间中执行计算。
几个例子让我对这一点有了极其深刻的体会。当 OpenClaw 发布时,通常你可能会期待一个 Shell 安装脚本。但为了适配许多平台和各种计算机,Shell 脚本通常会膨胀得极其复杂——你陷入了“想要编写精确代码”的软件 1.0 宇宙。
而 OpenClaw 的安装,实际上只是一段让你复制并粘贴给 Agent 的文本。这就像一个微型技能:复制它,交给你的 Agent,它就会为你安装好 OpenClaw。这更为强大,因为你是在软件 3.0 范式下工作。你不需要交代每一个细节。Agent 具备智能,它会查看你的环境,执行智能操作,并在运行循环中排查错误。
这是一种全新的思维方式。复制粘贴给 Agent 的文本是什么?这现在成为了编程范式的一部分。
另一个例子是 MenuGen。你坐在餐厅里拿到一份没有图片的菜单,不知道很多菜是什么。我想拍一张菜单的照片,看看那些菜品大概长什么样。
于是我做了一个应用:你上传照片,它对所有标题进行 OCR 识别,调用图像生成器获取图片,然后展示给你。它运行在 Vercel 上并重新渲染菜单。
后来,我看到了“软件 3.0 版本”,这震撼了我:你拍下菜单照片,提供给 Gemini,并对它说:使用 Nano Banana 将菜品渲染重叠到菜单上。它返回了一张你拍的菜单照片,但像素中直接渲染出了菜品图像。
在这个视角下,MenuGen 的所有代码都显得极其繁琐且多余。那是旧范式下的产物,那个应用根本不应该存在。在软件 3.0 范式中,神经网络承担了绝大部分工作。你的 Prompt 或上下文是图片,输出也是图片,中间根本不需要所有那些应用机械组件。
人们需要重新构建框架:不要只在现有的范式里工作,把 AI 仅仅当成对既有事物加速的工具。现在有全新的事物可以实现。
而且这不仅关乎编程变快,更关乎更广义的信息加工现在变得可自动化了。以前的代码运行在结构化数据上,你针对结构化数据编写代码。
而在我的“LLM 知识库”项目中,你让 LLM 为你的组织或你个人创建 Wiki。这不是旧意义上的程序——过去没有任何代码能够基于一堆混乱的事实直接建立知识库。但现在你可以获取文档,对其进行重新编译、重新排序,并创建出对数据的全新视角。
这些是以前不可能做到的新事物。我一再回到这一点:不仅要思考我们能把什么做得更快,更要思考以前有哪些事情是根本不可能的?那才更令人兴奋。
神经网络计算机(Neural Computers)
Stephanie:我非常喜欢 MenuGen 的演进过程。如果顺着这个思路进一步推演,2026 年相当于 90 年代建网站、2010 年代做移动 App、或是云计算时代的 SaaS 的东西会是什么?未来回头看理所当然,但如今大部分尚未被构建出来的事物是什么?
Andrej:顺着 MenuGen 的例子,很多代码其实不应该存在,神经网络应该承担绝大部分工作。
推演的结果看起来会非常奇特。你可以想象某种意义上完全由神经网络构成的计算机。想象一台设备,它将原始视频或音频输入神经网络,并利用扩散模型(Diffusion)直接渲染出专属于那一刻的 UI。
在计算机的发展早期,人们对于计算机究竟会更像计算器还是更像神经网络感到有些困惑。在 20 世纪 50 和 60 年代,走哪条路并不明显。我们最终沿着计算器的道路演进,构建了古典计算。
如今神经网络是以虚拟化的方式运行在现有计算机之上的。但你可以想象一种反转:神经网络变成了主宿主进程(Host Process),而 CPU 变成了协处理器。智能计算和神经网络计算占据了算力消耗的主导地位。
你可以想象某种非常新奇的存在,神经网络承担了绝大多数繁重的工作,并将传统工具作为执行确定性任务的历史附属物。真正掌管全局的,是以某种方式联网的神经网络。
这就是推演的终局,但我认为我们会一步一步地实现它。
可验证性与锯齿状智能
Stephanie:我想聊聊“可验证性”:即 AI 会在输出结果可被验证的领域中,以更快的速度、更容易地实现自动化。如果这个框架是正确的,哪些工作即将以超出人们想象的速度推进?哪些人们认为安全、但实际上具备高度可验证性的职业会受到冲击?
Andrej:传统计算机自动化你在代码中能够“明确规范”的事物;这一轮 LLM 则自动化你能够“验证”的事物。
当前沿实验室训练这些 LLM 时,他们是在带有验证奖励的大型强化学习环境中训练它们的。正因如此,模型不断演化,成为了“锯齿状的实体(Jagged Entities)”。它们在数学、代码及相关可验证领域的能力达到顶峰,而在不在该范围内的领域则停滞不前或粗糙不堪。
我撰文探讨可验证性,是因为我试图理解为什么这些东西如此呈现锯齿状。一部分原因在于实验室训练模型的方式,另一部分原因在于实验室关注的焦点以及他们放入数据分布中的内容。有些东西在经济价值上明显更高,所以实验室会为这些场景构建更多的环境,代码就是一个典型的例子。
可能有很多你可以想到的可验证环境,并没有被纳入其中,因为它们在经济价值上没那么直接。
过去很长一段时间里一个经典的例子是:“strawberry”这个单词里有多少个字母“r”?模型曾经在这个问题上屡屡犯错,现在已经被修复了。而较新的例子是:我想去 50 米外的洗车店洗车,我应该开车去还是步行去?最先进的模型可能会告诉你自己走过去,因为太近了。
最先进的模型怎么可能一方面能重构 10 万行的代码库,或者发现零日漏洞(Zero-day Vulnerabilities),另一方面却叫我走路去洗车呢?这就是“锯齿状”。只要模型依然保持锯齿状,就意味着你需要留在环路(Loop)中。你需要将它们视为工具,并时刻关注它们在做什么。
我关于可验证性的文章试图去理解这种模式。我认为这是“可验证”+“实验室重视”的结合。
另一个有趣的事实是国际象棋。从 GPT-3.5 到 GPT-4,人们注意到国际象棋水平提升了很多。有些人以为这只是通用能力的平滑进步。但我认为公开信息显示,有大量的国际象棋数据被加入了预训练集。因为数据分布里有了这些内容,模型的能力才获得了远超默认情况的提升。
OpenAI 的某个人决定加入那些数据,于是就有了能力爆发。这就是为什么我强调这个维度:我们在某种程度上受制于实验室的做法和他们放入混合集里的内容。你必须亲自去探索他们交付给你的模型。它没有说明书,在某些场景有效,在另一些场景无效。
如果你处于强化学习涵盖的电路(Circuits)中,你就能飞起来;如果你处于数据分布之外,你就会挣扎。你必须弄清楚你的应用处于哪些电路中。如果你不在那些电路中,你就必须考虑微调或自己做一些工作,因为 LLM 无法开箱即用。
可验证领域中的创业机会
Stephanie:如果你今天是创业者,正在解决一个可处理的、可验证的问题,但你环顾四周,发现实验室已经开始在数学和编程等显而易见的领域达到了逃逸速度(Escape Velocity),你的建议会是什么?
Andrej:可验证性使事情在当前范式下变得可处理,因为你可以向其倾注大量的强化学习。
即使实验室没有直接关注它,这一点依然成立。如果你处于一个可验证的场景中,且能够创建强化学习环境或示例,那么你完全可以进行自己的微调并从中受益。这项技术从根本上是奏效的。如果你拥有多样化的数据集或 RL 环境,使用微调框架,拉动杠杆,就能得到相当不错的结果。
我不想给出太具体的例子,但确实存在许多人们可以想到的、具有极高价值的强化学习环境,它们目前并不在前沿实验室的焦点混合集中。
Stephanie:反过来说,有哪些领域目前看起来依然只是“远观可自动化”?哪些领域或职业相对更安全?
Andrej:归根结底,几乎所有事物在某种程度上都可以变得可验证,只是有些容易,有些困难。即使是写作,你也可以想象拥有一个 LLM 裁判委员会,并获得合理的结果。
因此,这更多地取决于事情是简单还是艰难。
Vibe Coding vs. Agentic 工程
Stephanie:去年你创造了“Vibe Coding”这个词。今天我们处于一个看起来更严肃、更偏向 Agentic 工程的世界。这两者有什么区别?你会如何称呼我们今天所在的阶段?
Andrej:Vibe Coding 是关于抬高所有人在软件创作上的下限。每个人都可以凭借感觉去编码任何东西,这非常棒。
而 Agentic 工程则是关于保留专业软件的质量门槛。你不能因为使用了 Vibe Coding 就引入安全漏洞。你依然像以前一样对你的软件负全责。但是你能走得更快吗?答案是:绝对可以。问题在于如何规范地做到这一点。
我称之为 Agentic 工程,因为它是一门工程学科。你拥有 Agent,它们是锯齿状的实体,会犯错、具随机性,但极其强大。你如何协调它们在不牺牲质量门槛的前提下走得更快?
Vibe Coding 抬高了下限;Agentic 工程则是拓展上限。我认为 Agentic 工程师的能力上限非常高。人们过去常常谈论“10倍工程师”,我认为这个效应被极大地放大了。10 倍甚至都不足以涵盖人们可以获得的加速,极其擅长此道的人所能达到的巅峰要高得多。
AI 原生编程的模样
Stephanie:去年 Sam Altman 来到 Ascent 峰会时提到,不同世代的人使用 ChatGPT 的方式不同。如果你 30 多岁,你会把它当成 Google 搜索的替代品;如果你才十几岁,ChatGPT 就是你通往互联网的门户。
在编程领域有什么平行现象?如果我们观察两个人使用 OpenClaw、Claude Code 或 Codex 编程,一个是平庸的程序员,另一个是完全 AI 原生的程序员,你会如何描述他们的差异?
Andrej:关键在于充分利用现有的工具,使用它们的功能,并投资于你自己的配置(Setup)。
工程师过去一直在 Vim 或 VS Code 等工具上这么做。现在的工具变成了 Claude Code、Codex 等等。你要投资于你的配置,并利用一切可用的功能。
一个相关的思考是招聘。许多人想招聘强大的 Agentic 工程师,但大多数招聘流程并没有针对 Agentic 工程师的能力进行重构。如果你还在发一些小算法题去解决,那依然停留在旧范式中。
招聘应该看起来更像这样:给应聘者一个大型项目,观察他们如何实现它。例如,为 Agent 写一个 Twitter 仿制版,确保其质量和安全性,然后让 Agent 在上面模拟活动。接着,我会使用 10 个 Codex Agent 试图攻破你部署的网站,而他们应该无法攻破它。
在那种场景下观察人们建立更大的项目并使用工具,这更接近我会寻找的能力。
哪些人类技能变得更有价值?
Stephanie:随着 Agent 承担越来越多的工作,哪些人类技能变得更重要了,而不是更不重要?
Andrej:目前 Agent 就像实习生。你依然需要负责审美品味、判断力、大局观和监督。
我最喜欢的例子之一来自 MenuGen。你使用 Google 账号登录,但使用 Stripe 购买额度,两者都有 Email 地址。我的 Agent 试图通过将 Stripe 的 Email 地址与 Google 的 Email 地址匹配,来分配购买的额度。
但这两个 Email 可能完全不同,用户可能根本拿不到购买的额度。为什么会使用 Email 地址来跨系统关联资金?你需要的是一个持久化的用户 ID(User ID)。这就是 Agent 目前依然会犯的低级错误。
人类必须负责规范(Spec)和计划(Plan)。我甚至不太喜欢将“计划模式(Plan Mode)”作为一个单独的概念,尽管它很有用。还有一种更通用的东西:你与 Agent 一起设计详细的规范(哪怕基本上就是文档),然后让 Agent 去编写它们。你负责监督和顶层分类,Agent 完成下面的绝大部分工作。
再举个例子,关于神经网络中的张量(Tensor),在 PyTorch、NumPy、pandas 等库里有太多细节:
dim vs axis、reshape、permute、transpose、keepdim。我再也记不住这些东西了,因为我不需要记。这些细节由实习生处理,因为 Agent 记忆力极佳。但你依然需要理解底层基本概念。你需要知道底层存在张量存储,你可以操纵同一个存储的视图,或者创建不同的存储(但效率较低)。你依然需要了解足够多的知识,以避免不必要的内存复制。
因此,你负责品味、工程设计以及系统逻辑是否通顺。你提出正确的要求——例如,我们将所有内容绑定到唯一的 用户 ID。Agent 会去填补剩下的空白。
Stephanie:你认为品味和判断力随着时间的推移会变得越来越不重要,还是说上限会不断提升?
Andrej:我希望它会改善。目前它没有改善的原因,可能是因为它还没有成为强化学习的一部分。可能还没有审美奖励,或者奖励机制还不够好。
当我查看生成的代码时,有时差点心脏病发作。那并不总是优秀的代码,它可能会显得臃肿、充满复制粘贴、抽象得非常别扭且脆弱。它能运行,但很恶心。我希望未来的模型在这方面有所改进。
一个很好的例子是我的 microGPT 项目,我试图尽可能简化 LLM 的训练过程。模型讨厌这件事,它们做不到。我不断试图 Prompt LLM 去进一步简化代码,它就是做不到。你会感觉自己处于强化学习电路之外,就像在硬拔牙一样。
所以目前人类依然掌控着这一块。但我认为并没有什么根本性的障碍阻止其改进,只是实验室目前还没做而已。
幽灵,而非动物
Stephanie:我想回到锯齿状智能的话题。你写过一篇关于“动物 vs. 幽灵”的引人深思的文章:我们构建的不是动物,我们是在召唤幽灵。这些是被数据和奖励函数塑造的锯齿状智能,但它们并不具备进化塑造动物时赋予的内在动机、乐趣、好奇心或自我赋权感。
为什么这个框架很重要?它如何改变你构建、部署、评估或信任它们的方式?
Andrej:我写这篇文章是因为我试图理清这些东西究竟是什么。如果你对它们“是什么”和“不是什么”有一个良好的模型,你在使用它们时就会更加游刃有余。
我不知道这个框架是否具有直接的实用操作力,它有点偏哲学。但这是关于接受一个事实:这些东西不是动物智能。如果你对它们大吼大叫,它们不会工作得更好或更差。它们是统计模拟电路,底层是预训练,上面硬接了强化学习。
这是一种心态:我在与什么交互?什么可能会奏效,什么可能不会?我该如何修改它?我没有五个能让你的系统立刻变好的显而易见的结果,这更多的是关于对系统保持怀疑,并通过经验主义随着时间的推移去搞清楚它。
Agent 原生基础设施
Stephanie:你深入参与了与不只是聊天的 Agent 的合作。它们拥有真实的权限、本地上下文,并真正代表你采取行动。当我们都生活在那个世界里时,世界会是什么样子?
Andrej:这里的很多人可能对 Agent 原生环境的样子感到兴奋。一切都必须重写。大多数东西目前依然是根本性地为人类编写的。
当我使用框架或库时,文档依然是写给人类看的。这是我最喜欢的吐槽点:为什么人们还在告诉我该怎么做?我什么都不想做。我应该复制粘贴给 Agent 的东西是什么?
每次有人告诉我“打开这个 URL”或“点击这里”,我都想:不。行业必须将工作负载分解为针对世界的传感器与执行器。我们如何做到 Agent 原生?我们如何首先向 Agent 描述它们,并围绕对 LLM 透明的数据结构构建自动化?
我希望出现大量 Agent 优先的基础设施。在 MenuGen 中,最难的部分不是写代码,而是打通 Vercel 部署、关联服务、配置设置、DNS、身份验证、支付、密钥和生产环境设置。
我希望能向 LLM 提出 Prompt:构建 MenuGen。然后我不需要动任何东西,它就能部署在互联网上。那将是检验我们的基础设施是否正在变得 Agent 原生的极佳测试。
最终,我确实认为我们正在走向一个个人和组织都拥有 Agent 代表(Agent Representation)的世界。我的 Agent 会与你的 Agent 沟通,以敲定会议细节和其他任务。这粗略就是未来的走向。
教育与理解
Stephanie:我们必须以教育来结尾。你大概是世界上最擅长将复杂技术概念简化的人之一,而且你对教育有着深刻的思考。当智能变得廉价时,还有什么值得深入学习?
Andrej:最近有一条推文震撼了我,我一直在思考它:
你可以外包你的思考,但你不能外包你的理解。
这总结得真好。我依然是系统的一部分,信息依然必须进入我的大脑。我正在成为瓶颈——甚至在于不知道我们要构建什么、为什么值得去做,以及如何指导我的 Agent。
依然需要有某种东西去指导思考与加工,而这受限于理解力。
这就是为什么我对 LLM 知识库感到兴奋。它们是我加工信息的一种方式。每当我对信息看到不同的投影时,我都感觉自己获得了洞察。这是在固定数据上的合成数据生成。
当我阅读一篇文章时,我的 Wiki 会基于这些文章构建起来。我喜欢针对它提出问题。归根结底,这些是增强理解力的工具。理解力依然是瓶颈,因为如果你不理解,你就无法成为一名优秀的指导者(Director)。
LLM 并不完全擅长理解。你依然独自掌控着这一点。增强理解力的工具极其令人兴奋。
Stephanie:我很期待几年后再回到这里,看看我们是否已经被完全挤出环路之外,以及它们是否把“理解”这部分也一并承担了。非常感谢你,Andrej。
Andrej:谢谢大家。
Konstantine:Stephanie,Andrej,非常感谢两位。