Controlled study framework
Instead of reproducing each reported system, we take the designs apart and test them on one testbed and one benchmark, changing as little as we can between runs.
Blue outlines mark what JustRUA changes. Select a dashed area to see what we varied.
Evaluation set
The 23 most uncertain tasks, those that succeed only some of the time, get four layouts each and the rest keep one, for 111 episodes. Layouts are fixed in advance (Notes on evaluation).
vary most
lower SD
Left, each task's score SD across eight rounds. Right, bootstrap SD of the overall score at medium effort, lower for the evaluation set than for every task run three times.
Behaviour review
Every first-round episode is reviewed from video, and behaviours the score misses are counted as lower bounds.
01Harness and action
The first evaluation of GPT-6 Astra on RoboDojo found it weak on precision tasks, scoring 12.7 on Precision under the official L3 harness (RoboProbe), and Galbot saw a similar gap between its decisions and physical control (Galbot). Yet a few reasonable fixes to the harness and the action loop brought its Precision score to the level of the strongest vision-language-action models of the time (25.0 on our evaluation set, against 24.8 for DM0.5). Much of the weakness seemed to lie in the harness rather than the model.
1.1Codex and full history
The official L3 harness (L3 Inspect EEF, RoboProbe) calls the model API directly and keeps images from the last two observations only. We run the same loop in a Codex session* that keeps every image, with Codex's own tools off. Codex alone lowered the first-round score, so we credit the gain to the two together. All comparisons keep the default cap of 100 decisions per episode, which only the final JustRUA lifts.
| Configuration | Evaluation set | First round |
|---|---|---|
| Official L3 harness | 29.7 | 32.3 |
| Codex, last two images | — | 19.5 |
| Codex, full history | 34.7 | 43.5 |
* Every experiment runs on Codex 0.153.4, pinned so that small differences between versions cannot move the results.
1.2Action design
Motion length. In the official loop a whole motion runs before the model sees anything, so an unstable CuRobo plan can carry the arm far. We stop each motion after 20 control steps. Letting the model choose 3 to 32 steps, as in action chunking (ACT, Astranomy), did no better, so JustRUA keeps the fixed cap.
| Evaluation set | No cap | 20-step cap | Model-chosen |
|---|---|---|---|
| Generalization | 36.0 | 42.5 | 40.4 |
| Precision | 9.4 | 25.0 | 14.4 |
| Long-horizon | 24.5 | 24.7 | 32.5 |
| Memory | 52.5 | 49.6 | 60.4 |
| Open | 50.9 | 48.1 | 41.6 |
| Overall | 34.7 | 38.0 | 37.9 |
All three keep the full episode history.
Alternative interfaces. Two alternatives from recent systems did not beat absolute targets. Relative targets, offsets from the measured pose as in RoboDawn, scored lower, as Astranomy also found, and the arm struck objects almost three times as often. Every coordinate the model reads is in the world frame, so an offset likely asks for one more subtraction before each move.
Semantic operations replace raw targets with named skills, as in SayCan and Code as Policies. Ours are built on move_eef and add no new control code or learned policy. They changed what the model did more than how well it did. It moved its camera more than three times as often and dropped more of what it held, and the score did not rise.
| Evaluation set | Absolute | Relative | Semantic |
|---|---|---|---|
| Generalization | 42.5 | 27.1 | 23.3 |
| Precision | 25.0 | 10.9 | 21.9 |
| Long-horizon | 24.7 | 28.0 | 28.7 |
| Memory | 49.6 | 56.7 | 61.0 |
| Open | 48.1 | 46.9 | 38.1 |
| Overall | 38.0 | 33.9 | 34.6 |
| Behaviour, first round | |||
| View adjustments | 59 | 54 | 211 |
| Dropped objects | 26 | 30 | 35 |
| Empty grasps | 47 | 54 | 47 |
| Arm hits an object | 7 | 20 | 12 |
Behaviour over the same 42 first-round episodes.
World-frame targets for the grasp point of either arm. Unnamed dimensions keep their observed value. Orientation is measured from a fixed straight-down grasp rather than added to the current one, and a gripper command runs after the arm motion.
move_eef(targets, note)left_x / y / z in metres, left_pitch / roll / yaw_deg, left_gripper from 0 closed to 1 open, and the same for right. Both arms can move in one call.give_up()Ends an episode the model judges unrecoverable.Move sequences. Up to four moves per decision raised the score, mostly by easing the 100-decision budget. The final configuration of JustRUA removes the budget instead.
1.3Reasoning effort
Medium effort, the default, scored highest overall. Low effort gave up most of the precision score, and high effort traded precision for memory at a higher cost.
| Effort | Generalization | Precision | Long-horizon | Memory | Open | Overall | Cost / episode |
|---|---|---|---|---|---|---|---|
| Low | 40.3 | 5.3 | 28.8 | 52.9 | 39.4 | 33.3 | $4.49 |
| Medium, default | 42.5 | 25.0 | 24.7 | 49.6 | 48.1 | 38.0 | $4.94 |
| High | 38.3 | 17.2 | 23.8 | 67.3 | 40.6 | 37.4 | $5.16 |
Evaluation set. Cost per first-round episode.
02Reusing experience
Experience from other episodes is the core of recursive self-improvement, and of everything we tried it carries the greatest risk of gaming the benchmark. It draws on the tasks being scored, so its scores are not comparable with a standard evaluation. We tested it because it is widely used. In our runs, no form clearly beat the default.
2.1Demonstrations
Demonstrations in context are a common way to help GPT-6 Astra (SenseNova). Both versions draw on one expert-curated successful episode per task from RoboDawn, inserted once before the first decision. The visual demo shows its 16 keyframes, and the text trajectory gives the same episode stage by stage, as poses, commands and outcomes in our coordinates.
| Evaluation set | Default | Visual demo | Text trajectory |
|---|---|---|---|
| Generalization | 42.5 | 41.0 | 40.3 |
| Precision | 25.0 | 22.8 | 11.6 |
| Long-horizon | 24.7 | 28.9 | 28.3 |
| Memory | 49.6 | 70.0 | 55.4 |
| Open | 48.1 | 36.6 | 40.3 |
| Overall | 38.0 | 39.9 | 35.2 |
| Cost per episode | $4.94 | $5.11 | $5.84 |
| Behaviour, first round | |||
| Handovers through the table | 9 | 15 | 13 |
| Dropped objects | 26 | 20 | 17 |
| Arm-to-arm collisions | 6 | 0 | 0 |
| Empty grasps | 47 | 50 | 53 |
Cost per first-round episode.
The 16 keyframes the model sees before its first decision in make_kong, head camera.
Three tasks also include the author's wrist-camera views. No action trace or robot state is attached.
A better plan is not enough. With either demonstration the model passed objects through the table more often and dropped fewer. In make_kong it copies the demonstrated handover, which it never does without one, even when the text trajectory gives the handover only as coordinates. Neither run copies the last step, gripping the tile upright to push it into the row, and both lose the tiles there and score 0. Fixes of this kind are lost to failures elsewhere, so the overall score barely moves.
2.2Self-improvement loop
Several RoboDojo entries improve themselves by writing their own skills (EmbodiedEvo, SenseNova-RoboRSI). Here a Codex agent writes extra operations on top of move_eef, with a guide on when to use them, starting from the RoboDawn demonstrations. The 42 tasks are split into five groups. Each round the model runs the library on one group, and the agent reviews the scores, logs and videos and revises it. Nothing is edited by hand, and nothing is stored or looked up by task.
new added this round
stack_bowls1plug_in_charger0general_pickup1fill_pen_holder0sweep_blocks0deposit_coin0.2cover_blocks0classify_objects0.4push_T1plug_in_charger and fill_pen_holder the model let go before the plug or the pen was in place.place(..., release_after_lowering=false) grasp(..., close_after_approach=false) insert(arm, entry_point, tip_offset, axis, standoff, depth, advance)
Scores are per task, from 0 to 1. Each round runs a different group, so this is not a learning curve. Problems and changes paraphrase the library's own records.
The library changed how the model grasped, with fewer empty grasps and no arm-to-arm collisions in the first round. With each task practised once, it scored slightly higher than the loop's own runs on the tasks it had seen and stayed level with the default on the evaluation set. Systems that report clear gains practise each task many more times (EmbodiedEvo, PhysRSI-eval). The loop helps, but slowly.
03Scene geometry
Recent agent systems give the model depth, point clouds and affordances from dedicated models. GPT-6 needs less. Its own grip readings, depth predicted from RGB and a little code that turns pixels into 3D coordinates carry most of the gain without simulator ground truth, while precomputed affordances did not help.
3.1Robot readings
Robot readings are each gripper's basic sensor values, finger positions and forces, contact force and wrist load, with no privileged information such as the true pose of an object.
They help most in grasping. The default interface reports only the jaw opening the model asked for, while the readings give the opening the fingers actually reached and the force at each fingertip.
| insert_tubes, after closing | Default | With readings |
|---|---|---|
| Jaw opening, 0 to 1 | 0.24 | 0.44 13.6 mm |
| Contact force, N | not reported | 24.9 / 24.5 |
The fingers stopped at 0.44, not the commanded 0.24, and press on both sides, so the tube is held.

How the readings are written matters too. As full JSON they crowded the context and pushed many episodes into compaction, so JustRUA writes them in a short text format.
| No readings | Full JSON | Compact | |
|---|---|---|---|
| Evaluation set | 38.0 | – | 39.8 |
| First round | 42.4 | 33.5 | 38.3 |
| Empty grasps, first round | 47 | 47 | 41 |
| Characters added per decision | 0 | ~3,100 | ~1,800 |
| Episodes with context compaction | 0% | 38% | 0% |
| Cost per episode | $4.94 | $7.13 | $5.51 |
Full JSON was run on the first round only. Cost per first-round episode.
3.2Depth
Many recent agent systems use depth to place objects in 3D (RoboHarness, GPT-GEAR, RAX), but the RoboDojo leaderboard does not accept simulator depth for agent entries, as a maintainer stated in review. We test both simulator depth and depth that Depth Pro predicts from RGB alone.
The predicted distances are far off, by tens of centimetres even with the true focal length. Scaling each frame to the robot's geometry helps, but the scale drifts between frames and cannot be fitted for the wrist cameras, so JustRUA passes the raw predictions on.




| Head camera, table area | Mean absolute error | Pearson r | Spearman ρ |
|---|---|---|---|
| Raw prediction | 73.7 cm | 0.993 | 0.992 |
| With the true focal length | 40.1 cm | 0.993 | 0.992 |
| Scaled to robot geometry, per frame | 7.3 cm | 0.993 | 0.992 |
Images from make_kong. The table averages six head-camera frames from make_kong and fill_egg_holder against simulator depth. Scaling a frame leaves both correlations unchanged.
Even so, predicted depth improves manipulation almost as much as simulator depth, with as few empty grasps and fewer failed fine placements, though drops did not fall. The prediction gets the order of depths right, and that seems to be enough.
| Robot readings | Simulator depth | Predicted depth | |
|---|---|---|---|
| Evaluation set | 39.8 | 46.0 | 42.4 |
| Cost per episode | $5.51 | $7.26 | $7.74 |
First round, same 42 episodes.
3.3Affordances
Depth shows where surfaces are, but not where an object can be held or which arm can reach it. That knowledge is an affordance. Recent agent systems compute affordances with dedicated models (CLARO, ORA), and since many episodes go wrong at the grasp, we tested giving them to the model directly.
For each camera view, GraspGen proposes up to eight grasp poses per object and inverse kinematics marks which surfaces each arm can reach. Both are drawn onto the image, and the text lists the grasp poses. The hard part is presentation, since anything added to an observation either takes more space or crowds what is already there.

Drawn onto each camera view, with no depth images. The marks cover the pixels they point at.



Clean RGB and depth go back in, so each camera view appears three times.


Depth predicted from RGB, with the clean RGB left out again.


Clean RGB at full size. The six other views shrink to 256 × 192 pixels in one panel, with at most four grasp candidates.
Head camera at the first decision of insert_tubes. Click an image to enlarge it.
None of the four versions grasped more reliably or scored higher than depth images from the same source. Affordances could matter in few moments, since handovers stayed rare and grasp candidates only matter when a grasp starts, while their cost comes with every observation. We left them out of JustRUA.
| Simulator depth | Predicted depth | |||||
|---|---|---|---|---|---|---|
| Depth images | Affordances drawn | Drawn with RGB and depth | Depth images | Drawn with depth | Affordance panel | |
| Evaluation set | 46.0 | 36.7 | – | 42.4 | 30.9 | 42.1 |
| First round | 51.8 | 34.6 | 35.2 | 47.7 | 30.1 | 45.5 |
| Behaviour, first round | ||||||
| Empty grasps | 17 | 17 | 25 | 16 | 39 | 34 |
| Handovers | 9 | 14 | 11 | 15 | 9 | 14 |
| Views from the other arm | 25 | 29 | 27 | 31 | 39 | 40 |
| Tokens per observation | ~3,500 | ~3,000 | ~5,300 | ~3,700 | ~3,200 | ~3,300 |
| Cost per episode | $7.26 | $6.91 | $9.17 | $7.74 | $6.63 | $7.54 |
3.4Coordinate solving
In the last step the model may also write and run code in its session1, as in Code as Policies and URAI, and the 100-decision cap is lifted.
Almost every run uses code to solve for coordinates, casting rays from pixels through the camera calibration and triangulating a point seen by two cameras or meeting a known surface height. The code never reads the depth images. Code thus acts as one more source of scene geometry, which is why it sits on this axis.
| Use of code | Runs | Share |
|---|---|---|
| Geometry: triangulation, pixels to 3D points, poses and offsets | 123 | 93.2% |
| Listing input files or rereading its own code | 5 | 3.8% |
| Cropping and enlarging an image | 3 | 2.3% |
| No output | 1 | 0.8% |
| Total | 132 | 100% |
Code runs in the 42 first-round episodes, reviewed by hand.
| Predicted depth | Coordinate solving | |
|---|---|---|
| Evaluation set | 42.4 | 50.3 |
| First round | 47.7 | 54.0 |
| Cost per episode | $7.74 | $12.53 |
Cost per first-round episode.
In insert_tubes the model locates the tubes and the holes of the rack from pixels and places all three tubes.
| insert_tubes, same layout | Predicted depth | Coordinate solving |
|---|---|---|
| Score | 40 | 100 |
| Decisions | 65 | 57 |
| Control steps, of 500 | 500 | 496 |
The player pauses where the code runs and skips the stretches between. Distances compare the code's output with the commands that followed, not with true object positions. Code and output as the model ran them.
1 Web search stays off, so that the model cannot look up the benchmark or its solutions.
04Error analysis
With our best configuration, 21 of the 42 first-round tasks score below 50. We sorted every such episode by cause, to see whether further gains need one general fix or work on each task. Most failures turn out to be specific to one task.
4.1Failure classification
4.2Potential fixes
Each of the first three causes points to a general fix, but each needs knowledge that is costly to supply.
Revising the task prompts fixes the prompt and scoring cases and raises the first round from 54.0 to 55.6. The rest would need trial and error on each task, close to tuning on the test tasks.
Notes on evaluation
The official evaluation scores each task over 50 episodes, since one layout's score is spiky. We run far fewer, and rounds differ in difficulty, so every configuration here runs on the same fixed layouts, in the first round and on the evaluation set alike.
Round-to-round variation
Low and medium effort rise and fall together across eight rounds (correlation 0.84), though we have not separated layout difficulty from run-to-run randomness. The first round alone tends to run high, above the eight-round mean in all three settings below.
Score of the default testbed in each of eight rounds.
| First round | Mean of 8 rounds | Full evaluation | |
|---|---|---|---|
| Official L3 harness | 32.3 | 28.7 | 29.0 |
| Default testbed, low effort | 35.9 | 34.5 | — |
| Default testbed, medium effort | 42.4 | 35.9 | — |
Official L3 rounds map our eight layouts onto the episodes published by RoboProbe.
Tasks run on four layouts
These 23 tasks run on four layouts each. On each, a partial result scores at most 50, and the default testbed both succeeded and failed within eight rounds.
push_Tsort_nesting_dolls_by_sizestack_bowlsfold_clothesarrange_largest_numberpack_objects_into_boxswap_Tmatch_and_pick_from_conveyorimitate_sorting_sequencepress_by_numbercover_blocksalign_blockssolve_equationstack_blocks_by_languageclassify_objects_by_languagegeneral_pickuppick_from_conveyor_by_imageplug_in_chargerfasten_screwsplay_Xylophonepour_balls_into_vaseput_bottles_into_dustbinclassify_objectsswap_T is a typical case. It scores 100 only when the two T blocks swap places within 20 mm and 3° and both arms are back at rest, and 0 otherwise. Both settings scored 0 in the first round and succeeded in four of the eight rounds.
| Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Low effort | 0 | 100 | 0 | 0 | 0 | 100 | 100 | 100 |
| Medium effort | 0 | 0 | 100 | 100 | 0 | 100 | 0 | 100 |
References
- Michael Ahn, Anthony Brohan, Noah Brown, et al. Do As I Can, Not As I Say: Grounding Language in Robotic Affordances. CoRL, 2022.
- Aleksei Bochkovskii, Amaël Delaunoy, Hugo Germain, et al. Depth Pro: Sharp Monocular Metric Depth in Less Than a Second. ICLR, 2025.
- Tianxing Chen, Yue Chen, Zixuan Li, et al. RoboDojo: A Unified Sim-and-Real Benchmark for Comprehensive Evaluation of Generalist Robot Manipulation Policies. arXiv:2607.04434, 2026.
- Galbot Team, Xuchuan Chen, Xiaoqian Cheng, et al. Systematically Exploring the Capabilities of GPT-6 Astra as Embodied Policies. arXiv:2609.38537, 2026.
- Shijia Ge, Alex Zhou, Jianshu Zeng, et al. Make Code as Policy Great Again: Frontier Agents Write, Call, and Evolve Robot Tools. arXiv:2609.39018, 2026.
- Meng-Hao Guo, Zhe-Han Mo, Jia-Jun Wang, et al. Transferring the Intelligence of VLMs to Robotic Control. arXiv:2609.22966, 2026.
- Runhan Huang, Xiangcheng Zhang, Haoyu Chen, et al. Scaling Online Exploration for Robot Agents. arXiv:2610.22496, 2026.
- Sungsu Kim, Vineet Bhat, Prashanth Krishnamurthy, et al. CLARO: Clutter Aware Robot Orchestrator for Open-Vocabulary Grasping using VLM Agents. arXiv:2610.24016, 2026.
- Wenyi Li, Yizhe Chi, Youjie Zheng, et al. EmbodiedEvo: Self-Evolving Coding Agent for Physical Intelligence. arXiv:2610.18867, 2026.
- Zekai Li, Jiayi Yu, Jinlu Zhang, et al. Where is Physical RSI Capability From? An Observational Scaling Law of LLM-as-Policy. arXiv:2610.26848, 2026.
- Jacky Liang, Wenlong Huang, Fei Xia, et al. Code as Policies: Language Model Programs for Embodied Control. ICRA, 2023.
- Adithyavairavan Murali, Balakumar Sundaralingam, Yu-Wei Chao, et al. GraspGen: A Diffusion-based Framework for 6-DOF Grasping with On-Generator Training. arXiv:2507.13097, 2025.
- OpenAI. Codex. Software, 2026.
- OpenSenseNova. SenseNova-RoboRSI: Recursive Self-Improvement for Embodied Agents. Code, 2026.
- Bince Qu, Wei Chen, Bo Zhang. RoboHarness: A Simple Harness Outperforms VLA and World Actions Models. arXiv:2610.14018, 2026.
- SenseNova and Joint Research Team, Zhongang Cai, Ziang Cao, Tailai Chen, et al. Has GPT-6-Astra Achieved Embodied Intelligence? arXiv:2610.22471, 2026.
- Balakumar Sundaralingam, Siva Kumar Sastry Hari, Adam Fishman, et al. cuRobo: Parallelized Collision-Free Minimum-Jerk Robot Motion Generation. arXiv:2310.17274, 2023.
- XPolicyLab maintainers. Review comment on simulator depth for agent entries, pull request #151. GitHub, 2026.
- Jenai Xuning Yang, Ashna Khetan, Shun Zhang. Astranomy: An Empirical Study of GPT-6 Astra as a Native Robot Policy. CoRL Late-Breaking Results, 2026.
- Yuanbo Yang, Siyi Chen, Jun Gao, Hao Zhang. ORA: Open Robot-Use Agents. Code and blog post, 2026.
- Wenbo Zhang, Kaixuan Wang, Yutao Ouyang, et al. An Unexpected Robot Policy: Early Evaluations of GPT-6 Astra on RoboDojo and Beyond. arXiv:2609.24170, 2026.
- Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware. RSS, 2023.
- Youwei Zhou, Bohan Hou, Yankai Fu, et al. Large Multimodal Models for Direct Robot Control: GPT-6 as a Beginning. arXiv:2610.28259, 2026.
Citation
@article{justrua2026,
title = {JustRUA: A Controlled Study of GPT-6 Robot-Use Agents},
author = {Zefan Wang and Yufan Dang and Xuanwei Shi and Mingqi Gao and Cheng Yin and SikYuen Tam and Hanyu Liu and Yasheng Wang and Yaxi Lu and Songyang Zhang and Xin Cong and Yuan Yao},
journal = {arXiv preprint arXiv:2611.16009},
year = {2026}
}
