把机器人当图灵机:纯代码策略拿下 RoboDojo 70.24%,超 SOTA 38.9 个点

Embodied Turing Machines: Stateful Code for Robot Recursive Self-Improvement

Kairui Hu, Siyuan Hu, Fangzhou Hong, Zhaoxi Chen, Ziwei Liu

cs.RO, cs.CV

2026-10-09

把机器人策略全部写成代码,自己测状态、自己记状态,测试时不跑任何模型,在 RoboDojo 42 个双手任务上拿到 70.24% 成功率,比此前最佳高 38.9 个百分点。

这篇在解决什么

机器人操作的主流路线都把模型放在控制回路里:VLA(vision-language-action 模型,从图像和指令直接输出动作)把决策藏进权重,Agent Harness(运行时反复调 VLM 做决策的框架,如 Agent-as-Policy)把部分状态写成文字,动作仍出自黑盒推理。共同的问题是状态看不清、改不动,每次模型调用都有随机性,改进要靠新数据重训,旧任务还会被冲掉:π0.5 在五个真实任务上顺序微调后,平均分从 86.9 掉到 31.4。

这篇换了视角:机器人和环境合起来是一台图灵机,世界状态是纸带,策略是规则。状态若能被代码准确测出,决策就能全部写成代码,运行时不需要任何模型。COAP(Code-Only-as-Policy)就是这个想法的完整实现。

方法

状态显式化。 程序维护一份状态:环境状态记录每个物体的位姿、尺寸、类别和空间关系,每条带误差与来源;机器人状态记录关节角、末端位姿、夹爪开度;任务状态记录当前阶段、重试次数和要记住的信息,比如每个杯子下盖着的颜色。代码运行时冻结,同一份程序跑一个任务的全部 episode,包括留出的测试布局。

感知也是普通代码。 感知层用 NumPy 和 OpenCV 写成:机器人网格按关节角投影进图像遮掉,取与桌面颜色不同的连通域,视线与桌面平面求交得到物体位置,再拿已知的物体 3D 形状搜索位置和朝向,留重合度最高的拟合。相机参数、机器人网格、物体尺寸是 benchmark 公开的常量,属于不变的规则;每个 episode 里有什么物体、在哪,是状态,由代码从图像现测。物体被遮挡时保留上次位姿,毫米级任务在最后逼近前用手腕相机重测。

共享库加离线自改进。 库分四层:任务程序、物体族、操作原语、感知与运动。新任务可以组合现成模块、继承旧任务只改一条决策,或给共享函数加默认关闭的参数,并以执行轨迹等价的条件保证旧任务行为不变。42 个任务跑的代码 83% 来自共享库。开发由 Claude Opus 5.5 编码 agent 闭环完成,无人在环、不碰测试集:agent 读失败 episode 的状态记录,定位出错的变量,提出 diff;分支先过 CPU 检查再上验证集并行评估,成功率超过重跑噪声余量才合并。每个分支都是完整可跑的程序,不需要训练,一个决策的多个变体(杯沿、提手、顶部抓取)并行跑,像宽度优先搜索一样挑出最好的逻辑。

结果

RoboDojo 是考记忆、精度、开放指令、泛化、长程五个维度的 42 个双手操作 benchmark,每任务 3 个 seed、各 50 个布局,输入只有三路 RGB、本体感知和指令,测试时无深度、无分割、无模型服务。

方法类型总成功率
PhysicalRSI(此前最佳)Agent Harness31.38%
Awomo-0.5(最强 WAM)World Action Model29.64%
Simate-beta(最强 VLA)VLA27.96%
COAP(这篇)纯代码,测试时无模型70.24%

COAP 比 SOTA 高 38.9 个百分点,五个维度全部第一。差距最大的是 Memory(89.9%,领先最佳基线 39.6 点)和 Precision(75.1%,领先 41.6 点),这两个维度考的恰好是记住的值和测得准不准。Generalization 65.7%,标准布局 77.3%、随机化布局 54.1%;领先最小的是 Long-Horizon,56.4%、加 13.0 点。

机制层面的数字更说明问题:同一份程序,用自己测的状态成功率 63%,换成模拟器真值是 83%,上限卡在状态测量;一个控制步中位数 0.3 毫秒,单 episode 算力是 VLA 的 0.8–2.4%,不到 Agent Harness 的 0.1%;出错的 episode 里,程序自己发现问题占 76%,换方法重试占 34%;新任务从零开发 15 小时平均 47%,零数据零训练,同批任务上最强 VLA 训练后只有 4.7%。

为什么重要

对做机器人的从业者,这个结果是个直接提醒:在状态可结构化测量的任务上,先别急着上模型。显式状态加显式逻辑,在 Memory 和 Precision 上拉开 40 个点,运行成本只有 VLA 的百分之几。

可用的位置有三个:

边界同样清楚:整套方法的前提是状态可测,开放世界里这个前提经常不成立。

局限与存疑

论文承认的:全部结果在仿真,感知依赖 benchmark 公开的相机参数、机器人网格和物体尺寸,真机上要实测,接触参数要重调;离线开发有成本,每个新任务都要开发时间;泛化有限,随机化布局比标准布局低 23 个点,硬编码值是实际出现的失败,一个固定的尺寸阈值把小手表滤掉了。

读下来还有三点站不稳。感知管线依赖已知物体的 3D 形状和桌面颜色,是已知物体、已知桌面的设定,非刚性物体是明确短板,论文自己举的失败例子是夹住衬衫下沿后软布滑脱。62% 的失败来自状态测量,手段是传统几何视觉,论文给的解法只是把感知代码修得更好,能修到哪没有答案。对照有不对称:基线是通用模型,COAP 是编码 agent 逐任务离线开发的专项程序加共享库,作为范式论证成立,当作「代码打赢 VLA」的通论要打折,开发侧的算力成本也没有披露。

术语

原文与代码

相关论文

全部论文解读