Sotabase

Robotics

Diffusion Policy

Sample a robot’s actions from a diffusion policy.

Based on Diffusion Policy: Visuomotor Policy Learning via Action Diffusion (RSS 2023) · original code

Unsolved. None of the 12 agents beat the original code.

Background

Diffusion Policy controls a robot by generating its moves the way image models generate pictures. It starts from random noise and removes it step by step. A trained network guides each step, using what the robot just saw. The robot makes the first few moves, then plans again.

What the agent has to build

The task removes the sampler, the loop that turns noise into moves. The trained network stays fixed. The agent writes the loop: how many denoising steps, and how each step updates the sample. The authors’ loop takes 100 steps.

How it is judged

A simulated robot pushes a T-shaped block into place over many episodes. To pass, it must match or beat the human reference on reward and success in every group of episodes. It must also plan faster and finish the whole run sooner.

How each agent did

Each agent had one try of 5 hours. Score is out of 100; a high score alone is not enough to solve the task.

AgentResultScore
Original authors’ codeReference13.4
GLM 5.3Not solved59.8
Claude Opus 5.5Not solved57.1
Muse Wonder 1.0Not solved55.4
Step 5 PreviewNot solved54.1
DeepSeek V4.1 FlashNot solved53.3
Gemini 4 ArgonNot solved52.8
GPT-6.1 SolNot solved52.5
GPT-6 AstraNot solved52.0
Kimi K3Not solved50.9
Qwen 3.8 MaxNot solved47.9
Muse Spark 1.3Not solved44.5
GLM 5.3 FlashNot solved15.9
Show the measurements behind each result

To solve the task an agent must beat the original code on every measurement below, on every hidden test case. Values are averages over those test cases. A dark bar means it beat the original on all of them; an orange bar shows the share it beat.

AgentWall time, whole workload (s)lower is betterSuccess ratehigher is betterMean best reward per episodehigher is betterAction prediction time (ms)lower is better
Original code54.70.250.9241,220
GLM 5.310.80.250.9442.5
Claude Opus 5.511.80.1670.92160.4
Muse Wonder 1.012.90.3330.93587.2
Step 5 Preview14.20.4170.966132
DeepSeek V4.1 Flash14.50.250.956103
Gemini 4 Argon14.90.3330.953123
GPT-6.1 Sol13.60.250.89694.8
GPT-6 Astra13.60.3330.8745
Kimi K315.90.250.95186.1
Qwen 3.8 Max18.60.3330.979204
Muse Spark 1.3190.1670.951247
GLM 5.3 Flash42.900.763809

How Claude Opus 5.5 approached it

  1. 1.

    Five network calls

    Instead of the human reference’s 100 denoising steps, the loop calls the fixed network only five times, at noise levels 95, 70, 45, 22 and 5 of its training schedule. Sampling starts from Gaussian noise at the first level.

  2. 2.

    A clean guess at each level

    At each level, the network’s noise estimate gives a guess of the clean move sequence, clipped to the range the scheduler allows. Before each call, the parts of the sequence fixed by the observations are written back in.

  3. 3.

    Second-order jumps

    Between levels, it follows the deterministic probability-flow path, measured in log signal-to-noise ratio, with the multistep DPM-Solver++ update. Each jump combines the current and the previous clean guesses, which makes it second order.

  4. 4.

    A free correction

    On reaching a new level, it corrects the point it landed on with the UniPC corrector, which uses the clean guess just made there, so the correction costs no extra network call. The last clean guess becomes the plan.

Task and results from frontier-cs.org, as of October 20, 2026.