GitHub - alexisfox7/PRO-LONG: Programmatic memory for long-horizon LLM agents: the harness appends everything to one log, and the agent searches it with code. 97.4% on ARC-AGI-3 (arXiv:2607.20064) · GitHub
/" data-turbo-transient="true" />
Skip to content
Search/
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
alexisfox7
PRO-LONG
Public
Notifications<br>You must be signed in to change notification settings
Fork<br>40
Star<br>399
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>42 Commits<br>42 Commits
assets
assets
docker
docker
prolong_agent
prolong_agent
release_logs/fable5
release_logs/fable5
scorecards
scorecards
.gitignore
.gitignore
.python-version
.python-version
CITATION.cff
CITATION.cff
LICENSE
LICENSE
README.md
README.md
pyproject.toml
pyproject.toml
uv.lock
uv.lock
View all files
Repository files navigation
PRO-LONG: Programmatic Memory Enables Long-Horizon Reasoning
PRO-LONG is a minimal memory addition for LLM agents on long-horizon tasks. The harness appends every observation, action, and outcome to a single structured log.txt, and the agent retrieves and reasons over it programmatically (grep, Python). There are no subagents or specialized retrieval mechanisms, and the system prompt is about 30 lines.
On the full ARC-AGI-3 public game set, PRO-LONG improves over the same coding agents without the log by 18 percentage points on average, matches or exceeds specialized harnesses at 4.2–5.8x fewer billed tokens, and reaches 97.4% best@2 with Fable 5 at a total cost of $1,750.
Paper: arxiv.org/abs/2607.20064
Setup
Requires Python (3.12 recommended) and Docker.
git clone git@github.com:alexisfox7/PRO-LONG.git<br>cd PRO-LONG<br>python -m venv .venv<br>source .venv/bin/activate<br>pip install -e .
# codex backend<br>docker build -t prolong-agent/codex-sandbox:latest docker/codex-sandbox<br>docker build -t prolong-openai-proxy docker/openai-proxy
# claude-code backend<br>docker build -t prolong-agent/claude-sandbox:latest docker/claude-sandbox<br>docker build -t prolong-anthropic-proxy docker/anthropic-proxy
Create a .env file:
ARC_API_KEY=...<br>CODEX_API_KEY=... # codex backend<br>CLAUDE_CODE_OAUTH_TOKEN=... # claude-code backend (default)<br>ANTHROPIC_API_KEY=... # claude-code backend with --api-key
The agent container only mounts the game workspace and, by default, has no network access except a proxy to the model API.
Usage
prolong-swarm --suite all -m gpt-5.5 --max-actions 500<br>prolong-swarm --suite all --backend claude-code -m claude-opus-4-6<br>prolong-swarm --game ls20,ft09 -m gpt-5.5
Results are written to evaluation_results/.
Key flags
Flag<br>Default<br>Description
--backend<br>codex<br>codex (OpenAI Codex CLI) or claude-code (Claude Code CLI)
--suite<br>Game suite (all only)
--game<br>Comma-separated individual game names or full IDs
--max-actions<br>500<br>Max actions per game
--model, -m<br>Backend-specific<br>gpt-5.5 for Codex; claude-opus-4-6 for Claude Code
--effort<br>high<br>Effort level (claude-code backend)
--reasoning-effort<br>none<br>Reasoning effort (codex backend)
--operation-mode<br>online<br>online / offline / normal
Memory conditions
The agent's access to game history is controlled by --log-window and --workspace. These are the ablation conditions from the paper:
Condition<br>Flags<br>History available
prolong<br>(default)<br>Full game log
lw25<br>--log-window 25<br>Last 25 action sections of the log
no-log (in-prompt)<br>--log-window -1<br>No log file; the current board is added to the prompt
stateless<br>--workspace stateless<br>Full log, but the workspace is wiped each call
Scorecards & logs
scorecards/ contains the official online scorecards, including all 25 Fable 5 runs from the paper (fable_online_scorecards.txt); each can be verified on arcprize.org. release_logs/ contains logs for the Fable 5 online runs: game logs, agent transcripts, and workspaces. Logs for the remaining ablations will be added.
Architecture
prolong_agent/<br>├── agent/<br>│ ├── base.py # base architecture<br>│ ├── codex_agent.py # Codex CLI backend<br>│ ├── claude_code_agent.py # Claude Code backend<br>│ ├── swarm.py # CLI entry point<br>│ ├── action_queue.py # action execution<br>│ ├── game_state.py # board/log formatting<br>│ └── prompts.py # prompts (~30 lines)<br>├── environment/<br>│ ├── arcagi3.py # ARC-AGI-3 API wrapper<br>│ ├── runner.py # per-game loop<br>│ └── config.py<br>├── metrics/<br>└── utils/
This repo was formerly the Read-Grep-Bash (RGB) Agent, see our original blog post on the ARC-AGI-3 preview games.
Citation
@misc{fox2026prolong,<br>title={PRO-LONG: Programmatic Memory Enables Long-Horizon Reasoning},<br>author={Fox, Alexis and Wang, Junlin and Rosu, Paul and Dhingra,...