Skip to content

Translation in progress Some entries still include text in the original language.

Hugging Face Daily Papers· arXiv:2610.12369·Indexed by this site · Originally published

Embodied Turing Machine: Code-Only-as-Policy for Recursive Self-Improvement in Robots with Stateful Code

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

Quick read

Other

Based on 论文 PDF (AI 生成); refer to the original

COAP written offline by a coding agent achieves a 70.24% success rate on 42 RoboDojo tasks, with no model at test time.

Questions
多数策略把VLA或VLM留在控制回路,状态不能直接检查,也不能把同一套显式规则用到不同回合。作者要问:状态若能从图像和本体感觉测准,决策能否全部写成代码。
Methods
COAP用代码测量并保存机器人、环境和任务状态,再由冻结的共享库算出动作;测试时不调用模型。Claude Opus 5.5离线改代码,只合并验证集上达到余量的改动,且不用测试集。
Experiments and results
在RoboDojo 42个双手任务上,COAP总成功率70.24%、progress score 75.45,五维均高于Table 2该列最高基线。记忆与精度的差距较大,长时程较小;随机布局低于标准布局。
Limitations and future work
作者指出结果都在仿真中,真机需重测几何与接触参数;每个新任务有离线开发成本;上界取决于状态表示和代码是否重试。评测用RoboDojo与官方榜,未报告评审模型与ε_q。
Experimental setupRoboDojo · SR、Progress Score
Benchmarks
RoboDojo
Metrics
SRProgress Score
AI summaryThe paper proposes Code-Only-as-Policy (COAP), which treats the embodied world as a Turing machine and uses code to measure and track robot, environment, and task states from camera images and proprioception, with all decisions made by code and no VLM or VLA involvement at test time. The authors claim it has three advantages—explicit state, controllable execution, and scalability—making it suitable as a vehicle for recursive self-improvement (RSI). On 42 bimanual tasks in RoboDojo, the resulting codebase achieves a success rate of 70.24%.

The paper proposes Code-Only-as-Policy (COAP), which treats the embodied world as a Turing machine and uses code to measure and track robot, environment, and task states from camera images and proprioception, with all decisions made by code and no VLM or VLA involvement at test time. The authors claim it has three advantages—explicit state, controllable execution, and scalability—making it suitable as a vehicle for recursive self-improvement (RSI). On 42 bimanual tasks in RoboDojo, the resulting codebase achieves a success rate of 70.24%.

Paper analysis

6 questions; open one to read the full answer

  1. What problem does this paper attempt to solve?

    核心问题是状态可测时,决策能否写成跨回合复用、测试时无模型的代码。

    若机器人与环境状态能被准确表示,决策能否全部写成代码,并在测试时不调用模型的情况下跨回合复用。

    • 场景:作者把机器人与环境看成 Embodied Turing Machine:纸带是环境状态与机器人状态,策略是读写该纸带的规则。现有策略多把模型留在控制回路,VLA 把观测映射到动作,Agent Harness(Agent-as-Policy 或 Harness VLA)在运行时查询 VLM。
    • 现有不足:作者称 VLA 的映射留在权重里,不能直接检查或编辑;Agent Harness 虽有文本记忆,VLM 与 VLA 仍是黑盒。既有代码策略或在每个回合在线写新代码,或从感知模型、仿真器 oracle 取状态(Figure 2)。
    • 观察:作者称两类状态都可观测:机器人状态来自本体感觉,物体位姿可由 RGB 与测得几何恢复。物体重排只改变纸带,同一套规则仍适用。
    • 提出:Code-Only-as-Policy(COAP)。代码从相机图像与本体感觉测量并跟踪状态,每一步决策都由代码作出;不同任务共享一个库,同一程序跑一个任务的各回合,测试时无 VLM 或 VLA。作者称这适合作为递归自我改进(RSI)的介质,也可为 VLA 与 Agent Harness 产生成功轨迹。
  2. What related research exists?

    相关工作分VLA、VLM控制、代码策略,以及代码智能体与机器人基准。

    视觉-语言-动作模型

    • 端到端策略:RT-2、OpenVLA、π0、π0.5 学习语言条件的 visuomotor 策略;作者还提到后续基础模型继续扩大数据与训练。
    • 作者的对比:作者称 VLA 不能直接检查或编辑,每次改进都要新数据和新训练。LIBERO-PRO 被引来说明基准成功可能反映记住的训练配置。作者还引在新任务上训练可能降低旧任务表现的结果,并称 COAP 可把失败回溯到变量、把接受的修改合并进代码。

    用 VLM 做机器人控制

    • 规划与工具:ReAct 把推理与动作交错;Toolformer 让模型调用工具;SayCan 用可学习 affordance 落地语言规划;Inner Monologue 把环境反馈送回规划器。
    • 近期 harness:作者提到让 VLM 调用解析或学习到的原语,以及把 GPT-6 Astra 直接当作具身策略评测。作者的批评是:执行中反复查询模型,同一提示也有随机性,且回合成本高。本文只在离线用模型写代码。

    代码策略

    • 运行时写代码:Code as Policies、ProgPrompt 提示语言模型写调用感知与控制 API 的代码;VoxPoser 写组合空间价值图的代码。后续工作加入执行反馈、重复生成和技能发现。PyRUA-Lean 按回合逐格写代码,Skill2Real 在每个决策阶段用冻结技能记忆组新程序。作者称这些系统在运行时由模型写程序,状态来自检测器或 SAM。
    • 离线一个程序、状态在代码外:RHO 与 EmbodiedSWE 由 coding agent 离线写一个程序。作者称 RHO 的状态来自 SAM 与 Molmo,EmbodiedSWE 的求解器读仿真器 oracle;这些感知模型是黑盒,不确定性不由代码控制。COAP 改为自己测量状态,测错就改测量代码。

    代码智能体与基准

    • 代码作为接口:CodeAct 把可执行代码当作动作空间;另有工作把工具暴露为代码 API。Voyager 通过交互增长代码技能库;软件智能体靠测试与 diff 做长程仓库任务。作者称这些环境以文件、测试结果或游戏 API 显式提供状态,机器人则必须从传感器测量。
    • 机器人 RSI:RoboRSI 用 manager、planner、engineer、reviewer 和 no-regression gate 做回路。作者称其执行时仍由 VLM 决策,通过门的改动只是引导黑盒,测到的行为不一定是运行时行为。
    • 基准:LIBERO 测终身学习中的知识迁移;RoboTwin 2.0 生成域随机化的双手任务;RoboCasa365 扩展家庭仿真。RoboDojo 在同一协议中覆盖记忆、精度、开放指令、泛化与长时程操作。

    基线与基准:实验对照官方 RoboDojo leaderboard 上不低于 π0.5 的 23 个条目,分成 Agent Harness、World Action Model 与 VLA(Table 2)。评测基准是 RoboDojo 的 42 个双手任务。

    作者把 COAP 放在 Figure 2 的第三格:一个程序、状态由代码测量、跨回合复用。作者称代码足够稳健且跨回合适用时,运行时不需要 VLM 或 VLA。

  3. How does the paper address this problem?

    COAP把状态放进代码变量,用共享库作规则,并由编码智能体离线改代码。

    把机器人与环境实现为 Embodied Turing Machine:代码变量保存状态,源代码充当规则。共享库 Code-Only-as-Policy(COAP) 在运行时冻结,由 coding agent 离线改进(Figure 3)。开发不使用基准测试集。

    观测、状态与转移

    • 观测:每步 o_t 含指令、三路 RGB(头部与两腕)、关节角、末端位姿和夹爪指令回声。
    • 三类状态:环境状态记物体位姿、尺寸、类别及空间关系,并记测量的误差、来源与时间;机器人状态记各臂关节角、末端位姿、夹爪开度及可达位姿。二者构成纸带。任务状态记当前阶段、物体所分配的手臂、重试次数,以及任务必须记住的信息(如每个杯子下的颜色);它对应图灵机内部状态,不属于纸带。各任务中三部分形式相同。
    • 更新:机器人状态每步来自本体感觉;环境状态由感知层库测量;任务代码在执行中更新任务状态。
    • 转移:θ 定义 (xt+1, at) = Fθ(xt, ot),a_t 是下一段轨迹。运行时 θ 冻结,只有 x_t 变化,所以一个程序跑该任务的每个布局,包括留出的测试布局。

    用代码测量环境

    • 候选物体:感知是基于 NumPy 与 OpenCV 的普通代码。每帧用测得关节角把机器人网格投影进图像并遮住其像素;与当前桌面颜色不同的像素形成候选区域,下沿落在桌面上的连通域成为物体候选。
    • 位姿拟合:边界像素的射线与桌面平面相交,得到桌面上的位置(式 2)。再把该类物体的已知三维形状放到该位置附近,搜索位置与偏航,保留与观测区域重叠最大的拟合。
    • 常数与状态:相机模型、机器人网格、物体形状和桌高随基准发布,回合间不变,是规则中的常数。哪些物体在、在何处,则每回合从图像测量。
    • 保持与重测:测量得到类别、位置、偏航、尺寸和置信度,写入回合级 WorldState。被手臂遮挡的物体保留上次位姿。需要毫米级精度的任务在最终接近前用腕部相机重测。

    跨任务共享一个库

    • 分层:任务都操作同一形式的状态,依赖向下。任务程序规定子目标顺序、任务特有决策和恢复条件;下层完成抓取、搬运、放置、推动、倾倒,以及感知与运动。一次 transfer 会展开为候选生成、逆运动学与碰撞过滤、抓前重测、接近、闭合、短抬与保持检查、搬运、放置、释放和最终核验。
    • 三种扩展:组合已有模块;继承已有任务并只覆盖一条决策;给共享函数加默认关闭的参数。例如 lift_dir 允许斜向抬起,默认仍是垂直上抬(Code Example 2)。
    • 兼容:对不传入新参数的任务,扩展前后在单元测试夹具上的执行轨迹必须相同(式 3)。作者称旧任务因此按构造保持原行为。§3.3 把跨任务共享写成 83% 的行,并指向 §4.3.3。

    离线回溯与验收

    • 谁写代码:Claude Opus 5.5 coding agent 编写库和每个任务的全部代码,自己跑测试、评估并调试,回路中无人工。引言称该编码智能体为 Opus 5.5 Max,并规定不得为单个回合写 hack、测试时不得使用 oracle 状态。
    • 分支:第 k 轮已接受代码为 θ_k。每个 agent 在自己的 git worktree 中查看失败开发运行的记录状态,定位有问题的变量或规则,提出 diff。各分支是完整可运行代码,可在相同条件下并行评估。
    • 仿真前检查:任务代码对数值场景执行,确认每阶段到达目标状态;每个路点检查逆运动学解与碰撞。通过后再在验证回合上并行评估。
    • 验收:调试与选择分开。agent 在自定开发集上看视频,并把测量状态与仿真器真值比较;选择比较验证划分上的成功次数。接受条件为 Jq(θk+Δ; Vq) ≥ Jq(θk; Vq) + εq,J_q 是任务 q 的成功次数,ε_q 是高于重跑噪声的余量。论文未给出 ε_q 的数值。达到则成为下一轮基线,否则不合并。作者称式 3 保护未被针对的任务,该规则保证被针对任务改进,因此接受的步骤不降。
  4. What experiments did the paper conduct?

    RoboDojo上COAP总成功率为70.24%,五维均高于Table 2该列最高基线。

    实验设置

    • 基准:RoboDojo 的 42 个双手任务,分 Memory(6)、Precision(8)、Open instruction following(8)、Generalization(12)、Long-Horizon(8)。每任务三个 seed,每个 seed 50 个布局。Generalization 中一半布局随机化:新物体实例、新房间与桌面外观、最多 20 个干扰物。
    • 输入:仅三路 RGB、本体感觉(关节角、末端位姿、夹爪指令回声)和语言指令。测试时无深度、无分割、无模型服务。开发阶段可用仿真器真值改进感知,测试时不用 oracle 状态。
    • 代码来源:引言中的 Opus 5.5 Max、§3.4 中的 Claude Opus 5.5 coding agent 离线写代码;开发不使用测试集。调试在 agent 自定的开发集上进行。
    • 基线:官方 leaderboard 上不低于 π0.5 的 23 个条目(Table 2),分 Agent Harness、World Action Model(WAM)和 VLA。§4.3 称各类别对比使用该类别总成绩最高的条目。基准没有的测量,作者改引先前工作的数字。
    • 指标与评审:SR 是整项任务成功的回合占比(%);Score 是基准的 progress score。数字由官方 evaluation client、judges 和 summary script 产生。论文未说明 judges 是哪个模型或是否人工,也未报告与人工的一致性。
    • 未写明的量:论文未报告 RSI 轮数、ε_q 的取值,以及编码智能体的调用次数。

    主结果

    据 Table 2。下表只列 COAP、两个 Agent Harness、各类总成绩最高的 WAM 与 VLA、一个较低的 WAM,以及总 SR 最低的 π0.5。Long-Horizon 与 Score 放在表后。

    Swipe horizontally to read the table

    方法MemoryPrecisionOpenGeneralization总SR
    COAP89.975.164.165.770.24
    PhysicalRSI46.632.524.915.631.38
    GPT-6 Astra38.74.031.030.522.48
    Awomo-0.541.233.522.923.829.64
    Simate-beta33.026.98.527.927.96
    OpenWAM-α9.19.21.114.811.92
    π0.54.75.51.78.26.93
    • 作者的总括:作者称 COAP 总成功率为 70.24%,比当时 SOTA(31.38%)高 38.9 个百分点;摘要与结论写作 38.9% above。Table 2 的 vs. best 行是总 SR +38.86、Score +39.18;COAP 的 Score 为 75.45。作者还称比最强 WAM(29.64%)和最强 VLA(27.96%)高出 40 个百分点以上。
    • 分维:作者称五维成功率都最高。vs. best 为 Memory +39.6、Precision +41.6、Open +33.1、Generalization +35.2、Long-Horizon +13.0。Long-Horizon 上 COAP 为 56.4。Generalization 为 65.7%,其中标准布局 77.3%、随机布局 54.1%;Open 为 64.1%。作者称边际最小的是 Long-Horizon。
    • 表的范围:省略 VPP2-Preview、Liber-0 Preview、Liber-0 Lite、InternW0-Δ、ME-Brain-1.0、Rex-M1 Preview、DM0.5、GalaxeaVLA (G0.5)、Xiaomi-Robotics-1、Meituan-Robotics-0、SimpleMemVLA、Hy-Embodied-0.5-VLA、KinRT、Spatial Forcing、VLAct、StarVLA-PI_v3、InternVLA-A1.5。Figure 5 的 90%、47%、33% 与 75%、33%、27% 是对类别总成绩最高条目的取整,不是该列最高基线;Table 2 中 Memory 列有 50.3(VPP2-Preview)。

    显式状态与在线执行

    • 测了什么:相对 §4.3 所说的类别总成绩最高条目,比较状态是否写成变量、失败能否回溯,以及在线计算(Figure 5、Figure 6、附录 Table 3)。
    • 结果:作者称 Memory 上 COAP 为 90%、Agent Harness 为 47%、VLA 为 33%;Precision 上为 75%、33%、27%。同一程序在测量状态上成功 63%、在 oracle 状态上成功 83%,作者称每修好一项测量就缩小这一差距。出错回合中,程序自己发现问题的占 76%,用新方法重试的占 34%。控制步中位时间 0.3 ms;一回合计算量为 VLA 的 0.8–2.4%、Agent Harness 的不到 0.1%。附录称模型侧是按已报告规模的估计,不是实测;Figure 6 的 FLOP 刻度在文本转换中上标丢失,这里不引用。
    • 作者解读:作者认为显式变量使依赖记忆或精确测量的任务更容易处理;状态被跟踪后,失败可以回到上次检查点并用另一种抓取重试。附录 Table 3 把出错回合分成:重试后成功 12%、重试后失败 22%、发现并报告 42%、触及步数上限 1%、未报告 22%。

    失败类型

    • 分类:把 Table 2 运行中的失败回合归到能避免该失败的最小改动(Figure 11、§5.2)。感知错误 35%,接触错误 27%,逻辑不完整 29%,代码设计差 8%。作者称状态测量的限度占 62%,代码逻辑的限度占 37%。
    • 例子:随机场景中飞镖盘被认成耳机;夹爪夹住衣摆后软布滑出;推一次即停,尽管检查发现方块仍偏转;固定尺寸阈值滤掉小手表。
    • 作者解读:作者称上界由状态表示是否准确、全面,以及代码是否察觉失败并改用另一种方法决定。感知误差与只有 RGB 输入有关;可变形物体的接触表示粗。

    库扩展与并行分支

    • 复用:作者称新任务所运行代码的 83% 来自库、17% 是任务代码(Figure 7)。抓取按方式而不是按物体来写(Figure 8)。附录 Table 7:任务程序 23.5k 行、物体族 28.5k、操作 5.4k、感知 5.3k、运动 3.3k;感知与运动被 40 个任务程序全部使用。
    • 从零加任务:库冻结后,无程序的新任务在 15 小时内平均成功 47%,无演示、无训练;Figure 7 的基线线作者标为 schematic。同批任务上,最强 VLA 在演示上训练后为 4.7%。作者引 OpenVLA:每任务在 8 张 A100 上微调 5–15 小时。store_tools_in_toolbox 从未得到成功程序。
    • 分支搜索:作者称单次改动很少有帮助;分支越多,可接受改动更常出现、增益更大、墙钟更早,GPU 时间更多(Figure 10)。两个及以上变体的决策,五例中有四例找到可接受改动。接受线是相对父程序在 30 个回合中至少多成功 4 个。图中标注 8 个分支同时跑、round 1 约 1.7 h,并行三轮约 5 h,顺序 15 次评估约 26 h。百分比与分支数 k 的列对应在文本转换后对不齐,不逐格引用。

    其他消融与分析

    • 按步数上限(附录 Table 4,表内未点名 Agent Harness 与 VLA):200–500 步(12 任务)COAP 78.1%、Agent Harness 47.3%、VLA 21.9%、GPT-as-policy 26.5%;550–800(15)为 78.4%、30.6%、38.0%、26.9%;900–1900(15)为 52.0%、13.2%、22.1%、14.8%。
    • 自身代码未改的旧任务,同一布局上从 78.4% 到 79.9%(Cochran–Mantel–Haenszel 检验 p=0.16;作者称没有任务显著变化)。含后来清理的任务则从 80.0% 到 81.4%。
    • 有程序的 40 个任务:标准布局验证 76.7%、测试 74.9%;随机布局验证 55.2%、测试 52.8%。库冻结后逐次合并,总成功率从 66.5% 到 70.24%。最忙时 12 个任务并行,用时为顺序的 17%。
    • 附录 Table 6 的验证成功率:make_toast 在合并时为 50 再到 77;hang_mugs 为 7、50、57;sweep_blocks 为 0、60、50;fill_pen_holder 为 0、20、27。
    • Table 9:plug_in_charger 与 store_tools_in_toolbox 无程序,SR 为 0.0,Score 栏为“–”。organize_table 的 SR 为 0.0、Score 为 51.5;pack_objects_into_box 的 SR 为 0.7。cover_blocks、press_by_number、swap_T、swap_blocks、pour_by_language 的 SR 为 100.0。
    • 作者引用先前工作,不是本文实验:π0.5 在五个真实任务上顺序微调后,平均分从 86.9 降到 31.4。
  5. What are some points that can be further explored?

    作者指出仅仿真、每任务有开发成本,上界受状态表示与代码逻辑限制。

    作者指出的局限与后续方向

    • 仅仿真(§5.4):全部结果在仿真中。感知依赖基准公开的相机参数、机器人网格和物体尺寸;作者称这是主要限制。真机上这些量要重测,夹持宽度、搬运速度等接触参数要再调。
    • 离线开发成本(§5.4):在线执行快,但每次迭代都要评估和修改。作者对比可直接当策略使用的 GPT,称 COAP 对每个新任务都有开发成本。
    • 泛化(§5.4):作者称代码的泛化能力可能有限,目前只在 70.24% 的回合成功。部分差距来自不完整逻辑和差的代码设计,例如只在编写情形下成立的硬编码值。程序在验证布局上开发,从未在测试布局上开发,因此未见过的布局成功率更低是预期之内,尤其是带新物体、新房间和干扰物的随机布局(54.1%,其标准布局为 77.3%)。标准布局上,测试 74.9% 接近验证 76.7%。
    • 编码能力与回路(§5.2):作者称当前编码能力有限,离线 RSI 回路需要进一步优化,以便写出更好的代码。
    • 上界的两个因素(§5.3):状态表示得是否准确、全面,以及代码逻辑是否稳健,例如是否察觉失败并重试。感知误差与只有 RGB 有关;可变形或复杂物体的接触难以表示。
    • 结论中的判断(§6):作者称随着编码智能体变强,这一上界会上升;并认为 COAP 可以成为 VLA、Agent-as-Policy 和 Harness VLA 的数据引擎。

    实验覆盖范围

    • 成功率来自 RoboDojo 的 42 个双手仿真任务,五个维度,每任务三个 seed、每个 seed 50 个布局;Generalization 的一半布局做了随机化(§4.1)。
    • 对照是官方 leaderboard 中不低于 π0.5 的 23 个条目,分成 Agent Harness、WAM 和 VLA(Table 2)。测试输入是三路 RGB、本体感觉和指令,无深度、分割或在线模型。
    • 代码由 Claude Opus 5.5 coding agent 离线编写;开发集由 agent 自定,选择用验证划分,开发不使用测试集(§3.4、§4.1)。42 个任务中 40 个有程序(附录)。
    • 失败分析覆盖 Table 2 运行中的失败回合,按最小改动分成四类,并给出官方视频中的例子(Figure 11)。附录还按步数上限、恢复结果、新任务时间线和逐次合并报告了数字。
    • 论文写明数字来自官方 evaluation client、judges 和 summary script;未报告 judges 是哪个模型、ε_q 的取值、RSI 轮数、编码智能体调用次数,以及评审与人工的一致性。§5.5 讨论用 COAP 轨迹训练其他策略,未报告训练后的成功率。Figure 7 的基线线和右侧能力增长标为 schematic;Figure 6 的模型计算量是按已报告规模的估计,不是实测。
  6. Summarize the main content of the paper

    COAP用显式状态上的共享代码作策略,RoboDojo总成功率70.24%,测试时无模型。

    作者把机器人连同环境看成 Embodied Turing Machine,并用 Code-Only-as-Policy(COAP) 把策略写成冻结代码:状态由代码测量,动作由代码计算,测试时不调用 VLM 或 VLA。

    • 问题:VLA 把状态留在权重里,Agent Harness 在运行时查询模型。作者认为,若环境位姿和机器人本体感觉能写进变量,决策就可以是可检查的规则,并且同一程序能跑一个任务的不同布局。
    • 做法:共享库分层承担感知、运动和抓放;任务程序只写顺序、特有决策和恢复条件。新任务可以组合、继承或加默认关闭的参数。Claude Opus 5.5 在离线回路中根据失败记录改代码,只合并验证集上超过重跑噪声余量的 diff,且不看测试集、测试时不用 oracle。
    • 主结果:RoboDojo 42 个双手任务上,总成功率 70.24%,progress score 75.45(Table 2)。作者称这比当时 SOTA 的 31.38% 高 38.9 个百分点;表中 vs. best 为 +38.86。五维都高于该列最高基线,Memory 为 89.9%,Precision 为 75.1%,Long-Horizon 的差距最小(56.4%,vs. best +13.0)。随机布局为 54.1%,低于 Generalization 标准布局的 77.3%。
    • 其余观察:新任务所运行代码的 83% 来自库。出错回合中程序自己发现的占 76%。失败里,作者把 62% 归到状态测量、37% 归到代码逻辑。两个任务没有程序,SR 为 0.0。
    • 作者的结论:作者把 COAP 视为不同于 VLA、世界动作模型和 Agent Harness 的方向,并称显式状态、执行可控和库可扩展使它适合 RSI。上界仍由状态表示和代码稳健程度决定;作者认为编码智能体变强后上界会上升,轨迹也可供给其他策略做训练数据。
Read originalhuggingface.co