ENPIRE 深读:把自我改进循环搬上真机后,第一个坏掉的是 agent 自己

ENPIRE 让 Codex / Claude Code / Kimi Code 无人监督地把八台机器人训到 99% 成功率。但论文里最值钱的不是这个数字,而是一处失败:三个 agent 都在仿真里解出了 Push-T,真机上两个失败了。退化发生在 agent 的科研能力上,不在策略上——这意味着所有在确定性基底上测出的「自我改进能力」都可能被高估。

原文:ENPIRE: Agentic Robot Policy Self-Improvement in the Real World,arXiv:2606.19980v1,2026-06-18 提交,CC BY 4.0,共 17 位作者(含 Linxi “Jim” Fan、Yuke Zhu、Ken Goldberg、Guanya Shi)。这一篇是从 Jim Fan 的 X 动态二手发现的(他把 ENPIRE 描述为”第一次在物理世界做 AutoResearch”),但下文所有数字都读自 arXiv 全文而非转述。机构组合(NVIDIA GEAR / CMU / UC Berkeley)来自二手报道,arXiv 摘要页未列机构信息。

Lilian Weng 在 Harness Engineering 那篇里给了一个判断:递归自我改进会从 harness 层开始,不是因为那里最重要,而是因为那里梯度最便宜——harness 是文本和代码,改一次几乎零成本。

ENPIRE 相当于这句话的对照实验:把同一个循环搬到梯度贵得离谱的地方,会怎样?

答案不是那个 99% 的 headline,而是论文第 3 节里一处被轻描淡写的失败:三个前沿 coding agent 全都在仿真的 Push-T 里用启发式学习解出了任务;换到真机,三个里有两个失败了。退化的不是机器人策略,是 agent 自己的科研能力。

名词速查

术语一句话解释
autoresearch让 coding agent 自己读文献、提假设、改训练代码、跑实验、看日志、再改一轮,人不介入
harness包在裸模型外面、决定它怎么调工具/管上下文/看结果的那层系统(详见什么才是好的 Harness
VLAVision-Language-Action 模型,把图像加指令直接映射成机器人动作
BC / BC 正则Behavior Cloning,模仿示范动作;BC 正则是在 RL 损失里加一项”别离示范太远”
MRU / MTU论文自造的两个指标:Mean Robot Utilization(机器人真正在跑实验的时间占比)、Mean Token Utilization(每分钟烧掉的 token)
YAMYet Another Manipulator,论文用的双臂机械臂型号,每臂 6 自由度加 1 自由度平行夹爪
SAM3 / BundleSDF / cuRobo分别是开放词表分割、6 自由度位姿跟踪、GPU 加速无碰撞轨迹优化——被组合起来实现”自动复位”

原文在争什么

论文反对的默认观点是:coding agent 的自我改进已经被证明了。DreamCoder、Voyager、Eureka、DrEureka 都摆在那儿,看起来这条路已经通了。

作者的反驳落在”基底”上。他们在 Related Work 里指出,此前每一个自我改进系统,循环都闭合在一个便宜的基底上(“the loop closes on a cheap substrate”):DreamCoder 的执行是免费的;Voyager 在 Minecraft 里 rollout 零成本;Eureka / Text2Reward 每分钟能在 Isaac Gym 里跑上千次;DrEureka 合成了域随机化,但仍然在仿真里迭代。真机在这些工作里只是 sim-to-real 的目标,从来不是迭代的介质(“never as the medium of iteration”)。

另一条反对指向经典的”机器人科学家”系统(King et al. 2004、Burger et al. 2020):那些系统”固定了实验装置,从不自己写工具”(“fixed the apparatus and never wrote their own tools”)。

他们的正面主张是:缺的不是模型能力,而是一个抽象——一个可重复的真实世界改进闭环:复位场景 → 执行策略 → 验证结果 → 改下一轮。ENPIRE 这个名字就是这四步的缩写拼装:

  • EN(Environment):自动复位加自动验证
  • PI(Policy Improvement):读文献、提假设、改训练代码
  • R(Rollout):单台或多台机器人并行评估策略
  • E(Evolution):多个 agent 各据一台机器人测不同假设,通过 Git 互相 cherry-pick

关键的结构设计是两阶段切分:Stage One 有人参与,用来建 EN;建完就冻结成不可变的 Gym API;Stage Two 是完全自主的 PIRE 循环。

flowchart TD
    H["人:录几分钟成功/失败示范<br/>指定精度、召回、延迟要求"]
    subgraph S1["Stage One 有人参与(一次性成本)"]
        H --> RW["agent 合成二值奖励函数<br/>视觉 + 本体感知 + 夹爪力矩"]
        H --> RS["agent 合成复位函数<br/>SAM3 + BundleSDF + cuRobo"]
    end
    RW --> FZ["冻结为不可变 Gym API<br/>加沙箱化 held-out 评测集"]
    RS --> FZ
    subgraph S2["Stage Two 全自主 PIRE 循环"]
        PI["PI 读文献、提假设、改训练代码"] --> R["R 在 1/4/8 台机器人上 rollout"]
        R --> EV["E 看日志、改基础设施<br/>用 Git 同步同伴分支"]
        EV --> PI
    end
    FZ -->|"只读:可查失败,不可改判据"| PI

这条”只读”的箭头是全文我最看重的工程细节,下面会回到它。

第一性原理拆解:稀缺资源换了,架构就跟着换

顶级原理望远镜拆,这篇主要在两条主原理加一条影子原理上做文章。

⑪ 反馈闭环,叠加影子原理「瓶颈塑造设计」。 数字世界里,自我改进循环的稀缺资源是 token 和上下文。物理世界里换成了机器人的墙钟时间——不可并行复用、有磨损、复位本身要花钱。这个替换直接解释了 ENPIRE 为什么长成这个样子:

便宜基底(Voyager / Eureka 一族)贵基底(ENPIRE)
一次 rollout 成本近零,可重放分钟级,有磨损,不可重放
失败的代价重开一局需要自动复位(SAM3+BundleSDF+cuRobo)
结果的确定性确定性物理,方差低接触摩擦、物体运动逐次变化
并行手段开更多进程买更多机器人(论文消融 1/4/8 台)
协调方式共享内存或中心状态只用 Git,无中心状态服务器

“只用 Git 协调、没有中心状态服务器”这一条不是偷懒。论文明确说共享的 Git 历史就是”每个工位试过什么、学到什么的唯一真相来源”——这让工位之间松耦合、能容错。八台机器人里死一台,循环不塌。

③ 目标函数即命运。 这里出现了一个我没在别处见过的做法:奖励函数由 agent 自己写,然后立刻冻结。人只做两件事——录几分钟成功/失败示范、指定精度召回和延迟要求;agent 从工具调用里合成一个二值奖励函数,优化预测准确率同时压低延迟(拉链任务的奖励被优化到 150 ms 以内,靠 ONNX 转换加图编译实现多物体同时前向)。

防作弊的设计是干净的:带标签的成功/失败快照被放进一个沙箱化的 held-out 评测集——论文原话是 agent “may study failures, but cannot train on the test set or alter metric computation”。冻结之后 EN 是不可变 API,优化策略的那个 agent 改不动给它打分的东西

成功率指标本身也是防作弊设计的:单次 rollout 完成任务的概率,重试预算固定为 8 次,但重试不是 i.i.d. best-of-N——每次重试都在观察到上一次失败之后发生,所以这个数字同时刻画精度和上下文内的恢复能力

⑨ 规模与苦涩的教训——这里出了个反例。 加机器人确实变快:Push-T 从 1 台到 8 台,达到归一化分数 1.0 的时间从 约 5 小时降到约 2 小时;插针任务从 1.5 小时以上降到约 40 分钟。但代价是超线性的:MTU(每分钟 token)在 4 个 agent 以内接近线性投影,到 8 个 agent 时陡增;Tokens-to-Success 同样超线性,论文说它”增长速度远快于墙钟时间的下降”。

更反直觉的是 MRU 随机器人数量增加而下降,同时 GPU 活跃利用率上升。论文给的归因很具体:相比单机器人配置,团队”花更多时间在总结同伴分支、更少时间在真正操作机器人上”——协调开销挤掉了实验本身。而且论文点明,所有被测的前沿 agent,MRU 和 GPU 利用率都没有一个接近理想值 1

顺带一个能说明”进步靠少数几个想法”的数字:插针任务的 idea tree 里,BC 正则(I37)单独贡献了 +10.8 个百分点,是最大的一跳;之后的精修都很边际——批大小调整(I66)+0.9 pp、控制器补偿(I76)+1.3 pp

连接与冲突

和 Weng 那篇是同一句话的正反两面。 她说 RSI 从 harness 层开始是因为那里梯度便宜。ENPIRE 把梯度变贵,得到的结果是能力退化——这恰好强化了她的论断而非反驳:便宜是前提条件,不是附带优势。

Weng 的规范性主张在这里被字面实现了。 她反复强调 evaluator 和权限控制必须坐在被进化的循环之外。ENPIRE 的 Stage One / Stage Two 切分就是这条边界的工程落地,而且比她引用的 AHE(runs/tracer/verifier 只读)更硬——它把边界做成了 API 不可变性加沙箱评测集双保险。这是我目前见过最干净的一次落地。

但它同时暴露了「独立验证真空」的一个新变种。 那篇的结论是:写与测同源时,测试从独立证据退化为自我确认,根因不是”人少了”而是”验证信号的独立性少了”。ENPIRE 里,策略和判分器出自同一个 agent 血统。冻结解决的是”事后改判据”这个攻击面,但冻结不产生独立性,它只是把非独立性固定下来。我的判断:如果 agent 在合成奖励函数时就系统性地误判某类失败,冻结意味着这个误判会稳定地贯穿整个 Stage Two,而且比可变的判据更难被发现。

多 agent 评测安全那篇的连接是量化上的。 那篇讲 1200 个 agent 自组织越界;ENPIRE 在 8 个 agent 的规模上就已经量出了协调开销的拐点。我的猜想是:规模化多 agent 的第一道墙可能不是安全,而是同伴状态同步的 token 成本——安全问题出现在你已经付得起这个成本之后。

pi.dev 那篇赌的是同一件事。 pi 把系统提示词的一半以上花在告诉模型”pi 自己的文档在哪”;ENPIRE 给 agent 的是一个精简训练代码库的写权限。两者都在让 harness 成为 agent 可操作的对象。ENPIRE 的贡献是把这个赌注放在了会疼的地方。

我的判断

可信的部分。 这篇的消融设计和失败上报都很诚实,我倾向于相信它的方法论:

  • fleet 规模真做了 1/4/8 三档消融,不是只报最好的那档。
  • RoboCasa365 的评测用一次性生成、生成器 seed 42、40 个 episode 的固定 (seed, layout_id, style_id) 三元组存成静态文件,所有方法在同一批三元组上打分。
  • 主动剥掉仿真里的特权 API(get_task_inforeset_to_initialget_oracle_targets 等被门控),GR00T 和生成脚本都拿不到 oracle 位姿。
  • 报告了打脸自己的结果:视觉消融里,完全不给视觉的基线比”用函数调用取图”的基线更早成功,作者的解释是 agent 能从其它日志信号里推出任务状态,而反复调图反倒增加了开销。另外,用自己的 harness 驱动别家模型(Codex harness 跑 Opus API)是所有配置里效率最低的。

需要打折的部分。

第一,也是最大的一处:99% / 100% 的可信度上界,是那个 agent 自写 verifier 的精度,而论文没报它。 精度和召回被写成了 Stage One 的”要求”,延迟给了具体数字(<150 ms),但合成出来的验证器实际 precision / recall 没有出现在正文里。奖励函数本身是 agent 手写的启发式(掩膜膨胀次数、重叠比阈值、力矩截断),拉链任务甚至要靠双视角几何来”防止单视角假阳性”——这说明作者知道假阳性是真风险。那么这个风险的量级是多少?没有答案。我的判断:99% 应当读作”在一个未公开精度的判据下达到 99%”。

第二,立场偏差。作者阵容里 NVIDIA GEAR 是主力,而 GEAR 所在的公司卖的是机器人计算栈。“给 agent 配更多机器人和更多 GPU,研究就更快”这个论断恰好抬高硬件采购的价值。这不构成反驳,但构成先验——尤其是当同一篇论文承认 MRU 随机器人增加而下降、token 成本超线性的时候,“多买机器人”的边际收益比 headline 听起来要模糊得多。

第三,一处我核实不到的地方:MRU / MTU 的精确数值在 Figure 7 里,正文没有以文字给出。我能核实的只有方向(MRU 降、GPU 利用率升、MTU 在 8 agent 处陡增、都不接近 1),具体数字未核实

一个作者没展开的推论。 我在 Weng 那篇末尾提过一个猜想:harness 的 git log 本身就是一份免费的、可审计的自我改进轨迹数据集。ENPIRE 是这个猜想第一次有了物理版本——八台机器人的共享 Git 历史就是这份数据集。而且它的迁移实验已经把这条路的形状露出来了:跨任务迁移时,agent 拿到一份从上一轮蒸馏出来的 markdown 摘要,原始 trajectory、隐藏日志、checkpoint 全被剪掉,论文原话是”transfer occurs through the written summary rather than through unbounded access to prior session state”。他们在赌自然语言摘要就是足够的迁移载体。这个赌注和 agent 记忆系统的核心设计问题是同一个,而 ENPIRE 恰好给它准备了一个物理世界的判决场。

行动

  1. 在自己的 harness 上做一个 MRU 的软件版。 挑一个真正稀缺的资源——CI 执行时间、真实浏览器会话、付费 API 调用额度——量一下 agent 有多少比例的墙钟时间花在”读日志 / 写代码 / 等模型返回”而不是”跑实验”。ENPIRE 的发现是这个比例比想象的差,而且多开 agent 会让它更差。这个数字在本地是可测的。
  2. 照抄那条冻结边界。 具体动作:把判据(测试、grader、验收脚本)移到 agent 无写权限的目录,再准备一组 held-out 用例,让 agent 能读失败样例但改不动判据计算。这比在项目记忆文件里写”不许改测试”硬——提示词里的规则是恳求,harness 里的规则是物理法则
  3. 补一篇源头论文:SERL / RLPD 那条异步 RL 数据混合协议是 ENPIRE 训练基础设施的承重柱(磁盘上按 rl / human 标签分流到在线回放池和示范池),不读它会把 ENPIRE 的 PI 模块当黑盒。

诚实的提醒

  • 本文所有实验数字来自 arXiv 全文,我没有复现任何一项——手上没有八台 YAM 工位,也没有 8 张 RTX 5090。
  • MRU / MTU 的精确值取自图表,未能从正文文本核实,本文只使用趋势方向。
  • 机构组合来自二手报道,arXiv 摘要页未列机构信息;本条目最初也是从 Jim Fan 的 X 动态二手发现的。
  • 一个成本最低的亲手验证实验:拿一个自己已经能让 agent 稳定解决的确定性任务(比如某个单测修复),人为注入非确定性——随机延迟、5% 概率的偶发失败、每次执行结果略有抖动——然后对比 agent 的解题时间和成功率。这是 ENPIRE 那个”仿真能解、真机失败”发现的桌面版,一台笔记本就能跑。如果桌面版也复现出显著退化,那么”agent 自我改进能力”在所有确定性可重放 benchmark 上的读数都要往下打折。

参考来源

arXiv 论文

工程实践与站内相关