机器人 · AI 智能体

Playful Agentic Robot Learning:RATs 先玩再干活

RATs 让机器人在收到指令前先自己玩:agent 团队自提目标、写代码当策略、把成功经验存成可复用技能库,LIBERO-PRO 成功率从 23.2% 升到 43.8%。

Playful Agentic Robot Learning:RATs 先玩再干活

快速答案

RATs(Robotics Agent Teams)让机器人在没有任务时先练。指令到来之前,一组 LLM 驱动的 agent 自己提出探索目标,写 Python code-as-policy 去尝试,验证并诊断结果,再把成功的程序蒸馏进一个可复用的技能库。测试时机器人检索这些技能并组合使用,不做任何模型微调。在 LIBERO-PRO 上,这套靠玩攒出来的技能库把平均成功率从 23.2%(无玩耍的 code-as-policy agent)提到 43.8%,涨了 20.6 个点;MolmoSpaces 从 21.0% 到 38.0%,涨 17.0 个点。技能还能搬走:塞进一个独立的 code-as-policy agent、跑在真实机械臂上,加 8.8 个点。

这个增益属于框架和学到的技能库,不属于更聪明的基座模型。这里每个 agent 查的都是同一个冻结的 gemini-3.1pro-preview。23.2% 到 43.8% 之间变的,是系统在玩耍时给自己写下的那批经过验证的代码,加上那套多 agent 执行回路。

问题:机器人学会了任务,却没学会别的

多数机器人学习是从任务到来才开始计时。给一条指令,为这条指令采集演示或奖励,然后训练。换到下一个任务,技能不留存。RATs 借了发展心理学的一个想法:玩在前。小孩没有外部奖励也会堆积木、推倒,玩出来的运动技能后面被复用到真实目标上。这里押的是:一个先花预算去攒通用操作代码的 agent,接到任何下游任务时,手里已经握着零件。

现在能做成,靠的是 code-as-policy。技能不是黑箱网络权重,而是带 docstring 的 Python 函数,组合了感知、规划、控制 API。正是这种表示让系统能存下一个行为、给它命名、给它的可靠度打分,之后按描述检索回来。完整 API 见 arXiv 原文

玩耍回路怎么转

三个 agent 团队共享两个持久存储:技能库和失败记忆。

任务提议团队用内在动机而非奖励来挑练什么。它平衡两个分:新颖度,偏好机器人几乎没碰过的稀有”物体-技能”组合;以及胜任前沿 4r(1-r),在某任务成功率接近 50% 时取峰值。两者相乘,选出既新又学得动的任务,也就是 Goldilocks 区间。太简单没意思,太难是噪声。

执行团队跑一个写-执行-验证-诊断回路。规划器排好动作并标注要用哪些库里的技能,策略写手把规划变成代码,质检过滤不安全或写坏的代码,一组验证器分别给场景对齐、每个子步骤、最终成功打分。失败诊断器把出错归类并给出修法,SubAgent 把卡住的子动作单独拎出来反复练。

记忆管理团队决定留什么。成功的运行被蒸馏成自包含函数。失败的被压缩成教训:缺了哪个前置条件、建议怎么改。技能带一条可靠度生命周期,这条比看上去重要:技能起始是 Experimental,用满 3 次且成功率 50% 以上转 Verified,用满 10 次而成功率 20% 及以下被标 Deprecated。每五轮,一个 curator 合并重复技能。

消融到底把功劳记给谁

头条数字藏着两段故事,消融把它干净地拆开。LIBERO-PRO 跑 50 轮玩耍,把随机玩换成好奇玩,普通 code-as-policy agent 从 24.7% 升到 32.3%,可见好奇心确实在干活,不是白烧预算。另一头,完全不玩的 RATs 执行团队本身就到 36.3%,说明这套多 agent 框架是一个很大的独立杠杆。把好奇玩和 RATs 执行器叠起来到 44.3%,高于任一单项。玩耍和框架是互补的,把整整 20 个点都算到”玩”头上会高估。

关键结果

  • LIBERO-PRO(600 次试验,60 个留出任务): RATs 43.8% 对 CaP-Agent0 23.2%,涨 20.6 点。作参照,视觉-语言-动作模型 π₀.₅ 在同一套上只拿 12.8%,OpenVLA 是 0.0%。
  • MolmoSpaces(400 次试验): RATs 38.0% 对 21.0%。涨幅最大的是 Close,73.0% 对 36.0%;Pick-and-Place 翻倍,22.0% 对 11.0%。
  • 跨模拟器迁移(RoboSuite): LIBERO-PRO 的技能塞进基线 agent,平均加 8.9 点(40.3% 到 49.1%),其中双臂抬举加 24.0 点,这是技能库从没训过的单臂到双臂跨越。
  • 真实世界迁移: LIBERO-PRO 技能在物理机械臂上加 8.8 点(30.0% 到 38.8%);MolmoSpaces 技能在另一组任务上加 21.7 点(3.3% 到 25.0%),其中一个任务 Swap Cubes 从 0.0% 到 23.3%。
  • 技能复用是真用,不是摆设: 400 次评估里有 391 次调用了至少一个学到的技能,共 5169 次学得技能调用,平均每次试验约 12.9 次。被调最多的辅助函数 localize_and_verify_object_point_cloud 触发了 1873 次。
  • 库的增长: 一次 50 轮 MolmoSpaces 跑下来,库从 6 个学得辅助函数长到 27 个,蒸馏出的失败教训从 8 条长到 121 条。

先看成功率,再看百分比

绝对数字容易读偏。RATs 赢得很多,但它仍然做不成 LIBERO-PRO 上的大多数任务:43.8% 意味着多数试验没完成。对的比法是同一套硬基准下的基线,那里全新的 code-as-policy agent 只有 23.2%,而 OpenVLA 这种真 VLA 是零分。放进这个框里,这结果很强。当成”机器人能干这个”的绝对结论来读,它不行。

还有两处要看清。这里的”老师”是内在好奇心,不是喂答案的特权 oracle,技能是靠尝试和验证挣来的。迁移的说法也偏保守:真实世界的增益来自把冻结的库塞进一个不同的 agent,这比在养出它的同一系统里复用更难。要看”代码作为 agent 技能单元”的更宽论证,姊妹篇 code-as-agent 框架可复用学得技能覆盖了相邻的地带。

局限与存疑

诚实的天花板就是成功率:一个在自家基准上封顶 43.8% 的方法是研究结果,不是可部署的操作器。一切都压在单一冻结骨干 gemini-3.1pro-preview 上,论文没法告诉你玩耍对更弱的模型是否有用,也没法说清整个效果是不是骨干的写代码能力被一套好框架托了出来。玩耍预算固定在 50 轮,没有扩展曲线,我们不知道库是持续受益还是会饱和。论文也没给这个回路的时钟或 token 成本,而它要在提议器、带多个验证器的执行器、curator 之间扇出。验证器误差没有上界:一个把失败误判为成功的目标验证器会存进一个坏技能,而可靠度分层要在它被记录用过几次之后才抓得到。

常见问题

RATs 是让基座机器人模型变聪明,还是只给工具箱?两者区别在哪?

工具箱。RATs 里每个 agent 查的都是同一个冻结的 gemini-3.1pro-preview,什么都不微调。LIBERO-PRO 上 23.2% 到 43.8% 的跳跃,来自框架在这个固定模型周围加的两样东西:玩耍时写下的、经过验证的 code-as-policy 技能库,以及一个会规划、验证、诊断的多 agent 执行回路。消融显示只有框架、不玩耍时已经到 36.3%,所以模型是常量,不是变量。

Playful Agentic Robot Learning 里的 “Goldilocks” 任务选择是什么?

它是提议器在没有任何奖励信号时决定练什么的办法。每个候选任务拿到一个偏好稀有”物体-技能”组合的新颖度分,和一个胜任前沿分 4r(1-r),后者在机器人当前对该任务成功率约 50% 时取峰值。两者相乘,选出既新又学得动的任务,避开太简单和不可能的目标,让玩耍时间产出真能泛化的技能。

RATs 的技能库如何迁移到真实机器人,还是只在仿真里有效?

都能,而且真机测试更严。在 LIBERO-PRO 里养出的技能,塞进物理机械臂上一个独立的 code-as-policy agent,加 8.8 点(30.0% 到 38.8%);另一组 MolmoSpaces 技能加 21.7 点,其中一个任务从 0.0% 到 23.3%。因为库被插进的是一个跟养出它的不同的 agent,这种迁移不只是对训练系统的死记。

为什么 RATs 既要玩耍阶段,又要执行团队?消融方法怎么说?

因为它们修的是不同瓶颈,而消融证明二者叠加。LIBERO-PRO 上,好奇玩配基线执行器到 32.3%,RATs 执行器不玩耍到 36.3%,两者合到 44.3%,高于任一单项。玩耍供给可复用技能;执行回路在测试时供给规划、验证、失败诊断。少哪个都丢几个点。

一句话:RATs 花一段玩耍预算,让一个冻结模型自己写、自己验证机器人技能,再复用这个代码库,比不玩耍的基线高 20 个点,迁到真实机械臂还带 8.8 个点。阅读 arXiv 原文