
A close read of EMPIRIC's residual world models: how a coding agent writes the physics a simulator lacks into a Python program, how Bayesian inference pins down those mechanisms' hidden parameters and state, and where the DreamCoder lineage's recognition model and library learning are still absent.
Attached(a, b) or SeatedOn(s, l). Predicates check whether a skill did what the agent expected, hold a plan until a condition is met, and serve as subgoals for experiments.
| Agent | Runs solved (of 25) | What it is given |
|---|---|---|
| EMPIRIC | 25 | Base engine, noisy observations, a persistent sandbox |
| Oracle dynamics | 25 | Ground-truth dynamics and parameters, still noisy observations |
| Standalone sim. | 16 | Writes its own transition model, with no base engine |
| Direct agent | 16 | No simulator; acts from observations and execution feedback |
| Direct + scene | 14 | Scene assets and engine code, which it may simulate with |

| Method | Persistent object | Neural search guidance | Abstraction engine | Substrate | Scaling bottleneck |
|---|---|---|---|---|---|
| EMPIRIC | Base physics engine plus agent-written residual programs, with a belief over their parameters and hidden state 2 | A frozen coding LLM writes and revises the mechanism program and predicates; no recognizer is trained on the agent's own solves | None across domains; mechanisms are written per domain | Tabletop manipulation in PyBullet, plus one physical robot | Scene geometry and object features are supplied; simulation and language turns |
| DreamCoder | Typed λ-calculus DSL plus a recognition model trained by wake-sleep 3 | Recognition model trained on replayed and imagined tasks | Bayesian refactoring extends the language with new abstractions | Synthetic symbolic domains, graphics | Enumerative search explosion |
| LAPS | DreamCoder library plus a search model conditioned on language 4 | Neurally guided search trained jointly with library learning | Library learning driven by natural-language annotations | String editing, image composition, scene reasoning | Needs natural-language annotations |
| Stitch | Compressed corpus of programs plus learned abstractions, symbolic throughout 5 | Top-down search guided by the corpus | Anti-unification over e-graphs | Large DSL corpora | Memory on massive corpora |
| LILO | Named, documented code library 6 | LLM synthesis prompted with library functions and specifications | Stitch compression plus automatic documentation | String editing, scene reasoning, graphics composition | Compression limits; proposal fidelity |
"A robot should be able to learn through experiments how unfamiliar objects behave and interact, then plan with that knowledge." — the authors, opening the abstract. 2
"The learned programs can introduce new forces, constraints, and hidden state, and Bayesian inference estimates their parameters and states from noisy observations." — the same authors. 2
"A learned model can be useful without being accurate everywhere: in Bridge, the model mispredicts the lifted beam's pose, yet the agent uses it to screen individual placements and then measures the assembled beam's tilt to choose its final release height." — the same authors, on the comparison with given dynamics. 2
"Interaction savings come at a computational cost: the median EMPIRIC run uses 424 simulator rollouts and 162 language-model turns, compared with 115 turns for Direct agent, and its median recorded runtime is 107 minutes, against 64 for Direct agent." — the same authors, in the limitations. 2
"In our experiments, the agent is given the scene geometry, although object poses are noisy and mechanism state is hidden" — the same authors, naming what the setup assumes. 2
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.