File size: 2,188 Bytes
d3a24e0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # ARC-AGI-3 Wayfinder Agent
Competition agent for the **ARC Prize 2026 — ARC-AGI-3 track** (Kaggle Code Competition).
## Architecture
The agent uses a **hybrid world-model + planning** architecture combining four
modules mapped to the benchmark's core capabilities:
| Module | Role | Capability |
|--------|------|------------|
| Perception Encoder | CNN over one-hot 64×64×16 frames → compact latent | — |
| World/Transition Model | Self-supervised P(frame changes | state, action) + forward model | Modeling |
| State Memory Graph | Hash-deduplicated directed graph of observed states | Exploration |
| Intrinsic Reward | Extrinsic Δscore + graph novelty + prediction-error curiosity | Goal-setting |
| Planner | Short-horizon tree search using world model as simulator | Planning |
| Action Head | Hierarchical: action-type softmax + conv coordinate head for ACTION6 | — |
## Quick Start
```bash
# Install
uv pip install -e ".[dev]"
# Run against a public game
uv run main.py --agent=wayfinder --game=ls20
# Run tests
uv run pytest
# Offline evaluation
uv run python eval/run_local_eval.py --agent=wayfinder --games=ls20,ls21,ls22
```
## Repository Layout
```
agents/wayfinder/ # Core agent modules (perception, world_model, memory_graph, ...)
training/ # Replay buffer, training loops, configs
eval/ # Offline evaluation harness, metrics
notebooks/ # Kaggle submission notebook
tests/ # Unit + integration tests
```
## Key Constraints
- **No internet at inference time** — Kaggle scoring sessions disable network access.
- **MIT/CC0 license** — all authored code; third-party deps must be permissively licensed.
- **Action budget** — agent self-terminates stuck levels (~5× human median actions).
- **No per-game hardcoding** — same code runs against all unseen games.
## Reproducing Results
1. Install dependencies: `uv pip install -e ".[dev]"`
2. Download public games via the SDK's local mode.
3. Run evaluation: `uv run python eval/run_local_eval.py --agent=wayfinder`
4. Results are logged to `eval/results/` with per-game/level breakdowns.
## License
MIT — see [LICENSE](LICENSE).
|