不给深度和真值,GPT-6 Astra控双臂成功率73.3%

CodeActionBench: Evaluating Agentic Code-as-Policy for Embodied Manipulation

Yiheng Lyu, Xueying Jiang, Wenhao Li, Shijian Lu, Gongjie Zhang

cs.RO, cs.AI

2026-09-28

南洋理工用25项双臂任务评测写代码操作,不提供深度和物体真值。GPT-6 Astra三次内做成22项,成功率73.3%。

这篇在解决什么

认出杯子,离夹起来还差三步:选定接触点,给出能执行的目标,结果不对时再改。多模态模型会看图、会写代码,这三步要在同一次物理交互里接上。

常见做法把这段交给别的模块。视觉-语言-动作模型(VLA,用示教学从观察到动作的策略)依赖大规模轨迹,OpenVLA 用了 97 万条真实操作。Code-as-Policy 让模型在推理时写程序调用机器人 API,但物体位置、抓取候选或任务技能往往来自外部感知,甚至来自仿真器里的物体状态。成绩里看不出模型自己完成了多少空间判断。

南洋理工的 CodeActionBench 用 25 个任务把这些外援拿掉。仿真器是 SAPIEN,本体是 RoboTwin 2.0 的 ALOHA-AgileX 双臂,涵盖抓取、搬运、交接、工具、码放、堆叠、瞬时接触和关节物体。没有任务微调,没有示教。深度、物体真值、专用感知或抓取、写好的任务策略,都不在接口里。

方法

被测对象是模型加 harness(组装请求、校验调用、管理上下文的框架)。九套配置共用任务、API、预算和验收。七套用同一参考 harness。Claude Opus 5 另接 Claude Code,GPT-6 Astra 只接 Codex CLI。框架不同,比较的是整套智能体。

模型只看 RGB 与相机内外参,没有深度和物体位姿。三维自己估:手腕移动后的两帧做三角化,夹爪尺寸当尺子,或自己给尺寸先验。探触也可以,用接触读数加假定法向做射线求交。工具只算数,不选点,也不证明假设成立。抓取方向由模型指定,cuRobo 查可达性并规划。碰撞体只有机器人自身,桌子和物体不算,规划通过仍可能碰场景。

可以逐条调工具,也可以用 runcode 写带分支的 Python。一次程序记一次调用,里面的动作另扣仿真时间。中断后交回实际状态,下一步仍由模型决定。

21 项按结束状态计分,条件必须保持到停止。敲锤、按铃、按订书机、倒箱这 4 项记录过程事件。done 只保存模型的成败声明,验证器不回传判决。域随机关闭,每项一个固定种子。调用预算约为专家分钟数的 14 倍,仿真时间不少于 60 秒。带特权信息的参考脚本能在预算内做完全部 25 项,但不给被测模型。每项 3 次,共 675 次。

结果

675 次里成功 184 次,总成功率 27.3%。九套配置没有一套做完 25 项。

配置尝试成功率三次内至少做成
GPT-6 Astra(Codex CLI)73.3%(55/75)22/25
Claude Opus 5(参考 harness)49.3%(37/75)19/25
Claude Opus 5(Claude Code)45.3%(34/75)14/25
Gemini 3.6 Flash(参考)20.0%(15/75)8/25
GPT-5.6 Sol(参考)16.0%(12/75)9/25
Qwen 3.8 Max(参考)14.7%(11/75)6/25
Grok 4.6(参考)12.0%(9/75)6/25
Kimi K3(参考)12.0%(9/75)5/25
Claude Sonnet 5(参考)2.7%(2/75)2/25

参考 harness 内,Opus 5 的 49.3% 高于 Gemini 的 20.0%。Astra 没跑这套框架。它对参考 harness 上的 Opus 是 73.3% 对 49.3%,总费用低 15.1%,中位墙钟短 60.0%,477.2 秒最短。图中 Astra 的 75 次费用为 252.87 美元,Gemini 为 52.00 美元,是九套里最低的。

两套 Opus 成功率差 4.0 个百分点,任务数差 5 项。Astra 15 项三次全过,3 项全灭。抬锅仅 Astra 做成且为 3/3。倒箱、挂杯仅参考 harness 的 Opus 各 1/3。

55 个子目标和 72 个空间检查点按任务等权平均。Astra 空间覆盖 87.3%、子目标 76.0%。两套 Opus 空间覆盖为 73.6% 与 73.4%,子目标为 60.6% 与 55.8%。第 22 次计费调用时 Astra 已超过别人的最终空间覆盖。到了区域,不等于任务完成。

491 次失败中,280 次没确认到达,77 次没确认控物,122 次到了但子目标没完成或丢失。Astra 20 次失败里后两类占 12 次。更强的系统多停在持物和对准,少停在找不到区域。

Astra 以 done 结束 72/75 次,判断正确 68/75(90.7%)。失败尝试里它承认失败的比例是 70.0%(14/20),误报成功 15.0%。两套 Opus 只有 36.8% 和 29.3%。Sonnet 5 有 70/75 次没给声明,69 次是预算耗尽。

前四名 85.6% 到 92.6% 的计费调用走程序,其余五套仅 15.6% 到 35.2%。Astra 程序错误率 0.46%(10/2167),75 次都用三角化。Opus 更常探触(71/75、67/75)。论文没做消融。

为什么重要

接口固定之后,同一参考 harness 上 49.3% 和 20.0% 的差距才有意义。Astra 加 Codex CLI 拿到 73.3%,22 项至少成功一次,没有微调也没有示教。规划和底层控制在公共 API 里,模型负责目标和对反馈的修订。

75 次 252.87 美元、中位 477.2 秒。多轮改代码并不便宜。论文写明,延迟不适合有时限的操作。20% 成功率那一档还不能拿去执行。

终态分数分不清没到、没保持、和误报成功。子目标、失败阶段、done 声明要一起看。

局限与存疑

范围限于 25 个仿真任务、一种双臂、每项一个固定场景。三次尝试只看同一实例上的波动。换场景、换本体和真机都没测。多轮调用的延迟也不适合赶时间的接触。

73.3% 是 Astra 与 Codex CLI 的组合,不能当成 GPT-6 与 Opus 的裸模型比较。参考 harness 第一名是 Opus 5 的 49.3%。同一 Opus 换 Claude Code,成功率少 4.0 个百分点,任务少 5 项。Grok 4.6 单次输出上限只有 8192 token,Qwen 的推理力度是 Medium 而其余是 High。这些差别仍排在同一张榜上。

碰撞模型不含桌子和物体,会撞的轨迹占多少失败,正文没单列。没有同任务的 VLA 对照。检查点区域借用了专家成功轨迹,比验证器松。每项只有三次,供应商接口也会变。

术语

原文与代码

社区讨论

相关论文

全部论文解读