Research · October 2026

Trial and error,
distilled into capability.

R2SI is a two-layer robot agent. The inner Robot Agent acts. The outer Recursion Agent improves it — revising Skills and training the reactive model, round after round.

39.35%SR46.58Score

#1 Overall

35.83%SR42.95Score

Generalization

15.50%SR23.51Score

Precision

34.25%SR51.48Score

Long-Horizon

63.67%SR65.78Score

Memory

47.50%SR49.16Score

Open

Official RoboDojo leaderboard · October 17, 2026 ↗

01Film

R2SI in two minutes.

The architecture, push_T and packing, end to end.

02Overview

R2SI is built from two agents. The inner layer executes. The outer layer improves. Every update must pass its tests before it ships.

Inner · per decision

Robot Agent

Decides from multi-view RGB images, robot proprioception, the task description and episode memory, and acts through the Skills it loads.

Calling the reactive model is itself a Skill: the model executes one action chunk, then hands control back, and the Robot Agent decides the next step from fresh observations.

Outer · per round

Recursion Agent

Reviews execution records across rounds, revises Skills, and applies them to the inner layer as Harness updates.

For tasks that use the reactive model, it also turns execution records into training data and trains the model. Updates that pass their tests are released automatically and versioned.

03Results on RoboDojo

First on RoboDojo. Same model, better harness.

Official native step limits, RGB and proprioception only. R2SI runs on GPT-6-Astra — the same VLM as the reference agent on the leaderboard — so the gap is what the harness adds.

Overall score 0–100

Green gain: score points over GPT-6-Astra (same VLM).

In-budget success rate %

Green gain: percentage points over GPT-6-Astra (same VLM).

Generalization

42.95

+6.57 over VPP2. Standard and random layouts average 35.83% success, under the official native step limits.

Memory

65.78

63.67% success on tasks that depend on earlier observations. +22.74 score over GPT-6-Astra in the reference harness.

Same VLM

30 / 42

Tasks where R2SI beats GPT-6-Astra in the reference harness. Memory +22.74, Long-Horizon +30.03, Precision +10.86.

Score by ability group and by task

All 42 tasks. R2SI: official leaderboard, 2026.10.17, with all 54 variants aggregated by task. Baselines: official leaderboard, 2026.10.14.

0100

What each part contributes

Remove one component, keep everything else fixed.

R2SI harness
28.9746.58
overall score · same VLM
Outer-loop revision
723389
native steps · push_T
Gated iteration
2/88/8
layouts in budget · align_blocks
Skill Layer
370.5215.5
mean native steps · stack_blocks · −41.8%
04Architecture

Two agents. One loop.

The outer layer improves the inner one along two paths. Teal is the Skill path (ΔHarness); violet is the reactive-model path (Δθ).

Recursion Agentouter · per roundreview → revise → test → release
01Memoryreview rollouts
02Skillpropose a revision
03Tooltest gate
04ReleaseHk → Hk+1
Train the reactive modelexecution records → training data → Δθ
rollouts + native scores
ΔHarness
Δθ
Robot Agentinner · per decisionobserve → decide → act through Skills
Context
  • multi-view RGB
  • proprioception
  • task
  • episode memory
Skills
  • general Skills
  • call reactive model
Tools
  • action
  • observation
  • env interface
Reactive modelone action chunk, then control returns
World · RoboDojo× N tasksRGB onlydepthobject GTdemosnative scoring

The inner layer acts through Skills; the outer layer keeps improving the Skills and the reactive model.

05Inside one decision

Observe. Decide. Call a tool.

A full stack_blocks success in 28 decisions. Three camera views in, one typed tool call out — and when the planner rejects a pose, the agent picks another instead of stalling.

Head camerahead camera · what the agent saw
Left wrist camera
left wrist
Right wrist camera
right wrist
Decision 1 / 28
observedecidecall toolexecute

        

transitcontactprecisiongripperrejected
06Case I · Improving a Skill

push_T: over budget to 35% under it.

Push a T-shaped block onto the gray T pad within 600 native steps. The outer loop rewrites the Skill until the run fits the budget with room to spare — then the frozen Skill solves layouts it has never seen.

RoboDojo rollout
07Case II · The test gate

align_blocks: 0/8 to 8/8, behind a gate.

Push a ruler against three blocks until they line up, within 200 native steps. Every candidate Skill is tested on the same 8 layouts. The gate rejects three of them — one slower than its predecessor — and promotes v4, the first to finish all eight in budget.

01 · Memory → Skill

Stop grasping the ruler.

−grasp ruler, close
+keep grippers open
+push ruler forward

active-approach/SKILL.md

02 · Tool · test

One gate for every candidate.

success≤ 200 steps
layouts8

gate: 8 / 8 pass → release

03 · Release

Versioned, then loaded.

The passing version replaces the old one in the inner layer automatically and is recorded as a new Harness version. Mean steps fall from 215 at v1 to 140 at v4.

v0 → v4

active-approach/SKILL.md
# Push the ruler with one open hand; fewer repeated moves

The ruler rests on the table. Push it toward the three blocks with the pads or outside of an open gripper. Do not grasp, close on, or lift the ruler. Goal: align the contact edges and orientation of all three blocks, return the robot to its start pose, within ~200 native steps.

1. Decide the contact plan once. From head and wrist RGB, find the ruler, the blocks and the reachable area behind the ruler; save both arms' start poses as the home target.
2. Set the pose first, then descend. Combine approach position and target orientation in one end-effector move; if the planner rejects it, adjust one necessary intermediate pose.
3. Descend behind the ruler. If the first short push does not move it, stop and check the finger height in wrist RGB before trying again; do not keep lengthening the push.
4. After one confirmed contact, push in effective centimetre-scale strokes, not repeated 5 mm probes.
5. Check each block's edge against the ruler; correct only the block that is still tilted.
6. Clear the fingers before turning the wrist, then return home in a single move.
08Case III · Calling and training the reactive model

Packing: a model that executes, and keeps learning.

When the task switches to packing, the Recursion Agent loads the Skill that calls the reactive model. The Robot Agent calls the model from its observations; the model executes one action chunk and hands control back; the Robot Agent decides the next step from new observations — and so on.

Skill · call reactive model

Execution becomes training data.

The Recursion Agent organises the execution records into training data and trains the reactive model. The updated model goes back to the inner layer to be called again — so it both executes and keeps improving under the outer agent’s training.

Executethe Robot Agent calls the model
Recordobservations, chunks, native scores
Trainupdate weights · Δθ
Testpass to be released
Releaseversioned, called again
Δθ
09Across RoboDojo

Every task. One agent.

R2SI runs the whole RoboDojo suite — 42 bimanual tasks and 54 variants across five ability groups — with one Robot Agent and one toolset.

The inner layer acts through Skills — and calling the reactive model is one of them. The outer layer keeps improving both the Skills and the reactive model. Trial and error settles into reusable capability.

This is R2SI.