我是在奥斯汀写这篇文章的,正赶上 CoRL 2026,这也是我第一次参加 CoRL。我还是本科生,做机器人研究的时间不长,所以这一周大部分时候都在听比我在这个领域待得久得多的人聊天。听到的东西里,很多都和 agent 有关。
11 月 9 日是主会第一天,Jim Fan 的主旨演讲里有一页讲 GPT-6 Astra,不到半小时,这一段的视频就在 X 上传开了。CoRL 今年还第一次征集 late-breaking results,两个主题之一就是 agentic robotics。
会议间隙聊天时,好几位研究者,其中也有资深的,看上去对 LLM 进入机器人领域的速度有些泄气。如果一个编程 agent 在操作任务上能打败 VLA,那么问一句过去几年的策略学习到底是为了什么、接下来还剩什么可做,并不过分。我正在决定接下来几年做什么,也一直在问自己同样的问题。
同一天,Anthropic 公布 Claude Fable 5.2 在 RoboDojo Sim 上得分 64.9%,Opus 5.5 是 39.4%,GPT-6 Astra 是 29.8%,Fable 5.1 是 27.6%。这些都是 Anthropic 自己在最高 effort 下跑的结果,公告里没说 64.9% 是成功率还是部分得分。不管是哪一种,一个没有机器人策略头的通用语言模型,现在已经排在我们这个领域为机器人控制造出来的大多数系统前面。
Anthropic 没有公布逐任务的结果,所以这篇文章大部分用的是我能找到的最接近的公开数据。Agent as Policy(AGP)把 GPT-6 Astra 放进一个编程 agent 框架里运行,公开了全部 2,100 个 RoboDojo episode,包括日志和视频。它的得分是 63.6,和 Fable 5.2 差不多。
RoboDojo Sim,42 个任务平均
我对这件事有两个反应,而且我猜哪一个都不是主流看法:
我看到的兴奋里,大多带着一种“这是凭空冒出来的”的感觉。但我觉得,从这个基准测的是什么、从机器人学本来就会做什么出发,这个结果几乎是顺理成章的。第二个反应和我上面说的那种情绪相反:做机器人学习的人把这个结果看成自己这条路的终点。操作这个方向此前已经换过好几次范式(图 2),而旧方法大多作为新系统的零件留了下来。逆运动学和运动规划熬过了向学习的转变,现在领跑 RoboDojo 的 agent 正把它们当工具调用。我预计学到的策略也会以同样的方式留下来。把第一个反应为什么成立想清楚,也能更清楚地看出还有哪些问题没解决。
机器人操作的范式,1961–2026
§1看看这个基准到底考什么
RoboDojo 有 42 个仿真任务,分五类:泛化(Generalization)、精度(Precision)、长程(Long-Horizon)、记忆(Memory)和开放(Open),每个任务 50 个 episode。任务清单比排行榜更能说明问题。举几个例子:
- 摆数字积木,让它们组成一个正确的等式(开放)
- 下井字棋(长程)
- 把积木换来换去,同时记住哪个是哪个(记忆)
- 模仿之前给你看过的一段分拣顺序(记忆)
在解等式任务里,机器人要读出数字、算出答案、决定哪块积木放哪里,然后找到这些积木并把它们挪过去。只有最后这一步真正和运动控制有关。
如今的 VLA 已经学到了很厉害的动作分布,能叠衣服,能打开没见过的抽屉。它们缺的是类似大脑的东西。VLA 把最近的观测和一条指令映射成下一段动作,这个循环里没有地方存计划、追踪隐藏状态,或者发现算错了。井字棋测的主要就是缺的这一块,所以它几乎说明不了策略的“手”好不好。
前沿 LLM 是从另一头接近这个基准的。推理、记忆和把任务拆成步骤,它本来就擅长;它需要的是把决定变成动作的办法。
需要“大脑”的任务
需要“手”的任务
§2机器人学早就有“手”了(对某些任务来说)
上过经典操作课的人很早就会学到这一点,但如果你是从模仿学习进入这个领域的,就很容易错过。
只要知道东西在三维空间里的位置,很多操作问题其实已经解决了。给定物体位姿,可以采样抓取,解手臂的逆运动学,规划一条无碰撞路径,再用反馈控制器去跟踪。这些方法很老,大多是人手设计的,但它们对不同物体、不同手臂都能用,这正是它们通用的地方。
其中一些可以追溯到很久以前。1971 年,Shakey 就在用 STRIPS 规划动作。1980 年代末,Lozano-Pérez 的 Handey 系统能根据场景的几何模型规划抓取放置动作,包括抓取本身。RRT(LaValle,1998)让高维手臂的运动规划变得实用,任务与运动规划(Kaelbling 和 Lozano-Pérez,2011,以及其他很多工作)把符号规划和几何规划连了起来。图 4 里 agent 调用的东西,大多是这些工作的后代。
它们一直缺的是一个驱动者。每来一个新任务,都得有人手写状态机:先拿哪个物体、放到哪里、怎样算完成、抓滑了怎么办。这份工程成本,是这个领域转向端到端学习的一个重要原因。
agent 把这份成本的大部分接了过去。它看场景,写一段调用感知、逆运动学和规划器的程序,运行,再看一眼,出了问题就再试。VLA 得从数据里学会失败恢复,而 agent 只要检查自己的结果,就能得到一个基础版本。
Ken Goldberg 九月在一篇题为《Goosebumps》的文章里提出了类似的观点,他把 agentic robotics 称作“机器人学两种主流文化之间的第三条路”。我先学的是学习这一派,被提醒另一派在这里做了多少事,对我很有用。
从像素到动作的两条路
看看 agent 在一个 episode 里实际做了什么,会很有帮助。AGP 公开了每个 episode 的完整事件日志。模型的内部推理是加密的,但它写下的消息和每一次工具调用都在。下面是解等式任务的第 0 号布局,它用 12 次工具调用完成了任务。
一个 episode,逐次调用
- 1消息“缺的运算符是除号:8 ÷ 2 = 4。我会把除号竖着放到空的底座上,其他积木不动,然后两只手臂回到初始位置。”
- 2measure顶部相机像素 (400, 320) → 三维点 (0.177, 0.151, 0.008) m,占地 44 × 28 mm,朝向 −48.5°;对 (283, 204) 处的空底座做同样的测量
- 3run先后退,再执行
R ee g+0,0,.045 down130.79 plan:用规划器移到积木上方 → 到达,误差 0.1 mm - 4run下降到接触,闭合,抬起 → 服务器确认:尝试了抓取,物体跟着走
- 5run重新测量底座,把积木搬到它上方
- 6消息“除号已经拿在空底座上方了。放下松手之前,我先检查一下它的位置。”
- 7measure ×3从顶部相机和腕部相机找到手里的积木 → 腕部深度匹配不确定(3.6 cm),于是它根据手指夹持的位置自己估了一个高度,7.8 cm
- 8run慢慢放下,张开,后退,两只手臂回到初始位置 → 成功
agent 从来不输出关节指令。它用一句话决定要做什么,之后的一切都交给工具:把像素变成三维点,或者规划一条到某个位姿的路径。在松手之前,也就是唯一无法撤回的那一步,它又测了一遍,并绕开了一个它不信任的深度估计。整个数据集都是这样:2,100 个 episode 里大约有 21,000 次 measure 和 47,500 次 run 调用,大约每五次就有一次报告了需要 agent 处理的失败。在 260 个 episode 里,它还通过自己写的 JavaScript 发出了其中约 5,200 次调用;日志保留了这些调用,但没有保留脚本本身。
关于这套设置,有一点要记住:AGP 的提示词里每个任务还带了几条人写的提示,比如拿螺母之前夹爪该张多大。一些人类的任务知识仍然在回路里,只不过是用文字而不是代码写的。
§3为什么是现在?
这个架构也不新。前沿模型越来越强,机器人领域交给它的部分也越来越多(图 6):先是在单独训练好的技能之间做选择,然后是写调用感知和控制的程序,再到对着一个评分自己改进整个机器人系统,最近则是直接输出动作。SayCan、Code as Policies 和 VoxPoser 在 2022 和 2023 年就在简短的桌面任务上证明了这个思路可行,用的模型比今天弱得多。工具有几十年历史,架构也有四年了,那么变化只能出在模型这一侧。
agent 范式内部:LLM 被交给了什么
我会指出四件差不多同时变好的事。
- 编程。用这种方式驱动机器人,意味着要在很多步里写真正的程序、调试它,早先的模型撑不了多久。
- 空间视觉。模型要把杯子定位到坐标,精度要够逆运动学用,这比认出杯子难得多。
- 推理预算。几百个机器人动作,即使压缩成代码,也需要大量思考,而现在的模型能花这么多思考而不跑偏。
- 自我改进。一次尝试失败后,agent 能看到结果、找出哪里出了错,并在测试时修改代码。对学到的策略来说,从这种失败中学习意味着收集恢复示教再重新训练;在这里只是改一处代码,而且修正会带到下一次尝试。给它一个价值函数,同样的循环可以在没有人参与的情况下自己跑。ENPIRE 就是这样在灵巧任务上做到 99% 的,每一轮之后都由 agent 改写训练代码(图 6)。
我不知道这里面有多少来自通用的预训练。各家实验室没说用什么数据训练,An Unexpected Robot Policy 的作者也指出,对一个闭源权重的模型,无法排除它见过和基准相关的材料。无论如何,几种不同的能力得差不多同时到位,这也是这次跃升看起来如此突然的部分原因。
§4它在哪里失败
下面是 AGP 这 63.6 分按类别的拆分。成功指完整完成任务;部分得分是排行榜上报的那个数。
| 类别 | 成功率 | 部分得分 |
|---|---|---|
| 记忆 | 91.0% | 92.2 |
| 开放 | 62.3% | 65.8 |
| 泛化 | 54.7% | 59.8 |
| 精度 | 44.0% | 50.9 |
| 长程 | 28.8% | 49.5 |
| 平均 | 56.1% | 63.6 |
框架和模型差不多一样重要。同一个 GPT-6 Astra 在 Anthropic 的评测里是 29.8%,在 An Unexpected Robot Policy 里是 29.0(成功率 22.5%),后者由它自己选末端目标,规划器只负责执行。有了 measure 和多步 run,分数翻了一倍还多。所以下面这些失败,主要是工具做不到的地方。
每个 RoboDojo 任务,GPT-6 Astra + AGP
记忆类 91% 在意料之中。精度类 44% 更让人意外,因为对一个没有训练过操作策略的系统来说,这已经很高了。逐个任务的数字能说明原因。
这 44% 是把接近 90% 的任务和接近零的任务平均出来的。敲木琴键需要在自由空间里精确定位;agent 一旦找到琴键,直接移过去就行。插钥匙需要在接触中保持精度。位姿上的小误差会让它卡住,而修正这些误差需要 agent 没有的快速力反馈。销钉入孔问题至少从 1982 年 Whitney 关于柔顺装配的工作就开始研究了,当时通常的办法是用一个在接触时能稍微让一让的手腕。编程 agent 和规划器都没有内置这种东西。
任务定义让这个差别更具体。拧螺丝是 agent 唯一做得好的“手”类任务,结果它其实更接近敲木琴。仿真器里的“螺丝”是六角螺母,要在 1 mm 以内套到立柱上,而且不检查有没有拧,所以归根结底是精确放置。插钥匙则要求钥匙竖直、偏差在 7° 以内,推进锁里 2.5 cm,然后再转动。
这让我觉得,我一开始用的“大脑还是手”的划分有点太粗了。更有用的区分也许是:
- 几何主导的操作:只要物体能定位、动作能规划,agent 加经典工具通常就能搞定。
- 接触主导的操作:紧配合插入、手内灵巧操作、可变形物体,以及其他依赖图像里看不见的力的任务。对这些,agent 没有好的工具可调用。
最弱的长程类只有 28.8%,也以同样的方式分成两半(把图 8 切到“长程”)。如果一个任务长是因为需要思考,比如按类别分拣物体或者下棋,agent 做得不错。如果一个任务长是因为同一个精细放置要重复很多次,比如把鸡蛋放进蛋托,或者把零件套到叠叠乐的立柱上,任何一处失手就整个 episode 失败,agent 就会失败。在一个装鸡蛋托的 episode 里,它用掉了 700 次允许动作中的 682 次,仍然没做完。计划看起来没问题,错误出在不断累积的小操作失误上。
以上全是仿真,真机上的证据要少得多。An Unexpected Robot Policy 的作者在 GPT-6 Astra 多次发出不安全的动作、其中一些损坏了硬件之后,停止了真机试验;按他们的理解,Astra 理解任务比安全地执行任务更可靠。Goldberg 的组把模型放在控制回路之外,效果更好。Astra 根据一段短视频为擦海绵任务搭了一个仿真,在里面调好了控制器,导出的代码在他们的真机上跑通了,不过有一次试验把金属杆碰倒了,因为它的质量没法从视频里推断出来。两种情况下,理解都比接触更容易迁移到硬件上。
§5够快吗?
接触是一个缺口,时间是另一个,也是我听到最多的反对意见。AGP 日志记录了 300.6 小时的墙钟时间,对应 14.3 小时的仿真机器人动作,平均每个 episode 约 8.6 分钟。这 300 小时里,有 208 小时花在工具调用之外,也就是模型推理和 agent 运行时;仿真、渲染和运动规划加起来是 93 小时。
2,100 个 episode 的时间花在哪里(GPT-6 Astra + AGP)
按每个 episode 算,大约是 6 分钟的 agent 时间对 24.5 秒的机器人动作。agent 的工具调用次数中位数是 31,每次调用都要重读一遍越来越长的上下文(每个 episode 145 万输入 token,96% 命中缓存),再写出几百个 token,一个 episode 总共约 5,900 个输出 token。我看到三个能把时间降下来的地方。
- 更快的硬件。在 Artificial Analysis 上,Cerebras 跑 gpt-oss-120B 已经超过每秒 1,700 token,而最快的前沿级模型只有几百。我按每年 1.5–2 倍算。
- 更小的模型。按密度定律,达到固定基准分数所需的参数量大约每 3.5 个月减半。解码速度不会同比例提升,常规调用可以交给小模型、意外情况留给大模型,所以我按 1.5–3 倍算。
- 更少的输出 token。在 Goldberg 文章的一个脚注里,Jay Chooi 报告说,在一个机器人控制任务上 Astra 以 95% 对 40% 胜过 Fable 5.1,输出 token 少 6.2 倍。我按每年 1.5–2.5 倍算。
三者相乘,每年是 3.4 到 15 倍。把 6 分钟降到 24.5 秒需要约 14 倍,落在 2027 年底到 2029 年初之间。这只算了 agent 那一份;每个 episode 在工具里花的 2.6 分钟需要各自提速。
每个 episode 的 agent 时间,外推
即便到了那时,仍有一些推理留在关键路径上,因为恢复就意味着要看结果、再决定怎么办。机器人学对此早有答案。Brooks 在 1986 年主张用不等规划器的快速反应层,之后的三层架构(Gat,1998)把一个慢的审议层放在技能调度层和快速控制器之上。agent 正好放在最上面这一层:技能执行时它并行思考,出岔子时再介入。
LLM 最终会不会也变成 System 1,也就是负责灵巧控制的快速层?我觉得不会。通用模型一旦跨过某一层的延迟门槛,就会接管那一层,我预计这会先发生在中间层,也就是 VLA 今天以每秒几次的频率做出的抓放决策。要以几百赫兹闭合接触回路,需要的提速比上面的 14 倍还要多上千倍,而同样的提速也会让小的机器人模型变快。何况缺的也不是速度。agent 在每个 RoboDojo 任务上都一样慢,但交换积木是 96%,插钥匙是 0%,因为知道钥匙该插到哪,不等于知道怎么凭手感把它插进去。这种知识来自接触数据,而网上的文字和视频里这类数据很少。所以 System 1 仍会是一个单独的、更小的模型,又回到了 §4 的结论。可能会变的是谁来造它:agent 可以搭仿真器、采集数据,再训练出它以后要调用的策略。
§6这是苦涩的教训吗?
Fable 5.2 发布当天,Anthropic 的 Alex Albert 发帖说:“robotics will fall to the bitter lesson too.” 我觉得他说得对,只是可能和机器人圈通常的理解不太一样。Sutton 的论点是,随算力扩展的通用方法,主要是搜索和学习,最终会胜过建立在人类手工知识上的方法。这是关于方法的论断,并没有专门说 LLM,也没有专门说端到端训练。
在机器人领域,它通常被读成支持端到端学习的论证:更多示教数据、更大的 VLA,最终也会学会推理。在这个基准上,这并没有发生。在开放类里,也就是包含解等式和语言条件任务的那一类,RoboDojo 排行榜上没有任何学习型策略超过 25 分,而排名前六的 agent 在 49 到 78 之间。起作用的是一个调用逆运动学和运动规划器的模型,正是端到端观点原本认为我们该抛弃的那些手工组件。
按 Sutton 的原意读,这个结果是吻合的。写程序、在测试时对程序做搜索,本身就是一种随算力扩展的通用方法,规划器只是它外面的工具。就算机器人学真的被苦涩的教训拿下,逆运动学可能也还在回路里。更有意思的问题是,算力最好花在哪里:策略训练、测试时推理、规划,还是部署中的学习。
§7为什么这是好消息
高层推理正在变成可以从 API 拿到的东西。这去掉了一类问题,而这些问题本来就不是靠收集遥操作数据能解决好的,比如算术、记忆、任务分解,以及知道充电器是干什么用的。
留给我们的,主要是操作的物理部分,再加上让这一切足够便宜、足够快、真正能用的问题。Moravec 在 1988 年指出,我们认为聪明的那些能力,比如算术和下棋,在计算上是容易的,而感知和运动技能才是难的。RoboDojo 看上去就是将近四十年后的同一个观察:agent 解出了等式,然后在插钥匙上卡住了。
还有一个更实际的乐观理由:agent 开始做机器人研究里慢的那部分了。Goldberg 文章里那个擦海绵仿真,Astra 根据一段短视频不到一小时就搭好了,海绵形变也包括在内。在今年 CoRL 的 late-breaking 论文之一 Flip Anything 里,一个编程 agent 通过自己的迭代,把仿真中翻转物体的成功率从 24.7% 提到了 95.0%。搭仿真器、调控制器、跑消融实验,占了机器人方向学生很大一部分时间,而这三件事都在变便宜。
学到的策略也不会因此变得无关紧要。RoboDojo agent 赛道上有两个参赛方案,包括排名第二的那个,把 agent 和学习模型配在一起:GO-3 Nano Preview 配了一个世界动作模型,PhysicalRSI 配了一个 VLA。整个排行榜上插钥匙的最高分 48.4,属于 PhysicalRSI。Goldberg 设想的技能库里也可以包含 VLA 策略。一个可靠的接触丰富型技能,正是 agent 想调用的那种工具,所以策略学习现在多了一种新用户。
§8还有哪些开放问题
把前面几节放在一起,我认为下面这些问题挡在今天的 agent 和通用机器人之间。更好的语言模型对其中一些有帮助,但没有一个会自己消失。
- 01灵巧与接触
插入、手内操作、布料、颗粒物,以及扔这样的动态技能,都依赖相机看不到的力和状态。agent 知道应该发生什么,却没有能让它发生的工具。力觉和触觉感知、柔顺控制和学到的接触技能,正是它想调用的东西。
- 02速度与反应
光是追上机器人动作的时间,agent 就要快约 14 倍,而接触控制需要毫秒级的反应。这需要一个慢的审议层架在快速策略之上,也需要办法把 agent 想明白的东西编译成不依赖它运行的小策略。
- 03部署中的改进
一个在工作中变好的机器人,需要真实世界里的成功信号、失败后能重置的办法,以及安全的探索。长任务要求每一步几乎每次都成功,所以失败要能被发现、被恢复,而 agent 学到的东西要能带到下一个任务,而不是只留在一次会话里。
- 04仿真到真机与安全
agent 现在能自己搭仿真器,但质量、摩擦和刚度很难从视频里推断出来;一个理解了任务的 agent 仍然可能发出损坏硬件的动作。安全约束必须放在 agent 下面,让错误的计划没法绕过它。
- 05跨本体迁移
逆运动学、规划器和技能仍然是一台机器人一台机器人地写,灵巧手和人形机器人的工具链也很薄。agent 框架也许换一套工具就能搬到新机器人上,但底下学到的技能搬不过去。
- 06评测
这篇文章里几乎所有证据都来自仿真,不同报告的分数没法直接比较,闭源模型也可能见过基准相关的材料。机器人学需要更便宜的真机评测,以及能把推理和物理技能分开测的基准。
我来奥斯汀时,问的和会议间隙聊过的那些人是同一个问题:还有没有留给我做的事。会议快结束了,我相当确定是有的。卡住的钥匙、滑掉的鸡蛋,在 Astra 之前就难,现在仍然难;而在这些任务上失败的 agent,现在可以帮忙搭建解决它们所需的仿真器和控制器。