One benchmark family has spent seven years asking a stubborn question: not how good is the AI, but how efficiently can it learn something new? Here are the 21 works that define ARC-AGI-1, ARC-AGI-2, and the interactive ARC-AGI-3 — each at three resolutions, wired into the web of ideas they build on.
21
Key works
8
Themes
3
Resolutions each
<1%
AI on ARC-AGI-3
Why this list
A benchmark that keeps moving the goalposts — on purpose.
Read together, these works argue one idea: intelligence is not skill, it is skill-acquisition efficiency. A system that memorizes a million examples to ace a task is less intelligent than one that figures the task out from three.
ARC-AGI was built in 2019 to be easy for humans and hard for machines, resistant to the memorization-by-scale that cracks most benchmarks. It held for five years. Then, in late 2024, OpenAI's o3 nearly solved it — so the ARC Prize Foundation rebuilt it harder (ARC-AGI-2), then reinvented it entirely as an interactive game where an agent is dropped in with no instructions and must explore, model the world, infer the goal, and plan (ARC-AGI-3).
Between the benchmark papers sit the solvers: hand-built DSL search, LLMs writing thousands of Python programs, test-time training, latent-program search, and pure compression. Use the control in the catalog to read any work as a one-line glance, its core idea, or a deep read.
Plate I · The Timeline
Seven years, 8 currents.
Each work sits on its theme's lane at its year; the mark's size tracks its influence, and a ring marks a second theme. Note the sparse start, the 2024 rush after o3, and the lonely marks on the agentic lane — the frontier is new. Hover for detail, click to open the entry.
Plate II · The Web
The ideas are one connected web.
Every line is a debt: one work building on, competing with, or answering another — 48 links in all. The papers cluster by theme around a shared center: efficient generalization from few examples, and grow outward with time.
The measure of intelligence anchors the benchmark lane; DreamCoder and hand-built DSLs feed the program-synthesis line; o3's breakthrough pulls in both the milestone and the critique clusters. Follow a debt to see where an idea came from.
Hover a node to light its links · Click to open its entry
Plate III · The Gap
Humans still win. By a lot.
The through-line of the whole series is a single measurable quantity: the gap between what people can do and what machines can. Every time the machines catch up, the benchmark is redrawn to reopen it.
The human-vs-AI gap
Best reported score, humans vs. the strongest AI, per benchmark.
ARC-AGI-12019
87.5%
98%
ARC-AGI-22025
24%
100%
ARC-AGI-32026
12.58%
100%
Best AI Human baseline▨ the gap that remains
On ARC-AGI-3, frontier models run harness-free score below 1%; the best preview agent reached 12.58%. Humans solve 100%.
The climb on ARC-AGI-1
How the record rose from a hand-built DSL to o3, 2020 → 2024. Scores span the public-eval / ARC-AGI-Pub / semi-private splits — read the shape, not a single controlled series.
Plate IV · The Catalog
All 21, in full.
Filter by theme or format, choose an order, and set the reading depth. Shown in catalog order by default; every entry links to the original source.
Read at
Sort
21 of 21 works
Theme
Format
№01paper2019
The Founding Yardstick
On the Measure of Intelligence
François Chollet · arXiv · 2019
BenchmarkFoundationsInfluence ●●●●●
Chollet redefines intelligence as skill-acquisition efficiency and builds ARC: few-shot grid puzzles easy for humans, hard for machines
The founding document of ARC-AGI. Chollet argues that AI benchmarks measure the wrong thing — skill at a single task, which can always be bought with enough data, compute, or hand-coded priors. He offers a formal, information-theoretic alternative: intelligence is skill-acquisition efficiency, how efficiently a system turns fixed priors plus limited experience into skill on novel tasks. To probe it he introduces the Abstraction and Reasoning Corpus, roughly 1,000 few-shot grid-transformation puzzles built only on Core Knowledge priors, resistant to memorization, easy for humans and hard for machines — the yardstick every later ARC benchmark extends rather than replaces.
By 2019 nearly every AI benchmark rewarded skill at one task — playing Go, classifying images, answering trivia — and Chollet's central move is to insist that skill is not intelligence. Skill is the product of intelligence and prior knowledge plus experience, so a system with enough training data, compute, or hand-coded priors can reach superhuman performance on almost any single task without showing any general capacity to learn. Measuring intelligence by task score therefore lets researchers "buy" skill and systematically confuse the map (a benchmark number) with the territory (the capacity to acquire new skills).
The constructive core is a formal, information-theoretic definition grounded in Algorithmic Information Theory: intelligence is skill-acquisition efficiency over a scope of tasks, controlling for priors, experience, and generalization difficulty. A system needing a million examples is less intelligent than one needing three, even if both eventually reach the same skill. Chollet fixes fair priors as Core Knowledge — the innate systems developmental psychology attributes to humans: objectness and elementary physics, agentness and goals, number and arithmetic, geometry and topology. He operationalizes the measure with the Abstraction and Reasoning Corpus: about 1,000 hand-built visual puzzles, each a few input/output grid pairs (up to 30×30, small palette). From roughly three-to-five demonstrations the solver must infer the transformation rule and apply it to a held-out input, with a private test set for honest scoring.
The paper is a measurement contribution, not a solver: its result is the definition, the benchmark, and a quantified gap — humans solved the large majority of evaluation tasks while the best automated methods solved only a small fraction. The bet proved durable; ARC resisted the pretraining-scaling era far longer than task-specific benchmarks, exactly as the theory predicted. It reframed "AGI" from a vague aspiration into a measurable gap between human and machine generalization, and defined the yardstick that ARC-AGI-2, ARC-AGI-3, and the ARC Prize have extended rather than replaced.
~1,000ARC tasks
~3-5Demos per task
30×30Max grid
Key ideas
Skill is not intelligence: high skill can always be bought with data, compute, or hand-coded priors
Intelligence = skill-acquisition efficiency over novel tasks, controlling for priors, experience, and generalization difficulty
Core Knowledge priors — objectness/physics, agentness/goals, number, geometry/topology — as the fair human-comparable starting set
ARC: ~1,000 few-shot grid puzzles, easy for humans and hard for machines, resistant to memorization, private test set
Generalization taxonomy — absent, local, broad, extreme — separates interpolation from genuine adaptation to novelty
Grounded in Algorithmic Information Theory; generalization difficulty is an (uncomputable) algorithmic-complexity term
Why it matters for ARC-AGI-3The note frames this paper as the philosophical spine of the repo: efficient generalization means inducing a compact, correct model of a task's dynamics from few observations under fixed Core Knowledge priors. That is exactly the record→synthesize→replay-verify loop — the synthesized world-model program is the induced skill, and requiring exact replay of every recorded transition is a verifiable stand-in for having acquired the rule rather than memorized outputs.
ARC-AGI-2: A New Challenge for Frontier AI Reasoning Systems
Chollet et al. · arXiv · 2025
BenchmarkInfluence ●●●●●
After o3 cracked ARC-AGI-1, a harder compositional redesign that puts cost on the leaderboard so brute-force compute stops looking like intelligence
When OpenAI's o3 scored in the high-70s to high-80s on ARC-AGI-1 in late 2024 — at a reported \$200 to \$20,000 per task — the ARC Prize Foundation didn't declare victory; it rebuilt the benchmark. ARC-AGI-2 keeps the input/output grid format but curates tasks demanding multi-rule composition, sequential dependency, contextual control flow, and in-context symbol definition — the reasoning that survived o3. Every evaluation task is solved by at least two independent non-expert humans, yet frontier models crater to low single digits. Crucially, it adds a cost-per-task axis so unlimited test-time compute no longer counts as intelligence.
In late 2024 OpenAI's o3, spending large amounts of test-time compute, effectively solved the original ARC-AGI-1 benchmark — high-70s to high-80s on the semi-private set, at a cost between roughly \$200 and \$20,000 per task. Rather than close the challenge, the authors argue the result exposed where ARC-AGI-1 had become saturated and un-granular near the top, not that the human-machine gap had closed. ARC-AGI-2 is a re-designed, harder benchmark that restores a strong, measurable gap and makes efficiency a first-class axis.
The method is human-in-the-loop and adversarial toward frontier models. The paper deliberately preserves the grid-pair format so existing tooling carries over, then curates tasks targeting four demands that defeated o3: multi-rule composition, sequential/multi-step reasoning, context-dependent control flow, and in-context symbol definition. A pool of a couple thousand candidate pairs is put through live human testing; tasks too few humans can solve are discarded, guaranteeing every evaluation task is solvable by at least two independent humans, while tasks models find easy give little signal. A private/semi-private split blocks tuning, and the leaderboard reports each system as a point in (cost-per-task, score) space.
The gap reopens sharply. On the semi-private set o3 (medium) and o3-mini (high) land around 3%, the 2024 ARChitects winner around 2.5%, and o1-pro (low) and Claude 3.7 around 0.9% — versus 53%, 34.5%, 23.3%, and 21.2% on ARC-AGI-1; scores below ~5% aren't treated as signal. The offline, fixed-compute ARC Prize 2025 competition set an 85% grand-prize bar, drew ~1,455 teams, and saw a best entry near 24% using synthetic-data generation plus test-time training on a ~4B model — the bar went unclaimed. The lesson — measure intelligence jointly with efficiency — is carried directly into ARC-AGI-3.
~3%ARC-AGI-2 (o3, semi-private)
>=2 solvers/taskHuman calibration
~24%Best 2025 entry (offline)
85% (unclaimed)2025 grand-prize bar
Key ideas
Rebuilt after o3 near-solved ARC-AGI-1 (high-70s to high-80s) at up to tens of thousands of dollars per task
Keeps the input/output grid format but adds compositional difficulty LLMs can't brute-force
Targets four demands: multi-rule composition, sequential dependency, contextual control flow, in-context symbol definition
Every eval task solved by >=2 independent non-expert humans; frontier models drop to low single digits
Cost-per-task becomes a first-class leaderboard axis, treating efficiency as part of intelligence
2025 offline competition: ~1,455 teams, best ~24% via synthetic data + TTT on a ~4B model; 85% bar unclaimed
Why it matters for ARC-AGI-3Its four targeted demands — multi-rule composition, sequential dependency, contextual control flow, and in-context symbol definition — specify what a synthesized world-model program must be able to express. Its cost-aware philosophy argues the record→synthesize→replay-verify loop should be scored on how efficiently it finds a replaying program, not only on whether one exactly replays.
ARC-AGI-3: A New Challenge for Frontier Agentic Intelligence
Chollet et al. · arXiv · 2026
AgenticBenchmarkInfluence ●●●●●
The first interactive ARC benchmark: an agent must explore a game with no instructions, scored on action efficiency vs humans — frontier AI scores <1%
ARC-AGI-3 is the first interactive benchmark in the ARC series. Instead of grading a single answer to a static puzzle, it drops an agent into a novel, turn-based game environment with no instructions, no stated rules, and no stated goal. The agent must explore to earn information, build a world model of the dynamics, infer what "winning" means, and plan efficiently toward it. Consistent with Chollet's efficiency thesis, everything collapses into one scalar — RHAE, action efficiency relative to a human baseline on first contact. Humans solve 100%; frontier AI, judged harness-free, scores below 1%.
ARC-AGI-1 and ARC-AGI-2 tested data-efficient modeling: infer a transformation rule from a handful of static input/output pairs. But static benchmarks can be attacked by training on dense samplings of the task space. ARC-AGI-3 keeps the Core Knowledge, no-language, novelty-first spirit while changing the format entirely: the agent is dropped into abstract, turn-based game environments and told nothing — not the goal, not the controls, not the win condition. It must actively discover even what question it is being asked, targeting the "unknown unknowns."
The benchmark decomposes agentic intelligence into four components that must all be exercised: Exploration, Modeling, Goal-Setting, and Planning & Execution. The environment format is deliberately minimal so difficulty lives in reasoning, not perception: each frame is a 64×64 grid of 16 colors, the world is turn-based and never mutates asynchronously, and the action space is tiny (five keys + Undo + click-a-cell), with only state-changing actions counting. All four pillars collapse into a single scalar, RHAE (Relative Human Action Efficiency): per level, the human baseline action count divided by the agent's, capped at 1.15×, then squared as a power-law penalty on inefficiency, level-weighted, capped by the fraction of levels completed, and averaged over ~135 environments. A studio validates each environment with random-play qualification, a graph of hashed reachable states with per-level win probability, and recording-based replay verification.
After human calibration (humans reach 100%), frontier models score below 1% — roughly 0.1–0.5% harness-free at release; the best preview agent, "StochasticGoose," reached ~12.58% via informed search rather than genuine modeling. The authors argue this is a real deficit in exploration, hypothesis revision, goal inference, and planning under uncertainty, not an API artifact. By grounding the score in first-contact action efficiency, ARC-AGI-3 turns "acquire a correct world model quickly" into a measurable quantity, presenting itself as the only unsaturated general agentic benchmark as of March 2026.
100%Human baseline
<1%Frontier AI (harness-free)
12.58%Best preview agent
~135Environments
Key ideas
First interactive/agentic ARC benchmark: instruction-free turn-based games; the agent discovers goals and mechanics by acting
Four pillars of agentic intelligence: Exploration, Modeling, Goal-Setting, Planning & Execution — all must be exercised
RHAE metric: per-level human/agent action ratio, capped at 1.15x, squared, level-weighted, then averaged over environments
Minimal format: 64x64 grids of 16 colors, turn-based frames, five keys + Undo + click; only state-changing actions score
~135 environments (25 public / 55 semi-private / 55 fully private), inverting ARC-AGI-2's public-heavy ratio
Validation reinvents a graph of hashed reachable states + recording-based replay verification — this repo's exact loop
Why it matters for ARC-AGI-3This is the paper the project is built around: ARC-AGI-3's validation pipeline independently reinvents the repo's load-bearing mechanisms — a graph of hashed reachable states with per-level win probability, and recording-based replay that re-executes action traces under win and loss conditions. The project's synthesized world-model programs map onto the Modeling pillar, and its "accept only when the model exactly replays every transition" rule is the strongest operationalization of a correct model in ARC-AGI-3's deterministic, turn-based, small-action-space setting.
The 2024 post-mortem: test-time adaptation, not scaling, drove ARC-AGI-1's private SoTA from ~33% to 55.5% in one season
The ARC Prize Foundation's post-mortem on the 2024 competition, the first large public assault on ARC-AGI-1 after five unbeaten years. Its verdict: per-task adaptation, not raw scaling, moved the private state of the art from roughly 33% to 55.5% in a single season. The report's central idea is the transduction-vs-induction split — predicting the output grid directly versus searching for an explicit program — and the finding that the two solve complementary task sets, so the strongest entries ensemble both. No inference-only, non-adapting approach cleared roughly 11%, establishing test-time adaptation as necessary and foreshadowing the harder ARC-AGI-2/3 successors.
ARC-AGI-1 had gone about five years essentially unbeaten, and the 2024 ARC Prize was the first large public push against it. The question the season answered: what actually moves the needle on genuinely novel tasks — scaling a single model, or something else? The report reframes ARC solving around test-time adaptation, arguing that pure "memorize-fetch-apply" inference is not enough.
The report is a survey of competitor methods organized by the transduction-vs-induction distinction. Induction searches for an explicit program — a hand-built DSL or Python emitted by an LLM — keeping only programs that exactly reproduce every training pair, then runs the survivors on the held-out test input; LLM-guided variants propose likely-correct programs and debug failures to shrink the search. Transduction predicts the output grid directly, typically via test-time training: for each task, LoRA fine-tune a pretrained LLM on that task's demonstration pairs plus heavy augmentation (rotations, reflections, color permutations), then vote among augmentation-consistent candidate outputs. The key empirical finding is that these two strategies solve substantially different task sets, so the best systems run both pipelines and reconcile their outputs.
Private-set state of the art rose from ~33% (end of 2023) to 55.5% over the roughly five-month season. The ARChitects won Kaggle at 53.5% using TTT, augmentation, and a product-of-experts selection criterion; MindsAI hit the season-high 55.5% but stayed closed and was prize-ineligible. Greenblatt's GPT-4o synthesis reached ~42% by sampling and debugging thousands of Python programs per task, and Akyürek et al.'s TTT paper hit ~47.5% and won a paper award. Crucially, no static, non-adapting approach exceeded ~11%. But as a brute-force synthetic-data ensemble reached the low 80s, the report candidly judged ARC-AGI-1 near saturation and attackable — directly motivating the cost-aware ARC-AGI-2 and interactive ARC-AGI-3.
33% → 55.5%ARC-AGI-1 SoTA (private)
53.5%Kaggle winner (ARChitects)
~11%No-adaptation ceiling
~42%Greenblatt GPT-4o synthesis
Key ideas
Per-task adaptation, not scaling, drove ARC-AGI-1 private SoTA from ~33% to 55.5% in the 2024 season.
Central framing: transduction (predict the grid directly) vs induction (search for an explicit program).
The two paradigms solve complementary task sets, so the strongest entries ensemble both.
Test-time training — per-task LoRA fine-tune on demos plus heavy augmentation — was the dominant winning technique.
No static, non-adapting approach exceeded ~11%, establishing test-time adaptation as necessary.
Diagnoses ARC-AGI-1 as near saturation and brute-forceable, motivating ARC-AGI-2 and ARC-AGI-3.
Why it matters for ARC-AGI-3The finding that induction and transduction catch complementary tasks argues for running both and treating their agreement as a search-and-acceptance signal — mirroring this repo's synthesize-a-world-model-program-and-accept-only-on-exact-replay loop. The report's next directions explicitly extend TTT and synthesis toward interactive settings where the solver must first act to gather the transitions it will fit a program to: the ARC-AGI-3 regime.
The first ARC-AGI-2 competition: top score just 24%, and the year's winning pattern is a per-task propose-verify-iterate refinement loop
The ARC Prize Foundation's report on 2025, the first competition run against the harder ARC-AGI-2. Participation surged — roughly 1,455 teams and 15,000 entries — but scores stayed low: the top private entry reached only ~24% (the 85% grand prize went unclaimed), and did so cheaply at ~$0.20 per task via synthetic-data generation plus test-time training on a compact model. The report names the year's dominant pattern the "refinement loop": propose a candidate, verify it against the training pairs, turn the result into feedback, and iterate. It also flags knowledge-dependent overfitting as a new contamination concern and previews the interactive ARC-AGI-3.
Where o3 saturated ARC-AGI-1 in 2024, ARC-AGI-2 reopened a wide human-machine gap, and the 2025 competition was the first run against it. This report documents the result: participation surged (~1,455 teams, ~15,000 entries, paper submissions nearly doubling to ~90) but scores stayed low. The top private-leaderboard entry reached only ~24% against the 85% grand-prize threshold, which went unclaimed — and it got there cheaply, ~$0.20 per task, using synthetic data plus test-time training on a compact few-billion-parameter model. Humans still solve essentially all evaluation tasks, so the gap is stark.
The report's central diagnosis is the emergence of the refinement loop: a per-task, feedback-guided optimization cycle. Rather than sampling candidates once, the strongest entries propose a solution (a program, a chain-of-thought, or a set of weights), verify it against the training pairs, convert the discrepancy into feedback, and iterate until it fits every demonstration. It taxonomizes three flavors: evolutionary program synthesis (populations refined against a verification fitness, e.g. the Berman and Pang entries); application-layer refinement of commercial models (a verifier wraps a frontier model's chain-of-thought — one Gemini-3-Pro-class harness reportedly climbed from ~31% to ~54% at ~$31/task); and weight-space/zero-pretraining refinement, exemplified by the Tiny Recursive Model (TRM): ~7M parameters, no pretraining, ~45% on ARC-AGI-1 but only ~8% on ARC-AGI-2.
Two further themes give the report weight. It introduces knowledge-dependent overfitting as a subtler contamination category: performance is bounded by knowledge coverage, and ARC's own conventions may now be latent in base models — the report notes a model applying the correct ARC color mapping without ever being told the task was ARC. And it marks ARC-AGI as an industry standard (Anthropic, Google DeepMind, OpenAI, and xAI all reported numbers in 2025 model cards) before previewing ARC-AGI-3, the first interactive format change since 2019.
~24% @ ~$0.20/taskARC-AGI-2 top (private)
~45% AGI-1 / ~8% AGI-2TRM (7M params)
~31% → ~54% @ ~$31/taskGemini-3-Pro harness
~1,455 teams / ~15k entries2025 competition
Key ideas
First ARC-AGI-2 competition: ~1,455 teams, ~15,000 entries; top private score ~24% vs an unclaimed 85% grand prize
Names the "refinement loop" — propose, verify against train pairs, feed back, iterate — as the year's winning pattern
Taxonomizes refinement into evolutionary synthesis, application-layer commercial-model refinement, and weight-space / zero-pretraining
Winning entry was cheap: ~$0.20/task via synthetic data + test-time training on a compact model
Tiny Recursive Model (TRM): ~7M params, no pretraining, ~45% on ARC-AGI-1 but only ~8% on ARC-AGI-2
Introduces knowledge-dependent overfitting: ARC conventions may be latent in base models, inflating scores
Why it matters for ARC-AGI-3The report's winning pattern — propose a candidate, verify, feed back, iterate — is exactly this repo's control loop, where the verifier is the analogue of the ReplayVerifier acceptance gate. Moving to ARC-AGI-3's interactive tasks reframes the feedback signal from exact-match-on-train-pairs to exact-replay-of-recorded-history, precisely the signal this system records and checks.
o3 vaults ARC-AGI-1 from ~5% to 75.7-87.5%, near-human at last — but at tens to thousands of dollars per task
In December 2024, ARC Prize announced OpenAI's o3 as the first system to post human-competitive scores on ARC-AGI-1: 75.7% at high efficiency and 87.5% using roughly 172× more compute on the 100-task semi-private set. Chollet frames it as a step-function jump — the benchmark had crept from ~0% (2020) to only ~5% (2024) — driven not by scale but by deep learning-guided program search over chains-of-thought, an AlphaZero-style generate-and-evaluate loop at test time. The post is equally emphatic on caveats: costs ran from ~$20 to thousands per task versus ~$5 for a human, and passing ARC-AGI-1 is not AGI.
For four years, ARC-AGI-1 — puzzles designed to be easy for humans and hard for machines — resisted large language models. Scores crept from ~0% (GPT-3, 2020) to only ~5% (GPT-4o, 2024). Standard models operate by "memorize, fetch, apply": they retrieve a memorized transformation and apply it, which fails on genuinely novel tasks. The open question was whether frontier models could ever adapt to the unseen.
o3 changed the mechanism rather than the scale. At test time it generates many candidate chains-of-thought — natural-language programs for the specific task — and uses a learned evaluator to search and select among them, an AlphaZero-like generate-and-score loop rather than a single forward pass. Chollet calls this deep learning-guided program search, with the chain-of-thought itself as the artifact of knowledge recombination. The "high" versus "low" efficiency settings correspond to how much test-time search compute is spent; the low-efficiency run used ~172× the compute. ARC Prize evaluated under retail-cost accounting that makes per-task price visible.
o3 scored 75.7% (high efficiency, ~$20/task) and 87.5% (172× compute) on the 100-task semi-private set, and ~82.8% / ~91.5% on the 400-task public set — clearing o1's 32% ceiling and the 53% best prior hand-built method. But the caveats made it a pivotal document: cost ran into the thousands per task against ~$5 for a human, o3 still fails some very easy tasks, and early ARC-AGI-2 testing suggested it would drop under ~30% while humans stay above ~95%. Combined with a ~81% Kaggle ensemble, the result signaled ARC-AGI-1 was saturating and motivated the harder ARC-AGI-2 and the interactive ARC-AGI-3 — plus a restated open-source 85%-at-efficiency prize bar that o3 did not clear.
75.7%ARC-AGI-1 (high-eff)
87.5%ARC-AGI-1 (172× compute)
~$20–thousandsCost/task
<30%Projected ARC-AGI-2
Key ideas
First human-competitive ARC-AGI-1: 75.7% high-efficiency, 87.5% at ~172× compute (100-task semi-private set)
Mechanism is deep learning-guided program search over chains-of-thought, an AlphaZero-style generate-and-score loop, not a bigger forward pass
Step function: ~0% (2020) → ~5% (2024) → mid-70s+ in one model generation
Cost is the essential caveat: ~$20 to thousands per task versus ~$5 for a human
Passing ARC-AGI-1 ≠ AGI; o3 still fails easy tasks and is projected under ~30% on ARC-AGI-2
Result justified the pivot to ARC-AGI-2 and interactive ARC-AGI-3; open-source 85%-at-efficiency bar unmet
Why it matters for ARC-AGI-3o3's "chain-of-thought as a generated program" is an implicit, unverifiable analogue of what this repo makes explicit and checkable: synthesizing a world-model program and accepting it only when it exactly replays recorded transitions. Its cost caveats — thousands per task, and the prize's offline requirement — reinforce favoring cheap, inspectable, replay-verified programs over opaque test-time search.
Solo Kaggle winner: 142 hand-built grid ops brute-force-composed into a DAG of pieces — ~20% that defined ARC-AGI-1 solving for three years
Johan Wind's solo "icecuber" entry won the original 2020 Kaggle Abstraction and Reasoning Challenge — the first public competition on what is now ARC-AGI-1 — with a purely symbolic solver and no learning. It hand-crafts a DSL of roughly 142 unary grid functions (crop, split, filter, symmetrize, tile, recolor, flood-fill, gravity), grows a DAG of intermediate "pieces" by greedily applying them, then searches for a composition that exactly reproduces every training pair before running it on the held-out test input. Scoring ~20% on the private set, it defined the "DSL + brute-force compositional search + exact-match verifier" template that ruled ARC solving for three years.
Each ARC task is a handful of input to output grid pairs plus a test input; grids are small (up to ~30×30) with 10 colors, and every task is novel — you cannot memorize, you must infer the transformation from a few demonstrations. In 2020 the open question was how far pure symbolic search could get with no learning at all, and this solution is the archetypal answer.
The solver represents grids as "images" and maintains, per task, a growing pool of candidate pieces. It seeds the pool with the input(s), then up to a bounded depth applies its library of ~142 unary functions to existing pieces, adding each result — a greedy DAG expansion (a DAG rather than a tree because one piece feeds many functions). After building the pool it searches for a stacking or composition of pieces that exactly matches the training outputs across all pairs; any program consistent with every pair is executed on the test input. Depth is the key knob: depth 2 runs the public eval in ~70 seconds but is limited, while depth 3 with test prediction is far stronger and takes ~9 hours on a single 4-core machine. The core is written in C++ for speed with Python orchestration, running fully offline within Kaggle's compute limits.
It scored ~20% on the private leaderboard for first place as a solo competitor, and ~129/419 tasks at depth 2 on the public evaluation set. Historically it is a landmark: it established the canonical ARC-AGI-1 style — hand-built DSL, exhaustive/greedy compositional search, exact-match-on-training-pairs verifier — that dominated until 2024's test-time training and LLM-guided synthesis. Its ceiling, a solo human authoring primitives and a search that explodes combinatorially with depth, is exactly the limitation learned DSLs, neural-guided search, and LLM program generation set out to break.
DAG-of-pieces search: greedily apply functions to grow a pool of intermediate grids, then stack pieces into the exact target
Exact-match verifier: only programs reproducing every training pair are candidates — a clean correctness gate
High-performance C++ core with Python orchestration; depth is the knob (depth-2 ~70s, depth-3 ~9h)
Pure brute force, no learning; ~20% private and 1st place solo, defining ARC-AGI-1 solving for ~3 years
Why it matters for ARC-AGI-3Its accept-only-on-exact-replay gate is the same one this repo applies to synthesized world-model programs, and its DAG-of-pieces search maps almost directly onto a world-model setting where pieces are observed frames and DSL functions are candidate transition operators. Its ~20% ceiling is precisely why this project pairs synthesis with recorded interaction histories and guided search rather than blind enumeration.
The Surprising Effectiveness of Test-Time Training for Abstract Reasoning
Akyürek et al. · arXiv · 2024 · ICML 2025
Test-timeSynthesisInfluence ●●●●●
Briefly rewrite an 8B model's own weights on each ARC task's demos and it reaches ~average-human accuracy — a 6x leap over frozen fine-tuning
Test-time training (TTT) temporarily fine-tunes a language model's own weights at inference, using a self-supervised loss built from a task's few demonstration pairs, then discards them. Akyürek and colleagues show this is a large-effect intervention on ARC: a LoRA adapter fit per task takes an 8B model to 53.0% on public validation — up to 6x over a fine-tuned baseline — and 61.9% when ensembled with program synthesis, roughly average human level. Three ablated ingredients make it work: initial fine-tuning on ARC-like data, a leave-one-out auxiliary format with invertible geometric augmentations, and per-task rather than shared adapters.
In-context learning plateaus badly on genuinely out-of-distribution reasoning like ARC: a model can see a few input/output grid pairs but cannot reliably induce the underlying transformation. This paper asks whether test-time training — briefly updating the model's own parameters at inference from a self-supervised loss on the task's own data, then throwing those weights away — can close the gap between what an LM knows and what it can actually do on structurally novel problems.
For each test task the system builds a per-task training set purely from the demonstration pairs using a leave-one-out scheme: hold one pair out as the query while the rest serve as in-context support, then multiply by invertible augmentations (D8 rotations, reflections, transpose, plus color permutations). A fresh LoRA adapter is trained on this synthetic set for a few steps and discarded afterward. It all sits atop a base model first fine-tuned on ARC-like data (ReARC/BARC-style generators). At decode time the input is passed through the same invertible transforms, predictions are un-transformed back to the canonical frame, and a two-stage hierarchical self-consistency vote picks the answer. Ablations isolate three necessary ingredients — initial fine-tuning, the leave-one-out augmented format, and per-instance adapters — each responsible for a measurable chunk of accuracy.
The payoff: an 8B LM reaches 53.0% on ARC public validation with TTT, up to 6x over a fine-tuned baseline, and 61.9% when ensembled with the BARC program synthesizer — matching reported average human performance (~60.2%). The recipe transfers, beating 10-shot prompting on BIG-Bench Hard by 7.3 points (50.5% → 57.8%). The broader message challenges the frozen-weights-plus-long-context orthodoxy: weight adaptation at test time is a distinct axis of test-time compute. A caution the note flags is that these ARC-AGI-1 gains collapse to single digits on ARC-AGI-2, so adaptation must be paired with strict verification.
53.0%ARC-AGI-1 pub val (8B, TTT)
61.9%+ program-synthesis ensemble
up to 6xvs fine-tuned baseline
57.8% (+7.3)BIG-Bench Hard (10-shot)
Key ideas
TTT = temporarily update a model's own weights at inference via a self-supervised loss on the task's demos, then discard them
A fresh LoRA adapter is fit per test task, not one shared adapter across tasks
Leave-one-out construction turns a few demo pairs into many synthetic supervised tasks with no external labels
Invertible D8 + color-permutation augmentations power an augmented-inference, two-stage hierarchical self-consistency vote at decode
Three ablated ingredients: initial fine-tuning, leave-one-out augmented format, and per-instance adapters
TTT and program synthesis make different errors, so a simple ensemble reaches ~average human level
Why it matters for ARC-AGI-3TTT is a natural hypothesis-generation engine for this repo's record-synthesize-verify loop: an adapter fit to a task's own transitions can propose candidate world-model programs the harness accepts only if they exactly replay recorded transitions. The main tension is cost — per-task fitting must fit ARC-AGI-3's offline compute budget, arguing for amortizing or budgeting the TTT step.
Product of Experts with LLMs: Boosting Performance on ARC Is a Matter of Perspective
Franzen et al. · arXiv · ICML 2025
Test-timeMilestoneInfluence ●●●●●
The 2024 ARC Prize Kaggle winner: score each candidate under every symmetry of the task, multiply, and keep only the jointly-plausible answers
The system that won first place in the offline ARC Prize 2024 Kaggle competition (53.5% private). The ARChitects fine-tune a mid-sized open model (Mistral-NeMo-Minitron-8B), then apply per-task test-time training — a small LoRA adapter fit in about 51 seconds per task. Their distinctive idea is the scoring rule: each candidate answer is re-expressed under many invertible perspectives (D8 symmetries, color permutations, example reorderings) and the per-view probabilities are multiplied — a product of experts, so only grids plausible under every view survive. A depth-first, probability-thresholded token sampler generates candidates cheaply. The cleaned-up pipeline reaches 71.6% on ARC-AGI-1, at roughly two cents per task.
ARC solving in 2024 faced a hard practical question that headline scores obscured: what wins under the competition's real constraints — fully offline, fixed consumer hardware, bounded time, and roughly two cents per task? The ARChitects' answer is that the decisive lever is not a bigger model or more search, but perspective. The same task, viewed under many equivalent transformations, gives a model many partially-independent readings, and combining those readings correctly is what separates a mediocre single-shot solver from a state-of-the-art one.
The pipeline starts from an open Mistral-NeMo-Minitron-8B base, fine-tuned on augmented ARC-style data, then applies test-time training: for each evaluation task a fresh rank-32 LoRA adapter is fit in about 51 seconds on an RTX 4090, specializing the model to that task's transformation — the single largest accuracy jump, as in the MIT TTT work. Around it sit two engineered pieces. Candidate generation replaces wasteful stochastic sampling with a depth-first token sampler that expands the output grid and prunes any branch whose cumulative probability drops below a threshold T, emitting only about nine candidates per task. Scoring is the named idea: each candidate is transformed into many invertible perspectives, scored under each, and the probabilities multiplied (a product of experts), with a theoretical bound relating the ensemble's divergence to the average single-view divergence plus a gain when views disagree.
The result: 1st place at 53.5% on the private set, and 71.6% on ARC-AGI-1 public eval (about 286/400) with the post-competition pipeline — above the ~60% average-human mark and state of the art among open methods, though below concurrent o3 (~82.8%) at far higher cost. A clean ablation ladder (baseline → TTT → multi-augmentation inference → PoE → DFS) quantifies each step, and ~73% on ConceptARC argues the gains are not pure in-distribution memorization. It is the strongest public evidence that augmentation-as-ensembling, not scale, was 2024's highest-leverage idea.
53.5%ARC Prize 2024 (private)
71.6%ARC-AGI-1 public eval
~$0.02Cost/task
~73%ConceptARC (OOD)
Key ideas
Product of experts: score a candidate under D8 symmetries, color permutations, and example reorderings, then multiply the probabilities
Per-task test-time training: a rank-32 LoRA adapter fit in ~51s/task on an RTX 4090 is the single largest accuracy jump
Depth-first, probability-thresholded token sampler enumerates high-probability grids, ~9 candidates/task at T≈9%, recovering ~76% of correct answers
One augmentation recipe applied consistently across training, candidate generation, and scoring
Theory: bounds the geometric-mean ensemble's divergence by the average single-view divergence, with a gain when views disagree
Fully open, offline pipeline winning at ~$0.02/task; ARC-AGI-1 dominance did NOT transfer to ARC-AGI-2 (low single digits)
Why it matters for ARC-AGI-3Product of experts maps directly onto this repo's verify-by-replay philosophy: a correct world-model program should reproduce recorded transitions under every equivalent perspective, making cross-perspective agreement a cheap, powerful filter alongside exact-replay acceptance. The DFS probability-thresholded sampler is a reusable template for enumerating candidate programs or action sequences within a fixed offline budget.
Sample ~8,000 GPT-4o Python programs per task, keep only those that replay every training pair, majority-vote the survivors — 50% on ARC-AGI
Ryan Greenblatt's post shows a strikingly simple recipe can reach state-of-the-art on ARC-AGI: prompt GPT-4o to write roughly 8,000 candidate Python transform programs per task, execute each against the training input/output pairs, discard any that fail to reproduce every pair, and submit the majority-vote output of the survivors. No fine-tuning, no bespoke architecture. A cheap revision stage — re-prompting the closest wrong programs with their actual-vs-expected outputs — adds about 13 points. The central lesson is that the number of sampled programs is itself a strong, near-monotone axis of accuracy: scale of sampling, not architecture, drove the jump.
By mid-2024, ARC-AGI still stumped frontier LLMs, and a common framing held that models like GPT-4o simply could not synthesize genuinely novel solutions. A second, more practical obstacle sat underneath: GPT-4o's grid vision is poor — it reliably misreads grids larger than about 12x12 and struggles even at 8x8 — so any approach has to fight the model's perception, not just its reasoning.
Greenblatt's recipe sidesteps both with brute-force sampling under an execution filter. Each task is packed into a ~30k-token few-shot prompt that renders the training pairs in several redundant encodings at once — 2D arrays with spreadsheet-style cell coordinates, connected-component object listings, normalized shape descriptions, and cell-level diffs — with two prompt families for size-preserving versus size-changing tasks. GPT-4o then emits roughly 8,000 candidate Python transform functions; each is executed against every training pair and discarded unless it reproduces all of them exactly. A revision stage takes the dozen most promising failures, shows the model their concrete wrong outputs beside the expected ones, and draws ~3,000 repair samples. Surviving programs run on the test input, and the top-3 by majority vote are submitted.
The result was ~50% on a 100-task public-eval sample and ~42% on the compute-limited ARC-AGI-Pub set — state-of-the-art at the time, up from the low-30s, with no fine-tuning. Revision alone contributed ~13 points, a far cheaper path than blind resampling (reaching 50% from first-attempt samples would need on the order of 100,000 draws). Accuracy scales at roughly +3% per doubling of samples, so pushing to ~70% would demand millions of draws — the method costs about 1000x more test-time compute than prior work and is ineligible for the official prize. But the lesson stuck: GPT-4o's program distribution places real probability mass near correct solutions, which is exactly why filtered sampling works where random search would not.
~50%ARC-AGI public eval (100-task)
~42%ARC-AGI-Pub semi-private
~8,000Programs sampled / task
+13 ptsRevision gain
Key ideas
Sample ~8,000 candidate Python transforms per task from GPT-4o; keep only programs that reproduce every training pair exactly
Revision loop: re-prompt the ~12 closest wrong programs with actual-vs-expected outputs (~3,000 samples) → +13 pts
Heavy multi-encoding text (grids, object lists, shape descriptions, diffs) works around GPT-4o's weak grid vision (>12x12)
Scaling is near-monotone: roughly +3% accuracy per doubling of samples, implying steep diminishing returns
No fine-tuning or bespoke architecture — pure prompt-plus-execution; but ~1000x more test-time compute than prior work
Rebuts 'LLMs can't synthesize solutions': filtering works because GPT-4o's program distribution sits near correct
Why it matters for ARC-AGI-3The canonical demonstration of execute-and-filter program synthesis over LLM candidates — the same generate-many/keep-only-what-replays loop this repo formalizes, except acceptance is exact replay of recorded interaction transitions rather than static grid pairs. Its revision stage (show a program its wrong output, ask it to fix) maps directly onto the recorded-history feedback loop, arguing that observing execution results, not just sampling more, is where the leverage lives.
How I got a record 53.6% on ARC-AGI-Pub using Sonnet 3.5 with Evolutionary Test-time Compute
Jeremy Berman · Substack · 2024
SynthesisMilestoneInfluence ●●●●●
A genetic algorithm over Sonnet-written Python transforms — breed, score, recombine — reaches a record 53.6% on ARC-AGI-Pub, the mark before o3
Jeremy Berman turned LLM program synthesis into a genetic algorithm. For each ARC task, Claude 3.5 Sonnet emits executable Python transform functions; Berman treats a population of ~250 of them as candidates, scores each with a two-tier fitness (exact training-grid solves, then per-cell correctness), keeps the fittest, and reprompts those parents to breed improved offspring over up to four generations — accumulating up to ~500 functions and ~31 dynamic prompts per task. Parallel dual-track evolution, adding a pooled multi-parent track, preserves diversity against local optima. The system solved 268 of 500 challenges for a record 53.6% on ARC-AGI-Pub, standing until OpenAI's o3.
Greenblatt had shown that sampling thousands of Python programs and filtering by execution reaches ~43% on ARC-AGI-Pub, but pure first-shot sampling plateaus: near-correct programs that each solve a different subset of examples get greedily discarded. Berman's question is whether *iterated refinement* — treating candidate programs as an evolving population — buys more than simply drawing more one-shot samples, all within the leaderboard's ~12-hour window and ~$10,000 API budget.
The method is inference-time only; the base model is never fine-tuned. For each task, Claude 3.5 Sonnet emits an initial generation of ~250 Python transforms from chain-of-thought one-shot prompts. Each is executed against the training pairs and scored by a two-tier fitness — how many grids are solved exactly, then per-cell correctness as a partial-credit tiebreaker. The fittest become parents for dynamically built revision prompts that breed improved children, repeating for up to four generations (~500 functions, ~31 prompts per task). A second, "pooled" track combines functions that solve *disjoint* example subsets into one revision prompt so their partial solutions can recombine — a diversity-preservation mechanism against premature convergence. Prompting mattered: CoT was required, a single well-chosen one-shot example beat multi-shot, and each grid was shown redundantly as dimensions, a base64 image, ASCII, and nested lists.
The payoff was a record 53.6% (268/500), roughly +10.6 points over Greenblatt's ~43% and unbeaten until o3. Crucially, depth beat breadth: four generations of 50 reached ~75% versus ~70% for a single generation of 200 on 60 training tasks, with ~42% of wins emerging in generations 2–4 — evidence that refinement, not just more samples, does real work. Berman closes with theory: LLMs fundamentally do induction, not deduction, and the "verifier problem" may cap any filtered evolution below AGI. A 2025 follow-up evolves natural-language solution descriptions instead of Python.
53.6%ARC-AGI-Pub (record)
268/500Challenges solved
~75% vs ~70%Deep vs shallow (60 tasks)
~$10,000API budget
Key ideas
Evolves a population of LLM-written Python transforms: score, keep fittest, reprompt to breed offspring over up to 4 generations
Two-tier fitness — exact training-grid solves, then per-cell correctness — turns all-or-nothing checks into search gradient
Dual-track evolution: single-parent plus a pooled multi-parent track that recombines functions solving disjoint examples
Depth beats breadth: 4×50 generations hit ~75% vs ~70% for one gen of 200; ~42% of wins came from generations 2–4
2025 follow-up evolves natural-language solution descriptions rather than Python, decoupling search from code
Why it matters for ARC-AGI-3Berman's synthesize-then-verify loop is a direct blueprint for this repo: candidates are accepted only when they exactly reproduce the given examples, mirroring the requirement that a synthesized world model exactly replay recorded transitions. The two-tier fitness and pooled recombination are concrete ways to turn a strict all-or-nothing replay check into usable search gradient and to fuse partial world-model programs that each explain different observed transitions.
Combining Induction and Transduction for Abstract Reasoning
Li et al. · ICLR 2025
SynthesisNeuralInfluence ●●●●●
Train an inductive and a transductive model on identical data — they solve different ARC tasks, so ensembling the two nearly matches average-human
Given a handful of input/output examples, is it better to induce a latent program f and apply it, or to transduce — predict the test output directly with a neural net, never materializing f? Li et al. train two Llama-3.1-8B models with matched architecture, data, and base model to isolate exactly this choice. The finding: the two are strongly complementary — induction wins precise, compositional tasks; transduction wins fuzzy, perceptual ones — so an ensemble that tries self-verifying induction first and falls back to transduction reaches 56.75% on ARC public validation, near average-human ~60.2%. They also release ~400k synthetic ARC-like tasks and the BARC models.
The ARC-solving field had split into two camps: inductive program synthesis (search for a rule f that reproduces the demos, then apply it to the test input) versus transduction (predict the held-out output directly with a neural network, no program ever materialized). Each side claimed superiority. This paper asks the cleanest possible version of the question — hold architecture, training data, and base model fixed, and let only the strategy differ — then compares the two head-to-head on ARC.
Both models are fine-tuned from Llama-3.1-8B-Instruct, with grids serialized one token per pixel. To build the training corpus, the authors hand-write ~100–160 "seeds," each a natural-language description, a transform_grid function (the latent f), and a generate_input sampler. An LLM then remixes them in three stages: recombine descriptions self-instruct style, generate code by retrieval over similar seeds, and execute the samplers to materialize fresh input/output grids — expanding 160 seeds into 200k tasks (ARC-Heavy) and up to 400k (ARC-Potpourri). At test time, induction samples up to ~20k candidate programs, keeps those consistent with the training pairs, and applies a survivor; transduction decodes by beam search. The ensemble tries induction — self-verifying against the demos — and falls back to transduction only when no consistent program is found.
The two strategies fail on genuinely different tasks (a stable Venn split of ~26 induction-only, ~35 transduction-only, ~19 solved by both; p < .004), so combining them with test-time training and reranking reaches 56.75% on ARC public validation — surpassing prior published methods and nearing average-human ~60.2% (best human ~97.8%). Induction excels at precise computation and composing concepts; transduction at perceptual judgments, corroborated on ConceptARC. Performance saturates with more human seeds but keeps scaling with synthetic data and compute; a later Akyürek et al. follow-up reused these BARC models to reach 61.9%.
56.75%ARC public val (best ensemble)
~60.2%Avg-human baseline
400kSynthetic tasks (ARC-Potpourri)
Llama-3.1-8BBase model
Key ideas
Matched head-to-head: same architecture, data, and base model, only the induction-vs-transduction strategy differs
The two are strongly complementary — a stable Venn split of ~26 induction-only, ~35 transduction-only, ~19 both (p < .004)
Synthetic pipeline remixes ~160 human seeds into 200k–400k executable ARC-like tasks (ARC-Heavy, ARC-Potpourri)
Ensemble tries self-verifying induction first, falls back to transduction; best config hits 56.75% on ARC public val
Saturates with human seeds but scales with synthetic data/compute; Akyürek follow-up reused the models to reach 61.9%
Why it matters for ARC-AGI-3The induction branch is this repo's synthesize-and-verify loop in miniature: sample many Python programs, keep only those that exactly reproduce the examples, and lean on the fact that induction is self-verifying — mirroring the "accept a world model only when it exactly replays every recorded transition" contract. Its seed-remixing data pipeline is a template for generating world-model training material, and the induction/transduction complementarity argues an ARC-AGI-3 system should pair verified synthesis with a perceptual fallback and route between them.
Bonnet et al. · arXiv 2024 · NeurIPS 2025 spotlight
NeuralTest-timeInfluence ●●●●●
Learn a continuous latent space of programs and search it with gradients at test time — no DSL, no per-task fine-tuning
The Latent Program Network (LPN) bakes test-time search into a neural model. Instead of searching discrete program text or fine-tuning weights per task, LPN learns a continuous latent space where each point names an input→output function realized by a differentiable decoder. An encoder maps example pairs to a latent; because the decoder is differentiable, at test time you refine that latent with gradient ascent to fit the given demonstrations, then decode the held-out input. Trained with a leave-one-out variational objective and a "Grad k" search-in-training regime, LPN roughly doubles out-of-distribution ARC performance once test-time gradient search is switched on.
Symbolic program synthesis searches a hand-designed domain-specific language; neural methods lean on heavy stochastic sampling or expensive per-task weight fine-tuning. Both give something up: the DSL is brittle and human-authored, while fine-tuning is costly and never structures a real adaptation mechanism. LPN asks whether test-time search can instead be learned and made part of the architecture, dropping the DSL entirely.
LPN uses two transformers. An encoder maps an input-output pair (x, y) to a distribution over a continuous latent z; a decoder maps a latent and a new input to an output, decoded pixel by pixel. Each z names an implicit program. Training is a leave-one-out variational scheme: for each pair, the encoder sees all the other pairs, and the decoder must reconstruct the held-out output — preventing the encoder from copying the target and forcing the latent to capture a reusable rule. Crucially, in the "Grad k" regime the model is trained with k gradient-refinement steps applied to the latent before decoding, so it learns a landscape actually navigable by gradient ascent. At test time you initialize z from the encoder, take gradient-ascent steps to maximize the log-likelihood of the training pairs, and decode the test input with the refined latent.
Evaluated on programming-by-example tasks and on ARC-AGI (a 178M-parameter model with a 256-dimensional latent, trained on ~51M RE-ARC pairs), LPN matches or beats in-context learning and test-time-training baselines — 78.5% in-distribution vs 57% for TTT — and its out-of-distribution ARC accuracy roughly doubles, from ~7.75% to ~15.5%, once test-time gradient search is enabled. Absolute OOD numbers stay low, but the headline is architectural: building search into the model gives structured, cheap per-task adaptation without a DSL or fine-tuning.
78.5% (vs 57% TTT)ARC-AGI in-distribution
15.5% (vs 15.25% TTT)ARC-AGI OOD
~2× (7.75→15.5%)OOD gain from test-time search
178M params, 256-dim latentModel
Key ideas
Learns a continuous latent space where each point names an implicit input→output program, decoded by a differentiable network
Test-time adaptation is gradient ascent over the latent to fit the demos, then decode the test input — no DSL, no fine-tuning
Leave-one-out variational training forces the latent to encode a reusable rule, not memorize the target output
'Grad k' trains the model with the same gradient search used at inference, yielding a genuinely searchable latent landscape
178M-param model, 256-dim latent, trained on ~51M RE-ARC input/output pairs
Why it matters for ARC-AGI-3LPN's core loop — infer a latent that captures an input→output program from a few examples, then refine it online against those examples — maps directly onto synthesizing a world model from recorded transitions and adapting it as more arrive, exactly the interactive regime ARC-AGI-3 demands. The promising fit for this repo is hybrid: use LPN-style latent search to warm-start candidates, then gate them through the strict exact-replay verifier, since latents are fast and adaptive but not directly checkable like explicit code.
Hypothesis Search: Inductive Reasoning with Language Models
Wang et al. · ICLR 2024
SynthesisFoundationsInfluence ●●●●●
An LLM proposes rules in plain English, then codes each as a runnable Python program to verify — the abstraction step beats jumping straight to code
Inductive reasoning—inferring a transformation rule from a few input/output pairs—breaks when you prompt an LLM for the answer directly. Hypothesis Search adds an intermediate rung: GPT-4 first proposes candidate rules in natural language, then implements each as a Python program that can be executed against the training pairs and, if it reproduces them all, applied to the held-out test input. Sampling ~64 hypotheses (pruned by LLM summarization or a human pick) and repairing failures via execution feedback, the pipeline reaches 30% on a 100-task ARC subset versus 17% for direct prompting, and generalizes across grids, sequences, and strings.
Inductive reasoning means inferring a general transformation rule from a handful of input/output examples and applying it to a novel input. The paper argues that the dominant way LLMs are evaluated on such tasks — directly prompting for the answer, i.e. in-context learning — is the wrong altitude: it works on easy inductive tasks but collapses on structurally novel benchmarks like ARC. Drawing explicitly on Bayesian models of human inductive learning (Tenenbaum, Goodman), the authors argue reasoning should proceed through an explicit hypothesis space — propose candidate rules, then test them — rather than interpolating an answer in one shot.
The method decomposes the problem into two levels of abstraction, run as Generate → Select → Implement → Validate. GPT-4 (gpt-4-0314, temperature 1.0) is prompted with the examples — for ARC, grids serialized as NumPy-style arrays with a color legend — and proposes ~64 natural-language hypotheses. Natural language captures a rule's gist but is ambiguous and un-executable, so each surviving hypothesis is implemented as a concrete Python program that runs against the training pairs; a program reproducing all outputs is accepted and applied to the test input, with up to 3 rounds of execution-feedback repair otherwise. The candidate set is pruned by LLM summarization (64→~8) or human selection. A key empirical finding: a program passing all training pairs almost always generalizes to the test item, making training verification a near-reliable acceptance gate — so the bottleneck is proposing a correct hypothesis at all (GPT-4 found one for only 49 of 100 ARC tasks).
On a 100-task ARC subset, accuracy climbs from 17% (direct) to 23% (program-only) to 30% (summarized) to 33% (human-selected), approaching Icecuber's 43% DSL-based SOTA without any ARC DSL. The gains hold cross-domain — 1D-ARC 73.1%, SyGuS strings 94.3% (beating DSL-based CrossBeam's 74.8%), List Functions 69%. The framing reframes an LLM not as an answer oracle but as a proposal distribution over programs, with an external executor supplying ground-truth reward — precisely the shape of a synthesize-then-verify loop.
30% vs 17% directARC 100-subset (auto)
33%ARC (human-selected)
43%Icecuber DSL (same 100)
94.3%SyGuS strings
Key ideas
Two-stage pipeline: propose NL hypotheses, then implement each as a runnable Python program (Generate→Select→Implement→Validate)
Ablation: NL hypotheses beat program-only, which beats direct prompting — both abstraction levels help independently
Passing all training pairs almost always generalizes to test, making training verification a near-reliable acceptance gate
Bottleneck is hypothesis generation, not selection: GPT-4 found a correct hypothesis for only 49 of 100 ARC tasks
Prunes candidates by LLM summarization (64→~8) or human pick; up to 3 rounds of execution-feedback repair
Generalizes across grids, sequences, and strings: ARC, 1D-ARC, SyGuS, List Functions — large gains over direct prompting
Why it matters for ARC-AGI-3A direct blueprint for the repo's "synthesize candidate world-model programs, accept only on exact replay" core: it validates the LLM-as-proposal-distribution plus external-executor structure and reports the empirical fact that passing every training example almost always generalizes — the justification for an exact-replay acceptance gate. Its natural-language-hypothesis then program split suggests recording an intermediate rationale alongside each synthesized world-model program, and it names testing hypotheses by acting in the stateful ARC-AGI-3 setting as the next step.
CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay
Butt et al. · ICML 2024
SynthesisNeuralInfluence ●●●●●
Relabel each failed program as the goal it actually solved, and a 220M code LM self-improves on ARC despite near-zero reward
ARC-as-program-synthesis suffers from near-total reward sparsity: a code LM sampling programs almost never reproduces a task's exact output, so ordinary RL has nothing to learn from. CodeIt borrows hindsight relabeling from goal-conditioned RL — when a sampled program produces some output, it treats that realized output as the goal, turning failed samples into dense (goal, program) supervision. A 220M CodeT5+ policy fine-tunes on a prioritized replay buffer that up-weights experiences matching real task demonstrations, then samples better programs next round. Over 100 meta-iterations it reaches 59/400 (~15%) on the ARC evaluation set — state of the art among full-eval methods at the time.
ARC framed as programming-by-examples is brutal for a learning agent: given a handful of input/output grid pairs, produce a DSL program that maps one to the other. A code language model sampling programs essentially never hits the exact target output by chance, so ordinary reinforcement or rejection sampling collects a zero reward on almost every attempt and has nothing to learn from. CodeIt's insight is that a failed program is still a correct program for some task — just not the one you asked about.
The method is a self-improving loop. In each meta-iteration the 220M-parameter CodeT5+ policy samples up to 24 programs per task; each is run through the DSL interpreter, and every syntactically valid one is hindsight-relabeled — its realized output grids become the goal — and written to a replay buffer. The policy then fine-tunes with a negative-log-likelihood objective on a mixture of buffer experiences, mutation-augmented programs, and the original ground-truth seeds. Prioritized sampling up-weights experiences whose relabeled goal matches a real task demonstration, keeping learning anchored to genuine ARC transformations and fighting catastrophic forgetting. Grids are fed as sparse object-centric text (coordinates plus colors) rather than dense pixels to keep sequences short.
Run for 100 meta-iterations, CodeIt solves 59 of 400 ARC evaluation tasks (~15%) — reported as SOTA among methods scaled to the full evaluation set at the time, beating symbolic search baselines (26/400, 23/400) and a GPT-4 setup (49/412). Ablations show the loop genuinely depends on its parts: removing hindsight relabeling stalls learning at 24/400, removing pretraining collapses it to 9/400. CodeIt is not tabula-rasa learning — it leans on a hand-built DSL, an interpreter, and a seed set of programs — but it shows how to squeeze a dense, self-improving signal out of sparse-reward program search once that scaffolding exists.
59/400 (~15%)ARC eval (SOTA at time)
220M CodeT5+Policy
100Meta-iterations
24/400No-relabel ablation
Key ideas
Hindsight relabeling: treat a program's actual output as the goal it solved, turning failed samples into dense supervision
Self-improving loop over 100 meta-iterations: sample programs, relabel, fine-tune, then sample better next round
Prioritized replay up-weights experiences matching real task demonstrations, fighting drift and catastrophic forgetting
220M CodeT5+ policy; grids fed as sparse object-centric text (coordinates + colors) to cut token counts
First neuro-symbolic method scaled to the full ARC eval set; still needs a hand-built DSL, interpreter, and seed programs
Ablations show relabeling (24/400 without) and pretraining (9/400 without) are the load-bearing ingredients
Why it matters for ARC-AGI-3CodeIt is the clearest template for the learning side of a synthesize-and-verify world-model platform: it turns the same all-or-nothing exact-replay acceptance gate arc_lab uses into a dense self-improving loop via hindsight relabeling. Its code-LM-plus-sandboxed-interpreter-plus-replay-buffer architecture maps almost one-to-one onto the EventStore + sandboxed-worker + verifier stack, and its offline-distillable nature fits the no-network-at-evaluation constraint.
A 76K-parameter net with no pretraining or search compresses a single ARC puzzle at inference time — and solves ~20% of ARC-AGI-1
CompressARC solves ARC-AGI puzzles with no pretraining, no external data, and no search. For each puzzle a fresh ~76K-parameter network is trained from scratch at inference time on that one puzzle, with the answer removed. Solving is a side effect of compression: gradient descent minimizes the puzzle's Minimum Description Length via a VAE-style objective (latent KL plus reconstruction cross-entropy), and the shortest description tends to fill the blank cells correctly. An equivariant "multitensor" architecture bakes in ARC's symmetries. It reaches ~20% (pass@2) on ARC-AGI-1's evaluation set, a clean demonstration that competence can emerge from compression alone.
The dominant ARC recipes all lean on some form of scale — pretraining, big synthetic corpora, exhaustive program search, or heavy test-time compute. CompressARC makes a deliberately extreme counter-claim: strip every one of those crutches away and puzzle-solving competence still emerges, purely from an inference-time compression objective. There is no training corpus and no fine-tuning phase anywhere in the loop.
For each individual puzzle, a fresh, randomly-initialized ~76K-parameter network is trained from scratch at inference time on that one puzzle alone, with the answer grid removed. The engine is the Minimum Description Length principle, operationalized as a VAE-style objective: gradient descent jointly optimizes a latent code and the decoder to minimize the total bits needed to describe the puzzle — the KL divergence of the latent against a standard-normal prior (coding the latent) plus cross-entropy reconstruction over the known grids. The missing answer is whatever the most-compressed model reconstructs in the blank cells; by Occam's razor the shortest description tends to be right. The priors live in an equivariant "multitensor" architecture whose weight tying bakes in ARC's symmetries (example order, color, rotation/reflection) so the net cannot cheat by memorizing orientations. Per puzzle it runs ~2000 Adam steps (~20 min on an RTX 4070); the reported answer is the most frequently sampled output (an EMA vote), with two guesses submitted (pass@2).
It reaches ~34% pass@2 on ARC-AGI-1's training set and ~20% on the eval set — versus a same-setup U-Net near 0.75%, with HRM at 40.3% (which trains on train+test) and OpenAI o3 at 87.5% (internet-scale) cited for calibration. On the harder ARC-AGI-2 a purely local, count-incapable method scores only low single digits (~4%). Empirically, lower-bit solutions correlate with more accurate ones, so compression doubles as a confidence signal. The published capability boundary — strong at local color/infill/line reasoning, helpless at counting, long-range structure, and any dynamics — makes "compression alone" unusually legible.
~20%ARC-AGI-1 eval (pass@2)
34.75%ARC-AGI-1 train (pass@2)
76KParameters
~20 min (RTX 4070)Compute / puzzle
Key ideas
A fresh ~76K-param net trains from scratch at inference on one puzzle (answer removed) — no pretraining, data, or search
Solving = Minimum Description Length minimization via a VAE objective: latent KL + reconstruction cross-entropy
Lower-bit (more compressed) solutions correlate with correct ones, so compression doubles as a confidence signal
An equivariant "multitensor" architecture bakes in ARC's example-order, color, and rotation/reflection symmetries via weight tying
~2000 Adam steps, ~20 min/puzzle on an RTX 4070; answer is the most-frequently sampled output (EMA vote), pass@2
Documents an explicit capability boundary: good at local infill/lines, helpless at counting and long-range structure
Why it matters for ARC-AGI-3MDL/description-length is an attractive ranking signal to layer on top of arc_lab's binary exact-replay verifier — both prefer the most parsimonious model consistent with the record — for choosing among candidate world-model programs or deciding when to abstain. Its documented capability boundary (helpless at counting, long-range structure, and any agent/planning/dynamics) maps precisely where a pure-compression baseline fails on the interactive, stateful tasks ARC-AGI-3 targets.
Graph-Based Exploration for ARC-AGI-3 Interactive Reasoning Tasks
Rudakov et al. · arXiv · 2025
AgenticInfluence ●●●●●
A training-free graph explorer that remembers every state it has visited beats LLM agents on ARC-AGI-3, taking 3rd place by out-acting them
One of the first published agents built for ARC-AGI-3, where an agent is dropped into an instruction-less game and must discover both rules and goal by acting. Rather than deploy a frontier LLM, the authors build a training-free explorer that maintains an explicit directed graph of every state it has seen and every action it has tried. A connected-component vision front-end masks UI chrome and ranks click targets into five visual-salience tiers; a frontier-driven policy always pulls the agent toward unexplored regions via shortest paths. The cheap explorer spends its whole interaction budget productively and takes 3rd place, beating LLM agents starved by per-step model calls.
ARC-AGI-3 replaces static grid puzzles with turn-based games that ship with no instructions, no stated rules, and no stated goal: the agent observes a rendered frame, emits an arrow key or an (x, y) click, receives a new frame, and must infer the mechanics purely by acting. The paper's deliberately unfashionable thesis is that a training-free, algorithmic explorer beats LLM-based agents here — because an LLM agent is interaction-limited, gating every environment step on a model call and so managing only a few thousand interactions where the environment allows on the order of 96,000.
The system has two halves. A lightweight vision front-end segments each frame into single-color connected components, heuristically masks the status bar so UI chrome is not mistaken for game objects, and sorts the rest into five priority tiers by size, morphology, and color. A directed graph then records the environment: each visited state is a node keyed by a hash of the masked frame, and each tried action is an edge annotated with its outcome, priority tier, tested status, successor state, and shortest-path distance to the nearest unexplored frontier. A three-phase, frontier-driven policy picks a random untested action within the active priority threshold, else navigates to the nearest state that has one, else relaxes the threshold — a systematic, breadth-first-flavored coverage strategy that handles arrow (|A|=4), click (4,096), and combined (4,100) action spaces.
The payoff is a 3rd-place finish on the ARC-AGI-3 Preview Challenge private leaderboard, a median of about 30 of 52 levels solved in full 8-hour runs, and 12 private levels on the official submission (depressed by a candidly documented reset-marking bug that caused looping). Performance degrades on very large state spaces, and the agent explores but never models — recording transitions without inducing a rule that explains them.
3rd placeARC-AGI-3 Preview (private)
≈30/52Levels solved (median, 8h)
12 private levelsOfficial submission
~4k / 96k stepsInteraction budget used
Key ideas
Training-free, deterministic graph explorer for ARC-AGI-3 — no neural network is trained anywhere in the system
Vision front-end segments single-color connected components, masks the status bar, and ranks targets into five salience tiers
Environment stored as a directed graph: frame-hash nodes, edges annotated with outcome, tier, tested-status, successor, frontier distance
Hierarchical policy: untested-local action → shortest path to nearest untested state → relax priority threshold, recurse
Diagnoses LLM agents as interaction-limited: ~4,000 model-gated steps vs. ~96,000 the environment allows
Records transitions but never synthesizes a rule that explains them — it explores without modeling
Why it matters for ARC-AGI-3Its core artifact — a recorded directed graph of (state, action) → next_state transitions with exact frame-hash node identity — is almost exactly the interaction history this project's EventStore and content-addressed frame blobs capture. It stops at exploration and never synthesizes a program that explains the transitions, which is precisely the record → synthesize → verify gap this repo fills.
DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learning
Ellis et al. · arXiv · 2020
FoundationsSynthesisInfluence ●●●●●
Wake-sleep program learning that grows its own DSL of reusable concepts and trains a neural net to search it — learning what to write and how to find it
DreamCoder learns to program by inductive synthesis, treating expertise as acquiring a language for a domain plus the skill to search it. Instead of a fixed DSL, it starts from a few primitives and grows its own library of reusable abstractions while training a neural recognition model that learns how to search. A wake-sleep loop drives it: wake solves tasks by neural-guided program search; abstraction sleep compresses solved programs into new named concepts; dreaming sleep retrains the searcher on real replays plus sampled "fantasy" tasks. Cast as Bayesian program learning, it grows more capable and faster with experience — and its invented concepts stay human-readable.
Inductive program synthesis usually needs two things handed to it: a domain-specific language of primitives to write programs in, and a search strategy to find the right program fast. DreamCoder's wager is that both can be learned. It reframes domain expertise as acquiring a language for thinking about that domain — a set of reusable concepts — together with the skill to search efficiently within it. So instead of fixing a DSL up front, the system starts from a handful of primitives and grows its own library, while simultaneously training a neural network that learns how to steer the search through it.
The engine is a wake-sleep loop that alternates between solving problems and reorganizing knowledge. In the wake phase, a neural recognition model maps a task's examples to a distribution over which library components are likely useful, guiding an enumerative search until a program fits. In the abstraction ('sleep') phase, a compression step inspects solved programs and promotes frequently reused sub-computations into new named abstractions — inventing higher-level concepts like map or fold precisely because they shorten the solution set. In the dreaming phase, the recognition network is retrained on replays (real solved tasks) and fantasies (programs sampled from the current library and executed to synthesize examples), so the searcher improves between real problems. This is Bayesian program learning: the library is a generative prior, solving is posterior inference, and the recognizer is an amortized approximation that makes search tractable.
Demonstrated across eight-plus domains — list and text processing, symbolic regression, LOGO-turtle drawing, block towers — DreamCoder rediscovered foundational concepts it was never told: it reinvented core functional combinators from primitives and, from physical data, reconstructed vector algebra and laws like Newtonian gravitation and Coulomb's law. The grown libraries are human-readable, and the system bootstraps — later concepts build on earlier ones, so accuracy and search speed compound over rounds. That pairing of an interpretable, self-grown DSL with a learned search policy is the template for modern neuro-symbolic ARC solvers, and a direct model for this project's record → synthesize → replay-verify world-model loop.
Key ideas
Grows its own DSL: starts from a few primitives and invents reusable named abstractions instead of a fixed hand-built language
Wake-sleep loop: neural-guided search, compress solved programs into new concepts, retrain the searcher on replays plus fantasies
Bayesian framing: the library is a generative prior; the neural recognizer is an amortized posterior that makes search tractable
'Dreaming' on fantasies (programs sampled from the library and run) yields unlimited self-supervised data for the search policy
Rediscovered core functional combinators from primitives and reconstructed physical laws (gravitation, Coulomb) from data
Bootstraps: later concepts build on earlier ones, so accuracy and search speed compound; grown libraries stay human-readable
Why it matters for ARC-AGI-3DreamCoder is the intellectual template for this repo's synthesize-and-verify core: its wake phase is essentially world-model synthesis of next_state = f(state, action), and its abstraction sleep suggests mining recurring sub-programs from accepted world-models into a shared transition-rule library so later games synthesize faster. The exact-replay verifier plays the role of DreamCoder's likelihood check — accept a program only when it reproduces every recorded transition.
A frozen LLM completes abstract token sequences zero-shot — even ARC grids serialized as tokens, and even under a randomly remapped vocabulary
Mirchandani and colleagues reframe a pretrained LLM as a general sequence pattern machine rather than a language model. A frozen, off-the-shelf model, driven purely by in-context learning, autoregressively continues and transforms abstract token sequences — PCFG strings, discretized functions, and ARC grids serialized as ASCII-art tokens — with no task-specific training. The striking evidence is token-invariance: when symbols are randomly remapped to arbitrary vocabulary tokens, stripping all semantics, the model still completes patterns well above chance. That competence is structural, not semantic — exactly the property novel abstract reasoning demands. They push the same machinery into control, stabilizing CartPole by prompting alone.
ARC-style abstract reasoning and low-level sequential control look like different problems. This paper argues they are, from a model's perspective, the same capability: completing structured token sequences. It reframes what a pretrained LLM is — not a language model but a general sequence pattern machine — and asks how much abstract-reasoning competence a frozen, off-the-shelf model already carries with no fine-tuning at all.
Everything runs through in-context prompting on a frozen model. Structured data is serialized to token sequences: ARC grids become rows of number/character tokens laid out as ASCII art, with demonstration input to output pairs concatenated in the prompt and the model asked to continue the held-out output. The authors organize the capability into three modes — sequence transformation (map input tokens to output tokens, how they cast ARC), sequence completion (extrapolate procedurally generated PCFG and functional patterns), and sequence improvement (condition continuations on returns/rewards to extrapolate better trajectories, an in-context form of trial-and-error). For the pivotal token-invariance study, the alphabet is permuted to arbitrary vocabulary tokens so surface semantics are stripped while relational structure survives.
A frozen LLM solves a non-trivial subset of ARC tasks zero-shot with no visual encoder and no ARC-specific training, and its pattern completion partially survives random token remapping — the paper's central evidence that the skill is structural, not memorized. Pushed into robotics, the same machinery extrapolates motions from keyframes and, via least-to-most reward-conditioned prompting, discovers a closed-loop CartPole controller. The authors are candid about practical non-viability today — latency, context limits, compute — and present the work as a capability demonstration, not a deployable system. The through-line for ARC research: a frozen LLM already contains a surprisingly general, semantics-agnostic pattern engine that can be prompted, not trained, to attack abstract reasoning.
Key ideas
Reframes a frozen pretrained LLM as a general sequence pattern machine, not a language model
Token-invariance: pattern completion survives random vocabulary remapping — the skill is structural, not semantic
Casts ARC as sequence transformation: grids serialized to ASCII-art tokens, solved zero-shot with no visual encoder
Three modes: sequence transformation, sequence completion, and reward-conditioned sequence improvement
Same machinery extends to control — extrapolates motions and stabilizes CartPole by prompting alone
Candid on limits: latency, context length, and compute make it a proof-of-concept, not a deployable system
Why it matters for ARC-AGI-3The repo's EventStore already records (state, action, next_state) transitions; a frozen LLM can be prompted to complete the transition function, accepting only candidates that replay every recorded transition exactly. Token-invariance is a design lever — anonymizing grid symbols pushes the model toward structural solutions — and reward-conditioned sequence improvement offers a lightweight exploration policy worth benchmarking against the graph-based explorer.
Understanding and Benchmarking Artificial Intelligence: OpenAI's o3 Is Not AGI
Pfister et al. · arXiv · 2025
CritiqueInfluence ●●●●●
o3's ~87.5% on ARC-AGI-1 is a genuine skill, not AGI — brute-recombining a fixed operation set doesn't transfer to diverse, open-ended worlds
Written days after OpenAI's o3 hit roughly 87.5% on ARC-AGI-1, this position paper accepts the result as real but denies it proves AGI. Its central move separates skills — competence on a bounded problem class — from intelligence — the capacity to acquire new competence in unfamiliar situations. The authors read o3 as massive trialling of combinations of predefined operations: brute-force search that fits ARC's recombination-solvable structure but won't transfer to problems lacking a pre-enumerable operation set or cheap pre-testing. They propose a positive definition — achieving diverse goals in diverse worlds with minimal prior knowledge — and sketch benchmarks built around it.
In December 2024 OpenAI's o3 reached about 87.5% on ARC-AGI-1, a jump widely reported as a step toward general intelligence. Pfister and Jud accept the number as genuine and impressive, then use the moment to ask what the benchmark actually measures. Their answer turns on a distinction: skills are competence on a bounded, familiar class of problems, while intelligence is the capacity to acquire new competence in unfamiliar situations. On that reading, a very high ARC score demonstrates the former without touching the latter.
The argument hinges on how o3 succeeds. The authors characterize its approach as massive trialling of combinations of predefined operations — a brute-force search over candidate grid transformations, filtered by evaluation at high compute cost. ARC-AGI-1's tasks are solvable by recombining a finite repertoire of operations, so this strategy is highly effective there. But real-world problems, they argue, generally lack a pre-enumerable operation set and lack cheap ways to test candidate solutions in advance, so a recipe built on exhaustive recombination does not extend to open-ended settings. From that gap they advance a positive definition of intelligence: achieving diverse goals in diverse worlds with minimal prior knowledge, centering breadth of transfer and economy of priors over peak performance on any one distribution.
The paper is conceptual, not empirical — no new models or experiments, just a framework and a critique. Under its lens, ARC-AGI-1 is one narrow slice: a single grid representation with a solvable-by-recombination structure, leaving the diversity-of-worlds axis essentially unmeasured even at 87.5%. The authors sketch requirements for a stronger benchmark — far greater task and world diversity, explicit accounting of allowed priors, and a design that forbids solve-by-recombination and pre-testable-solution shortcuts. Read as a corrective to the ARC-Prize narrative, it stays sympathetic to Chollet's skill-acquisition-efficiency framing but insists that clearing one hard benchmark is not the same as measuring general intelligence — a caution pointing toward the interactive, instruction-free setting of ARC-AGI-3.
~87.5%o3 on ARC-AGI-1
Key ideas
Accepts o3's ~87.5% ARC-AGI-1 result as genuine but argues it does not establish AGI
Separates skills (bounded competence) from intelligence (acquiring competence in unfamiliar situations)
Reads o3 as massive trialling of combinations of predefined operations — brute-force search at high compute
Recombination works because ARC tasks are solvable from a finite operation repertoire; won't transfer to open-ended problems
Positive definition: intelligence = achieving diverse goals in diverse worlds with minimal prior knowledge
Calls for benchmarks maximizing world diversity, banning solve-by-recombination and pre-testable-solution shortcuts
Why it matters for ARC-AGI-3It argues the interactive, instruction-free ARC-AGI-3 setting — where an agent must infer both rules and goals from scratch — is a better probe of "diverse worlds with minimal priors" than any fixed-DSL score. That reinforces this repo's instinct to induce and verify a world model against reality rather than select one from a pre-enumerated library that already encodes the answer, and to watch for transfer across games rather than fitting a single one.
Don't throw the baby out with the bathwater: How and why deep learning for ARC
Cole et al. · arXiv · 2025
CritiqueTest-timeInfluence ●●●●●
A defense of transductive deep learning for ARC: keep the optimizer running at test time, augment-and-vote, and reach 58% on the private set
Against the prevailing "program synthesis is the only path" narrative, these MindsAI/ARCathon-lineage authors argue ARC is a perceptual, qualitative problem where deep learning's abstraction-from-data strength wins — if you commit harder and let the optimizer keep working at inference. Two techniques carry the case: Test-Time Fine-Tuning (TTFT) synthesizes a task-specific training set from a task's own demonstration pairs plus color, D4, and demo-order augmentations, then fine-tunes the full network just before predicting; AIRV runs inference over invertible transformed views and majority-votes. On a LongT5 encoder-decoder, AIRV adds roughly +260% and TTFT a further ~+300%, reaching 58% on the ARC private test set.
The paper is a rebuttal. The prevailing story holds that ARC's resistance to LLMs proves program synthesis is the only viable path; the authors — from the lineage that pioneered test-time adaptation and won the 2023 ARCathon — argue the opposite. Their claim is that ARC problems are fundamentally perceptual and qualitative rather than symbolic, that the space of possible transformations is too large for hand-guided program search, and that deep learning is precisely the paradigm that has repeatedly learned hard abstractions in vision and language. So rather than abandon it, commit harder — including by training the network at test time on the very task being solved.
The methodological heart is treating both the network and the optimizer as part of inference. The base is a LongT5 encoder-decoder, chosen because its non-causal encoder attention lets every grid token attend to the whole input at once — grids are serialized row-major as numeric tokens. Pretraining leans on code (argued to be "more logical and less ambiguous"), multi-task data, and synthetic riddle generators, with an auxiliary head that predicts the underlying DSL function name. Test-Time Fine-Tuning repurposes each task's demonstration pairs as held-out riddles, multiplies them via color permutations, the D4 spatial group, and demo-order shuffling, then full-parameter fine-tunes before predicting. AIRV (Augment, Inference, Reverse-augment, Vote) applies invertible transforms to the input, infers on each view, inverts each prediction back to a common frame, and majority-votes.
Empirically the gains are large and stackable: from a ~5% zero-shot base, AIRV yields roughly +260%, and adding TTFT a further ~+300%, reaching 58% on the ARC private test set — the best score at the time — under tight compute (a single P100 within a couple of hours). Ablations note scale helped AIRV more than TTFT, and encoder-decoders beat causal decoders. The takeaway: the winning ingredient is learned, on-the-fly abstraction acquisition, not symbolic search.
58%ARC-AGI-1 private test
~+260%AIRV relative gain
~+300%TTFT added gain
1st placeARCathon 2023
Key ideas
Rebuts the 'program synthesis only' view; reframes ARC as perceptual/qualitative where learned abstraction beats hand-guided search
TTFT: full-parameter fine-tune on a task's own demonstrations plus color/D4/order augmentations, just before predicting
AIRV: augment, infer per view, reverse-augment, majority-vote — turns one noisy predictor into a stronger one
LongT5 encoder-decoder chosen so non-causal attention lets every grid token see the whole riddle at once
Code-heavy multi-task pretraining plus an auxiliary head that predicts the underlying DSL function name
Makes both the network and the optimizer part of inference, not a frozen pretrained net
Why it matters for ARC-AGI-3The TTFT recipe — synthesize a task-specific set from a task's own examples, augment invertibly, fine-tune, then vote — maps cleanly onto recorded interaction transitions, yielding a neural transition predictor per game. A voted neural prediction carries no correctness guarantee, which is exactly what this repo's exact-replay verifier supplies: let a TTFT/AIRV network propose transitions (or, via its DSL-name head, candidate programs) and accept only those that replay every recorded transition.
All 21 works in chronological order — a field assembling itself, from the 2019 measure of intelligence to the 2026 agentic benchmark. Click any row to open its entry.
The newest benchmark drops the static puzzle for an interactive world with no instructions. Humans solve 100%; frontier AI scores below 1%. It's new, and it gets its own deep dive: the five papers that matter, every solution tried so far, the space of approaches, and the questions that decide it.