A study of coding agents & physical reasoning

Coding agents for
generalized task
and motion planning.

Give an agent a simulator. Let it write a program.
See how far that program generalizes.

SCROLL TO EXPLORE Real rollouts. Across 28 environments.

01 / THE BIG PICTURE

One program.
Many instances.

Can a general-purpose coding agent discover the physical reasoning needed for task and motion planning? We let agents investigate a simulator, develop a policy, and test that frozen program on unseen instances.

Open film ↗
28simulated environments
700synthesized programs
70,000held-out evaluation episodes
0LLM calls at test time

02 / THE METHOD

Room to experiment.
Code that generalizes.

The agent tests its assumptions, uses what it observes to improve its program, then freezes the code for unseen instances. Follow one real Shelf run from an inaccurate arm model to a reusable policy.

GIVEN TO THE AGENT
  • Task description
  • Simulator: reset + step
  • $20 synthesis budget

No simulator source or hand-designed planning abstractions.

A real synthesis trace

Shelf · Claude Code · Opus 5 · seed 222

Probe → calibrate → evaluate
  1. 01

    DURING SYNTHESIS

    Test the model

    Floor probe · 3×

    The prediction does not match reality.

    The arm stalls against the floor, even though the agent’s initial model predicts clearance. It needs to measure the robot’s actual geometry.

    38.9 mmInitial position RMSE
    on calibration observations
    NEXTCollect positions to correct the model
  2. 02

    DURING SYNTHESIS

    Fit & refine

    Collect block positions · 8×

    Use the held block as a measuring tool.

    Observed block positions let the agent fit six parameters for the robot mount and grasp offsets. It uses the calibrated model for inverse kinematics and refines its policy.

    1.8 mmPosition RMSE after calibration
    on the same observations
    NEXTFreeze the resulting program
  3. 03

    HELD-OUT EVALUATION

    Freeze & test

    Same program, new instances · 8×

    New instances. The same frozen code.

    Evaluate the program on 100 unseen instances with different configurations. The coding agent is no longer involved: the program computes the actions itself.

    100Held-out test instances
    0 LLM calls at test time
    OUTPUTA reusable programmatic policy
Four views from the paper: probe the arm, compare the orange predicted pose with the observed pose, fit the robot geometry, then use calibrated inverse kinematics to place a block on the shelf.
The Shelf case study from the paper. The model discrepancy is enlarged for visibility.

WHAT CHANGED BETWEEN STAGES 1 AND 2?

A model that matches
what the robot actually does.

The agent compares where its model predicts the held block will be with where the simulator says it is. Fitting the geometry brings those positions much closer together.

Learn the geometry → use it to choose actions.

The calibrated model helps the policy solve inverse kinematics. These errors describe the calibration observations; held-out task success is evaluated separately in stage 3.

03 / THE LEADERBOARD

Put every method
to the test.

Five runs. One hundred held-out instances per environment. Explore the results across both geometric and dynamic tasks.

Download the results

Loading the paper’s results…

Mean held-out success rate by method. Source access is shown for every method.
RankMethod / backendEnvironment accessCoverage

Equal-environment averages of the rounded means in Tables I–II. The source-access reference is listed separately. Missing planner results are excluded from its average.

Read the tables ↗

More coding agents on the way.

04 / A CLOSER LOOK

Different worlds.
Different challenges.

Explore all 28 environments. Compare every method, including the range across synthesis runs, alongside an example rollout.

EXAMPLE ROLLOUT

Bars show mean success; brackets give min–max across the five runs. Example videos illustrate behavior and do not represent an average run.

WHEN SOURCE CODE HELPS

From no successes
to 57%.

On SweepIntoDrawer, access to source code raises Claude Code’s mean success from 0% to 57%. The agent discovers it can use the gripper itself to sweep.

FAST PROGRAMS AT TEST TIME

Decisions in
4.0 milliseconds.

Main setting4.002 ms
With source27.900 ms

Policy computation per action. Equal-environment means on 44 matched seeds across 13 environments where both settings achieve 100% success. Table III.

EXPLORE THE RESEARCH

What can a coding agent
figure out next?