Profiling a Frontier Agent with EBench: From Direct Control to Harness with Policy
Organizations: Shanghai Artificial Intelligence Laboratory · Shanghai Jiao Tong University · Fudan University · Zhejiang University
Abstract
Frontier multimodal large language models (MLLMs) can control robots without robot-specific training, but how their capabilities compare and interact with post-trained vision-language-action (VLA) and world action model (WAM) policies across manipulation demands remains to be thoroughly evaluated. In this report, we evaluate GPT-6-Astra on EBench as the core of an agent that controls a robot through an agent harness under the same visual and proprioceptive observation protocol as post-trained policies. We study two agent configurations: direct control, in which the agent generates waypoint commands directly, and harness with policy, in which it can also invoke a post-trained VLA or WAM policy for action execution. Under direct control, the agent achieves competitive overall performance relative to post-trained policies. It leads on short-horizon tasks and exhibits the least performance variation across generalization dimensions, whereas it underperforms post-trained policies on long-horizon tasks, tabletop manipulation, and high-precision contact-rich tasks. In the harness with policy, invoking a post-trained VLA or WAM combines the complementary strengths of both components, raising overall task success to the level of the strongest compared post-trained policies while substantially reducing token cost. However, performance remains below the per-task upper bound of the standalone components due to suboptimal policy invocation, fixed-instruction execution without subgoals, and grasp disruption when the agent resumes control. Overall, our study characterizes the capability boundary of a frontier MLLM agent and suggests directions for improving future agent harness design. Project page: https://internrobotics.github.io/EBench-Astra-Tech-Report/
Figures & tables
| Overall | Mobile | Tabletop | |||||
| Policy | Type | SR (%) | Score | SR (%) | Score | SR (%) | Score |
| Post-trained policies | |||||||
| OpenWAM- | WAM | 55.3 | 0.701 | 60.2 | 0.740 | 42.1 | 0.594 |
| InternW0- | WAM | 49.2 | 0.660 | 55.0 | 0.700 | 33.6 | 0.552 |
| Qwen-RobotManip | VLA | 45.6 | 0.608 | 43.9 | 0.576 | 50.0 | 0.696 |
| VLA | 41.4 | 0.544 | 45.9 | 0.578 | 29.3 | 0.452 | |
| Tasks | Direct control | Policy alone | Harness with | ||
|---|---|---|---|---|---|
| InternW0- | InternW0- | ||||
| All tasks (26) | |||||
| SR (%) | 46.7 | 41.4 | 49.2 | 53.0 | 56.0 |
| Score | 0.654 | 0.544 | 0.660 | 0.692 | 0.744 |
| Precision | |||||
| Low (14) | 60.6 | 49.6 | 58.7 | 68.9 | 68.2 |
| Direct control | Harness with | ||
| InternW0- | |||
| Outcome of the 510 episodes | |||
| Success | 237 | 269 | 284 |
| Partial credit | 188 | 162 | 168 |
| Score of zero | 85 | 79 | 58 |
| Ending of the unsuccessful episodes | |||
Appendix figures & tables28 assets
Supplementary material from the paper’s appendix.
Appendix
| Tool | Arguments | Available | Description as shown to the model |
|---|---|---|---|
| execute_eef | waypoints : 1–6 of { left , right (position, quaternion, and two finger targets, or null), base pose or null, steps 1–64, and optional motion_steps } | all | “Execute 1..6 native GenManip absolute EEF waypoints in order. Each arm target has xyz(m), unit quaternion(wxyz) in that arm’s planner-base frame, and two finger joint targets(m): [0.044,0.044] open, [0,0] close. […] The simulator performs IK; targets may remain unreachable, so inspect returned measured poses. No automatic grasp approval or task-stage rules are imposed. Returns final robot state and selected RGB cameras; sequences have no intermediate model observation. […]” |
| set_gripper | side , opening in [0,1], steps 1–64 | all | “Send a normalized gripper opening command: opening=0 fully closed, opening=1 fully open. […] Use this for closing at rest; measured opening may remain nonzero due to contact. Returns selected RGB and measured robot state.” |
| observe | none | all | “Return selected RGB views and measured robot state from the latest acknowledged simulator step. Does not advance physics. […]” |
| execute_pi05 | steps 1–300, instruction (string or null) | VLA | “Delegate a bounded manipulation segment to the trained EBench pi0.5 policy. It uses the CURRENT RGB images and robot state, predicts absolute joint/gripper targets, and replans every 30 steps. Choose this when learned dexterity may help with grasping, alignment, insertion or other fine manipulation. […] After the requested steps, control automatically returns to you with fresh RGB and state; […] pass instruction=null. […]” |
| execute_wam | steps 1–300, instruction (string or null) | WAM | “Delegate a bounded manipulation segment to the trained EBench InternW0-delta world-action-model policy. It uses the CURRENT RGB images and robot state together with its own frames from earlier in this episode, predicts absolute joint/gripper targets, and replans every 10 steps. […] After the requested steps, control automatically returns to you with fresh RGB and state; […] pass instruction=null. […]” |
| query_icl | view (text, frames, or all), frame_indices (keyframe indices) | demo | “The saved ICL demonstration remains available through query_icl throughout this episode. […] Querying does not advance simulation. Ground actions in the current RGB/state.” |
| Part | Content as shown to the model |
|---|---|
| Header | “HISTORICAL DEMONSTRATION – reference from a separate recorded episode, not the current observation or the current episode’s action history.” |
| Source and instruction | “Historical demonstration of bowl_to_plate, source episode 600. Reference instruction: Take out one of the three bowls and stack on the plate.” |
| Arm roles | “Right arm; base shifts from the sink toward the plate.” |
| Observed sequence | “Reach into the sink and grip the rim of the brown bowl. Lift it clear of the other bowls and sink rim, reposition the base toward the plate on the counter, place the bowl over the plate, lower it onto the plate, and open the fingers.” |
| Observed outcome | “The brown bowl is visibly supported on the white plate after the right fingers open; two patterned bowls remain in the sink.” |
| Evidence limits | “Final contact is partly occluded by the gripper. No official success label or force measurement is supplied.” |
| Field | Meaning |
|---|---|
| executed_waypoints (EEF) | One record per executed waypoint: its running index within the episode, the physics steps executed, and the measured state after it. |
| executed_waypoints ( ) | The controller, the requested and executed physics steps, the number of policy inferences (one per 30 steps), and whether control returned to the agent or the episode ended. |
| executed_waypoints (InternW0- ) | As for , with one inference per 10 steps, together with the fixed policy prompt and its source, scope, and SHA-256 hash, and the number of inferences in the call whose frame from 32 steps earlier had not been observed and was padded. |
| state.gripper , state.base | The four finger-joint positions in meters, left arm first (0.044 per finger is fully open), and the planar base pose ( , in meters, yaw in radians). |
| state.ee_pose , timestep | For each arm, the EEF position in meters and its wxyz quaternion in that arm’s planner-base frame, together with the physics steps executed since the start of the episode. |
| remaining_tool_calls , remaining_physics_steps | Always null, since no local limit applies and the benchmark’s step limit is not disclosed. |
| Overall | Mobile | Tabletop | |||||
| Policy | Type | SR (%) | Score | SR (%) | Score | SR (%) | Score |
| Post-trained policies | |||||||
| PICA-WAM ( Zou et al., 2026 ) | WAM | 61.4 | 0.749 | 67.5 | 0.783 | 45.0 | 0.663 |
| OpenWAM- ( Wang et al., 2026b ) | WAM | 55.3 | 0.701 | 60.2 | 0.740 | 42.1 | 0.594 |
| Vela ( Li et al., 2026b ) | VLA | 49.7 | 0.655 | 51.7 | 0.661 | 44.3 | 0.641 |
| InternW0- ( Miao et al., 2026 ) | WAM | 49.2 | 0.660 | 55.0 | 0.700 | 33.6 | 0.552 |
| Task | Prec. | Mob. | Hor. | OWAM | IW0- | Astra | Qwen | IVLA | Giga | FWAM | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Apple from shelf | Low | Mob. | Short | 70.0 | 15.0 | 70.0 | 65.0 | 75.0 | 35.0 | 40.0 | 55.0 | 40.0 |
| Apple to fruit bowl | Low | Mob. | Short | 95.0 | 95.0 | 90.0 | 50.0 | 25.0 | 20.0 | 10.0 | 20.0 | 70.0 |
| Bookmark on book | Low | Mob. | Short | 35.0 | 35.0 | 90.0 | 40.0 | 55.0 | 45.0 | 25.0 | 30.0 | 30.0 |
| Bowl to plate | Low | Mob. | Short | 85.0 | 80.0 | 75.0 | 75.0 | 85.0 | 60.0 | 60.0 | 65.0 | 75.0 |
| Gear installation | High | Tab. | Short | 40.0 | 50.0 | 15.0 | 50.0 | 10.0 | 15.0 | 30.0 | 20.0 | 15.0 |
| Perfume to cosmetics rack | Low | Mob. | Short | 75.0 | 30.0 | 75.0 | 55.0 | 60.0 | 45.0 | 25.0 | 25.0 | 50.0 |
| Task | Prec. | Mob. | Hor. | OWAM | IW0- | Astra | Qwen | IVLA | Giga | FWAM | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Apple from shelf | Low | Mob. | Short | 0.70 | 0.15 | 0.70 | 0.65 | 0.75 | 0.35 | 0.40 | 0.55 | 0.40 |
| Apple to fruit bowl | Low | Mob. | Short | 0.95 | 0.95 | 0.90 | 0.50 | 0.25 | 0.20 | 0.10 | 0.20 | 0.70 |
| Bookmark on book | Low | Mob. | Short | 0.35 | 0.35 | 0.90 | 0.40 | 0.55 | 0.45 | 0.25 | 0.30 | 0.30 |
| Bowl to plate | Low | Mob. | Short | 0.85 | 0.80 | 0.75 | 0.75 | 0.85 | 0.60 | 0.60 | 0.65 | 0.75 |
| Gear installation | High | Tab. | Short | 0.50 | 0.60 | 0.20 | 0.58 | 0.13 | 0.20 | 0.38 | 0.28 | 0.15 |
| Perfume to cosmetics rack | Low | Mob. | Short | 0.78 | 0.30 | 0.88 | 0.60 | 0.68 | 0.60 | 0.30 | 0.33 | 0.50 |
| Object | Background | Instruction | Mix | |||||
| Policy | SR (%) | Score | SR (%) | Score | SR (%) | Score | SR (%) | Score |
| OpenWAM- | 52.5 | 0.657 | 61.5 | 0.767 | 60.0 | 0.751 | 44.6 | 0.604 |
| InternW0- | 49.2 | 0.645 | 51.5 | 0.672 | 52.3 | 0.694 | 44.6 | 0.619 |
| GPT-6-Astra (direct control) | 44.2 | 0.648 | 50.8 | 0.692 | 44.6 | 0.620 | 46.2 | 0.643 |
| Qwen-RobotManip | 40.8 | 0.565 | 55.4 | 0.722 | 51.5 | 0.655 | 33.8 | 0.485 |
| 41.7 | 0.534 | 42.3 | 0.575 | 46.2 | 0.597 | 34.6 | 0.457 | |
| Direct control | in the harness | |
|---|---|---|
| Chunk transitions measured | 109,079 | 88,573 |
| Median wrist rotation ( ∘ per step) | 0.00 | 0.08 |
| 99th percentile ( ∘ per step) | 2.81 | 2.58 |
| 99.9th percentile ( ∘ per step) | 4.06 | 3.81 |
| Transitions above 3 ∘ per step (episodes) | 643 (147) | 196 (94) |
| Commands turning a wrist by within a window of 24 steps (episodes) | 38 (31) | 0 (0) |
| Task | Direct control | Policy alone | Harness with | Policy step share | |||
|---|---|---|---|---|---|---|---|
| InternW0- | InternW0- | InternW0- | |||||
| Teacup, saucer & teapot | 85.0 | 30.0 | 45.0 | 30.0 | 55.0 | 51.9 | 48.9 |
| Peg in hole | 20.0 | 10.0 | 10.0 | 5.0 | 0.0 | 61.1 | 63.4 |
| Microwave | 73.3 | 40.0 | 6.7 | 60.0 | 60.0 | 75.0 | 71.2 |
| Fruit | 40.0 | 10.0 | 60.0 | 30.0 | 45.0 | 57.3 | 64.0 |
| Pen | 15.0 | 0.0 | 15.0 | 5.0 | 0.0 | 53.5 | 53.4 |
| Harness with | Harness with InternW0- | ||||||||
| Direct control | Succ. | Limit | Claim | Fail | Succ. | Limit | Claim | Fail | |
| Success | 237 | 178 | 52 | 3 | 4 | 188 | 33 | 2 | 13 |
| Step limit | 229 | 72 | 140 | 6 | 10 | 76 | 135 | 8 | 9 |
| Ended, claims completion | 21 | 10 | 3 | 6 | 2 | 11 | 5 | 3 | 2 |
| Ended, reports failure | 22 | 8 | 6 | 0 | 8 | 9 | 4 | 0 | 9 |
| Other | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Decisive incident | With | With InternW0- |
|---|---|---|
| Object lost or misplaced during a policy segment or when the agent resumes control | 16 | 30 |
| Policy without the object, on the wrong object or subgoal, or undoing a stage | 5 | 1 |
| Agent’s own grasp slips | 30 | 12 |
| Completion claimed while a stage remains unmet | 3 | 2 |
| Other | 5 | 4 |
| Total | 59 | 49 |
| Decisive incident | InternW0- | Same in both | Main tasks | |
|---|---|---|---|---|
| Agent’s own grasp slips (lift test or transport) | 58 | 42 | 19 | Utensils to holder, Peg in hole, Pen |
| Object lost or misplaced in a policy segment | 37 | 53 | 10 | Peg in hole, Pen, Shop |
| Contact stage never completed | 19 | 24 | 12 | Tighten nut, Gear installation, Peg in hole |
| Policy segment empty-handed or on the wrong object | 16 | 15 | 4 | Shop, Bottle |
| Step limit without a decisive loss | 16 | 11 | 4 | Bottle |
| Slip after resuming control without a maintained grasp | 14 | 10 | 7 | Collect coffee beans |
| Harness with | Harness with InternW0- | |||
|---|---|---|---|---|
| Successful | Unsuccessful | Successful | Unsuccessful | |
| Episodes | 269 | 241 | 284 | 226 |
| Motion commands per episode | 14.7 | 32.0 | 15.2 | 30.4 |
| Transitions per episode | 4.2 | 7.2 | 3.8 | 6.8 |
| Transitions per motion command | 0.33 | 0.26 | 0.28 | 0.24 |
| Episodes ending with an agent command (%) | 42.8 | 68.0 | 47.2 | 71.7 |
| Configuration | Tokens (M) | Cached (%) | Uncached (k) | Writes (k) | Output (k) | USD/episode | USD/success |
|---|---|---|---|---|---|---|---|
| Direct control | 3.77 | 91.5 | 75.6 | 244.8 | 11.2 | 7.82 | 16.82 |
| Harness with | 1.83 | 96.5 | 64.2 | 0 | 4.6 | 2.63 | 4.99 |
| Harness with InternW0- | 2.22 | 97.0 | 65.7 | 0 | 4.9 | 3.06 | 5.49 |
Language Model-Based Control
Language model-based control uses language models to interpret goals, choose actions, and steer AI systems or physical processes.
See all 180 papers