Coding Agents for Generalized Task and Motion Planning Problems

We evaluate coding agents that synthesize reusable policies for task and motion planning across 28 simulated environments.

Example rollouts from the study

Generalized task and motion planning

In task and motion planning (TAMP), discrete choices—such as which object to manipulate, which tool to use, or which subgoal to pursue—are coupled to continuous geometric, kinematic, and dynamic constraints.

Generalized TAMP exploits regularities across problem instances to produce reusable solutions, for example by learning samplers, feasibility predictors, search heuristics, or abstractions. In this paper, we study coding agents as a synthesis method that produces a single programmatic policy for each environment: AgenticGenPlan.

Within an environment, instances may differ in object count, configuration, and geometry, while sharing the state and action spaces, transition model, and reward function. States are fully observed and object-centric; perception and language understanding are outside the scope of this study.

Obstruction task with one obstacle1 obstacle
Obstruction task with two obstacles2 obstacles
Obstruction task with four obstacles4 obstacles
Different instances of the Obstruction task. The same program must retrieve the target block across these configurations.

Experimental setup

Access restrictions in the main setting

The agent receives a description of the task, observation and action spaces, and goal. It chooses its own simulator tests within a $20 model-usage budget per synthesis run.

  • No network or host-filesystem access. Code runs in an isolated Docker container with a separate filesystem.
  • No environment source code. A client API provides reset, step, and rendering. The simulator implementation runs outside the container and is inaccessible to the agent.
  • Only Python, NumPy, and SciPy. The agent must generate its own end-to-end policy.
  • No supplied TAMP components. We provide no hand-written predicates, operators, samplers, or skills.

We test this isolation through red-teaming: attempts to recover source code, import forbidden libraries, access host files, or reach the network.

Held-out evaluation

The resulting program is frozen. It selects actions with no further coding-agent or LLM calls.

  • Five independent runs per method and environment.
  • The same 100 held-out instances per environment for all programs and planners, sampled from the initial-state distribution used during synthesis.
  • Evaluation seeds checked for overlap. Seeds are generated randomly, and we verify afterward that none were used during synthesis.
  • 60 seconds per evaluation instance for every method.

+ source comparison. In this additional setting, which we run with Claude Code with Opus 5 and Codex with GPT-6 Astra on all 28 environments, the agent can inspect the environment implementation and import its helper functions, including inverse kinematics solvers. During synthesis, it can also set arbitrary simulator states.

The study includes 25 KinDER environments across four families and three PDDLStream domains: Packing, Blocked, and Rovers. View each environment and the exact description given to the agent.

Protocol: Sections II-C and III-A and Section IV-A.

28simulated environments
980synthesized programs
98,000evaluation episodes

Includes 280 additional GPT-6 Astra programs and 28,000 evaluation episodes: 140 in the main setting and 140 + source.

Project video

An overview of the task setup, a synthesis example, experimental results, and selected behaviors.

Experimental results

Mean success rates over 100 held-out instances per run, averaged across five runs and the selected environments.

Download the results ↓

Loading the paper’s results…

Mean held-out success rate by method. The future coding agents row is a placeholder with an unknown score.
Method / backendSetting / accessCoverage
Future coding agentsMore and better in the future——?

Equal-environment averages. GPT-6 Astra, in the main setting and + source, uses five completed experiment runs per environment; the other methods use Tables I–II. All environment means use the same two-decimal precision. The two + source rows are listed separately. Missing planner results are excluded from its average.

Read the tables ↗

Results by environment

Select an environment to play the policy examples together. Method results and the text supplied to the agent appear below the videos.

Method results

Mean success over 100 held-out instances per run; brackets give min–max across five runs.

Text supplied to the agent

Original Markdown ↗

In the main setting, the agent receives text and interactive simulator access, without demonstration videos. The text below is verbatim from the archived experiment record.

Loading the environment description…

Effect of source access

Source access serves as a reference for how the agents perform with complete knowledge of the environment. It raises mean success for both agents, from 74% to 84% for Claude Code with Opus 5 and from 86% to 95% for Codex with GPT-6 Astra. Source access is not sufficient on its own: LLMGenPlan also receives the source code, uses Opus 5, and has the same $20 budget, yet reaches 28%, while Claude Code with Opus 5 + source is higher in 27 of 28 environments. The source code provides both information and implementations that programs can reuse. With it, the agents can read goals and success checks directly, whereas in the main setting they must infer them from rewards and images, and sometimes settle on an inaccurate goal. On SweepIntoDrawer, for example, source access raises Claude Code with Opus 5 from 0% to 57%.

Mean held-out success over all 28 environments for each coding agent, in the main setting and with source access.
Coding agentMain setting+ source
Loading…

Equal-environment means over all 28 environments, five runs each.

Computation at test time

Claude CodeOpus 5 · Main setting11.741 ms
Claude CodeOpus 5 · + source42.480 ms
CodexGPT-6 Astra · Main setting1.299 ms
CodexGPT-6 Astra · + source50.392 ms

Policy computation per action on the 15 environments where all four settings have at least one run with 100% held-out success. Each method is averaged over its own runs with 100% held-out success, equally across environments. Table III ↗

Citation

@misc{merler2026coding,
  title={Coding Agents for Generalized Task and Motion Planning Problems},
  author={Matteo Merler and Bowen Li and Josh Roy and Yichao Liang and Qianwei Wang and Yixuan Huang and Tom Silver},
  year={2026},
  eprint={2609.30233},
  archivePrefix={arXiv},
  primaryClass={cs.RO},
  url={https://arxiv.org/abs/2609.30233},
}