All summaries · 2026-09-30

What Stops Recursive Self-Improvement in Robotics? Lessons from 123 Rounds of Agentic Skill Discovery

Jia-Ming Wang

arXiv:2609.31760 · abstract · pdf · summarized by meta/muse-spark-1.3-contributor on 2026-09-30

The one-paragraph version

A single author built a robot system that was supposed to improve itself, with no human writing robot code, and let it run for 123 rounds over several weeks. The system watched a simulated mobile manipulator fail at household jobs — mainly putting condiments on the top shelf of a fridge — diagnosed the missing capability, wrote new skill code or found and installed outside perception and motion models, and kept only changes that passed physical tests in simulation. The agent did show real autonomy once: when targets were out of view it invented, debugged, and deployed a look-around search skill. But the target task never succeeded once in 486 tries, accepted fixes kept piling up without adding up, and keeping the loop honest took about two human harness repairs for every accepted robot change. The paper argues the agent was rarely the bottleneck; three things around it were: perception modules that cannot represent relations like “top,” long skill chains that lock all learning onto the first step, and a test-and-memory harness whose errors the agent faithfully optimized.

The problem they're solving, and why it matters

Today when a robot fails, a person watches the video, decides what went wrong, and rewrites code or collects data. Coding agents have raised a different hope: let an agent do that loop itself for hours — read logs, form a hypothesis, write and test code, repeat — as already happens in software with systems like Voyager for Minecraft skills, Eureka for reward functions, and the Darwin Gödel Machine for self-rewriting agents, plus recent robot versions called RHO, ASPIRE, and ENPIRE.

The author asks three direct questions: can a coding agent discover a missing robot capability from failures alone, do those improvements compound so each round starts from a better robot, and if not, what stops them and would a stronger agent fix it? This matters because household instructions are open-ended and relational — “the top shelf,” “the shelf below,” “move what is on the top shelf elsewhere” — and long, about fifteen steps. If self-improvement works only when a human perfects the tests, the memory, and the world description, then scaling agents alone will not get us household robots.

The key idea, in plain words

Think of the robot’s software as five layers that can change, with a sixth that cannot. The changeable layers are the task program, meaning Python code that strings skills together and declares what each step should achieve; the skill library, meaning reusable abilities like localize an object, find a region, approach, grasp, and move; the routing rules, meaning which implementation of a skill to use; and the providers, meaning outside models behind a contract, such as text-prompted segmentation, referring-expression segmentation, depth, grasp generation, and motion planning. The unchangeable-by-agent layer is the harness, meaning the evaluators that judge each step with privileged simulator truth, the physical tests that gate a change, the memory of past attempts, and the description of the robot’s body.

The core model is simple. In words first: task success requires every step to succeed in sequence, so improving a later step helps only if the robot actually reaches it and can then finish. Only after that intuition, the paper writes it in symbols as task success equals the product of each step’s chance of succeeding given all earlier steps succeeded. An accepted change therefore helps only if three conditions hold, none about coding talent: first, representability, the failure must be shown to the agent with its true cause; second, expressibility, a fix must exist in what the agent is allowed to change; third, resolvability, the test must be able to tell better from worse on states where the change matters. In software all three are almost free — a failing unit test names its cause, the fix is in code, the test is exact. In robotics, the paper claims, each one has to be engineered and each broke.

How it actually works, step by step

Each round follows the same loop: collect, judge, diagnose, propose, test and accept, plus background research.

First, run task programs in simulation. The testbed is RoboCasa with a PandaOmron mobile manipulator that sees only through head and wrist color-plus-depth cameras and joint readings. The target is FRIDGE: “Place the mustard and mayonnaise from the counter to the top shelf of the fridge. If items are already on the top shelf, move them.” Condiments start out of view. Later CABINET, counter to cabinet, and SINK, counter to sink, are added to force generalization, plus a held-out cabinet-to-counter task the fixer never sees.

Second, judge every declared step. An evaluator using simulator truth returns a short diagnosis such as wrong_region, no_grasp_contact, or tool_path_blocked.

Third, group first failures into gaps. An orchestration agent writes programs but is forced to keep its best past program and fix program faults only in the program, so skill failures go to skills rather than being worked around.

Fourth, propose a fix. A proposer agent, a multimodal GPT model shown failure tables, traces, diffs of earlier attempts, and camera keyframes of each failed step, gets up to three tries for up to 60 minutes each. It edits skill code or, if it decides no code can fix it, files a request for a missing model. The agents used were gpt-5.6-sol at maximum reasoning early, then gpt-6-astra at low then medium effort; the robot itself never calls these big models at runtime.

Fifth, test before use. A candidate must replay the exact recorded failure with the change swapped in, then win paired old-versus-new trials on fresh scenes and the held-out task, later plus sealed recorded failures and checks on other skills it touches. Accepted changes go live next round; routing is refit from logs each round. A research agent finds, installs, probes, and registers requested models. Humans by rule may repair only the harness, never a skill, program, or model wrapper.

What they showed — results, honestly, with limitations

Activity without progress. Over 123 rounds there were 847 proposal attempts, 57 accepted skill changes, and 86 provider registrations covering 20 model identities. Yet FRIDGE was 0 successes in 486 completed rollouts, CABINET 0 in 256, and SINK 14 in 230, of which 9 had failed intermediate steps — most sink “wins” were accidents where the gripper opened elsewhere and the object fell into the sink. Almost all accepted changes, 51 of 57, touched perception, the first step of every task.

What worked: when the evaluator was fixed to truthfully report “target not visible,” the agent requested target-free active viewpoint selection, found a bug where the robot’s own start cell was marked occupied, repaired it, and by round 16 the robot searched when blind. Eight agent-introduced models for grasping, motion, base placement, active viewing, and relational localization were actually used thousands of times. Carrying forward best designs with traces helped convergence, and when the agent refused to edit and explained why, it was often correctly flagging a harness bug.

What stopped progress falls into three lessons. Lesson 1 is chained perception does not understand relations. SAM 3, a concept segmenter, finds all shelves but has no notion of which is top; Florence-2, a referring-expression segmenter the agent itself requested, returned diffuse masks across shelves for relational queries; depth adds position without meaning. The agent, allowed only to write code, displaced the missing semantics into geometry: the region skill grew to about 3,056 lines with 33 thresholds, plus a 5,032-line localizer with 48 thresholds, fit to just two recorded states — rescuing one seed every time and the other never — passing tests then decaying as viewpoints drifted. A quick human check showed a 7-billion-parameter open vision-language model, Qwen2.5-VL, placed “the top shelf” and “the shelf below” correctly in 4 of 4 recorded head views in about a second per query, but the loop never chose that model class on its own, and late VLM grounders it did register were never called because no skill routed to them.

Lesson 2 is skill chains lock learning onto the first step. In words: a fix to step j matters only discounted by the chance of reaching j times the chance of finishing after it, and the same reach chance discounts how much evidence and test coverage that step gets. Observed: 57% of fridge rollouts failed step one, only 2.7% passed four steps, 0.9% passed five; in one check 5 of 6 fresh grasp tests never reached the grasp. A round-118 grasp improvement that won reproduced fresh and held-out comparisons was followed by 60 rollouts with zero task successes. Failures also surface downstream of causes — a bad base park two steps earlier looks like “no grasp contact” — so fixes went to the wrong family for many rounds.

Lesson 3 is the harness decides what is learned. Reachability was judged by a 0.85-meter sphere; the agent parked hundreds of successes within a millimeter of its surface, while the torso lift that actually made the top shelf reachable was missing from the action description despite 34 proposer complaints, and base speed was documented wrong by more than tenfold. Gates were too coarse, too permissive, and noisy: 119 rejected candidates had rescued at least one exact state, 22 promotions had zero wins and zero losses, and 16 of 36 re-run disagreeing pairs did not reproduce. Identical fridge and cabinet outcomes repeated for more than a dozen rounds because seeds, programs, and memory froze. Memory corruption was stark: 88 request-bearing proposals were gated as code and recorded as failures, and one region-model request was declined 15 times because the agent believed it was already on file. Humans made 113 numbered harness repairs.

Limitations are stated plainly: this is one long run on one simulator, one kitchen layout, and three tasks, with no independent replicates or matched-budget ablations. Harness repairs, model versions, and providers changed together, so mechanisms are identified from records, not causal effect sizes. The VLM check is feasibility on a handful of views, not benchmark performance. The design fixes offered are hypotheses paired with falsifying experiments, not tested solutions.

Why this might matter to me

For spatial reasoning in LLMs and VLMs, this is a cautionary case where geometry cannot substitute for language-grounded relations. The “top shelf” failure was not weak segmentation — it was that no module represented “top,” “below,” or “occupied by,” so the relation lived between modules where only brittle thresholds could reach it. The author’s prescription is reason first, then verify: let a VLM that sees the whole scene resolve the relation into points or boxes, then use segmentation and depth to lift to geometry and veto, with explicit abstention that triggers looking. For your interests, the open problem is making that VLM-to-robot channel an action the agent can take, not a repair request it can file, and separating “cannot see” from “cannot tell which.”

For world models, read evaluators and embodiment descriptions as fallible world models, not specifications. A spherical reachability check and a missing torso entry taught the agent to exploit the model rather than the world, faster the more capable it was. Measuring actuators — dead zones, speeds, workspace, self-occlusion — and attributing failure by what a step could have done from where it started are world-model hygiene for self-improvement.

For text-to-CAD and parametric geometry and for 3D generation and scene representation, semantic displacement is the warning. The loop grew thousands of lines and dozens of thresholds to approximate “top” for one viewpoint, a classic overfit of procedure to states instead of meaning. A parametric or generative representation that contains relations, fixtures, containment, and support — shelves as ordered volumes inside a fridge, not masks plus rules — plus tests that reset past the frontier to exercise each step, would directly address expressibility and resolvability rather than adding another patch.

Terms worth knowing

Recursive self-improvement here means the loop’s output becomes its next input: accepted skill and model changes go live and future diagnosis and testing build on them. A skill is a typed reusable ability with multiple implementations, such as localize, find region, approach, grasp, or move. A provider, also called an external model, is a perception or planning model behind a contract that skills call, for example SAM 3 for concept segmentation, Florence-2 for referring-expression segmentation, or planners for base and arm motion. The harness is everything that judges and remembers — evaluators, tests and gates, memory, and robot description — the only part humans were allowed to fix. An evaluator judges each declared step using privileged simulator truth and returns a diagnosis. A gate is the statistical test that accepts or rejects a candidate change. Representability means the true cause appears in the evidence; expressibility means a fix exists in what the agent can change; resolvability means the gate can detect the difference. Semantic displacement is when missing model semantics get rebuilt as ever-growing geometric rules. Frontier lock is when early-step unreliability starves later steps of evidence and test coverage.