CURIO: programs are sampled, a non-obvious branch is explored, candidates are evaluated, and the best solution feeds back into the next round.

CURIO: Curiosity-Driven Test-Time Learning for Open-Ended Discovery

Tao Feng1 Fangxu Yu2 Zijie Lei1 Jiaru Zou3 Changjiang Jiang1 Yi Yan1 Jiaxuan You1 Pan Lu3
1University of Illinois Urbana-Champaign 2University of Maryland, College Park 3Stanford University
7
Discovery Tasks
Six math problems and single-cell denoising.
8B–235B
Qwen3 Backbones
Gains over task-only RL at every tested scale.
+18.3%
Hadamard (235B)
Relative gain over TTT-Discover.
+10.8%
Denoising Score
Relative gain on Tabula (8B).

Abstract

Learning from Feedback, Without Losing the Urge to Explore

Open-ended discovery requires learning from repeated attempts while continuing to explore directions whose value is not yet apparent. Search with a frozen large language model (LLM) can reuse previous solutions in context, but cannot update the model from its successes and failures on the test problem. Reinforcement learning (RL) enables such adaptation; however, strongly favoring high-reward trajectories may suppress low-reward yet potentially promising directions too early.

We introduce CURIO, a curiosity-driven test-time learning framework that complements task feedback with an Intrinsic Curiosity World Model (ICWM). The ICWM learns transitions in the policy's hidden-state representation and supplies prediction-error bonuses at sampled tokens outside the policy's top-$k$ choices. Epoch normalization and an annealed weight regulate their contribution to the policy update.

On six mathematical discovery tasks and single-cell denoising with Qwen3 backbones from 8B to 235B, three-run means improve over a matched task-only RL control on five mathematical objectives, match the best reported performance on Circle Packing, and improve denoising Score and mean squared error (MSE) on both held-out corpora at every tested scale. Relative gains reach 18.3% on Hadamard and 10.8% on denoising Score. Code-diversity measurements show greater structural variation among generated programs, supporting curiosity as a complementary exploration signal for learning in open-ended discovery.

How It Works

A Curiosity Signal Inside the Discovery Loop

CURIO follows the test-time RL discovery loop: a policy expands parents from an archive into rollouts, an evaluator scores them, the archive keeps the better solutions, and the policy is updated on the same problem. On top of the task reward, CURIO learns where the policy is surprising itself and rewards exploration exactly there.

CURIO overview: the test-time discovery loop on the left; on the right, (i) tokens outside the policy's top-k are selected as branch points, (ii) an Intrinsic Curiosity World Model learns to predict the next hidden state, and (iii) its prediction error becomes a curiosity bonus added to the task coefficient.
Overview of CURIO. A policy expands archive parents into rollouts. The ICWM learns token-level transitions in encoded policy hidden states, and its prediction residual informs the curiosity bonus. The signal is retained at sampled tokens outside the policy's top-$k$ choices and combined with the task coefficient, $\tilde A_t = \mathrm{sg}[A_t + \eta_\tau b_t]$.
(i) Find Branch Points

During generation, CURIO records which sampled tokens fall outside the policy's top-$k$ choices. These departures from the most likely continuation are the only places where the curiosity bonus is applied.

(ii) Learn an Intrinsic Curiosity World Model

An encoder and forward predictor learn $s_t, a_t \rightarrow s_{t+1}$ over the current actor's last-layer hidden states and token embeddings. Its prediction error marks transitions the policy has not yet learned to anticipate.

(iii) Reward Novelty, Then Anneal

Residuals are normalized per epoch and added to the task coefficient with weight $\eta_\tau$, cosine-annealed to a floor. Setting $\eta_0 = 0$ recovers the task-only TTT-Discover update exactly.

Main Results

Better Discoveries at Every Scale

We compare against frozen-LLM search (AlphaEvolve via OpenEvolve, ShinkaEvolve, Best-of-25600, SimpleTES) and trainable test-time RL (ThetaEvolve, TTT-Discover). TTT-Discover is the matched task-only control: the same procedure as CURIO with $\eta_0 = 0$. All results are means over three runs.

Mathematical Discovery

MethodErdős ↓AC1 ↓AC2 ↑AC3 ↓Circle Packing ↑Hadamard ↑
Qwen3-8B
AlphaEvolve0.3810021.505610.89471.50622.635850.5589
ThetaEvolve0.3809991.506490.94491.49422.635970.5748
ShinkaEvolve0.3810261.514930.85011.50742.635970.5661
Best-of-256000.3810911.510320.93181.50812.635700.5554
SimpleTES0.3810061.506280.94581.49512.635970.5776
TTT-Discover0.3809951.505460.94631.49352.635980.5809
CURIO0.3809321.505130.94811.48462.635980.6048
Qwen3-14B
AlphaEvolve0.3810681.509710.91581.51092.634820.5762
ThetaEvolve0.3837101.514880.93511.64282.624910.5867
ShinkaEvolve0.3810411.510520.90481.49962.635090.5826
Best-of-256000.3811191.509970.92711.50512.634390.5708
SimpleTES0.3810091.508190.93741.48792.635460.5902
TTT-Discover0.3809791.506080.93911.45922.635980.5864
CURIO0.3809191.505910.94181.45782.635980.6061
Qwen3-235B
TTT-Discover0.3809181.503760.95621.45612.635980.7846
CURIO0.3808801.503150.95881.45492.635980.9284

Best feasible objective found per run, averaged over three runs. ↓ lower is better, ↑ higher is better. Within each scale, bold is best and underline is second-best; ties share the marking.

Single-Cell Denoising

MethodPBMCTabula
Score ↑MSE ↓Poisson ↓Score ↑MSE ↓Poisson ↓
Qwen3-8B
AlphaEvolve0.67380.18170.05540.67850.17160.0323
ThetaEvolve0.69810.15880.04940.72070.14410.0302
ShinkaEvolve0.67870.17640.05350.68810.16690.0312
Best-of-256000.62740.20710.06070.63820.19680.0354
SimpleTES0.69580.16410.05030.71180.15140.0305
TTT-Discover0.68420.20870.08180.64680.19630.0363
CURIO0.70090.15520.04930.71650.14850.0301
Qwen3-14B
AlphaEvolve0.66840.18210.05040.65860.18240.0302
ThetaEvolve0.68140.16780.05030.68920.15860.0302
ShinkaEvolve0.67820.17150.05020.67830.16180.0301
Best-of-256000.61710.20230.05060.65760.18220.0303
SimpleTES0.68730.16510.04990.69660.15580.0302
TTT-Discover0.69010.16150.04920.70120.15260.0301
CURIO0.70520.15550.04910.72180.14230.0292
Qwen3-235B
TTT-Discover0.70110.15620.04910.72540.14010.0291
CURIO0.71560.15010.04900.74080.13340.0281

The epoch is selected by held-in MSE; neither held-out corpus is used for selection. Means over three runs.

CURIO improves on TTT-Discover for Erdős, AC1–AC3, and Hadamard at every tested scale, matches the best reported performance on Circle Packing, and improves denoising Score and MSE on both held-out corpora. The largest gain is on Hadamard at 235B (+18.3%).

Analysis

More Structurally Diverse Programs

We measure code-level structural variation among generated programs with OpenEvolve's island code-diversity metric, which compares pairs of programs by differences in code length, line count, and character sets. CURIO generally maintains higher diversity than TTT-Discover over training. This is a code-level diagnostic: it does not by itself establish semantic diversity of the underlying constructions.

Heatmap of code diversity by training stage for Erdős and Circle Packing; CURIO is higher than TTT-Discover in the early, middle, late, and final stages.
Code diversity by training stage. On Erdős and Circle Packing, CURIO has higher code diversity than task-only RL (TTT-Discover) in every stage: early (epochs 0–12), middle (13–25), late (26–38), and final (39–49).
Code diversity over epochs on Erdős
Erdős
Code diversity over epochs on AC1
AC1
Code diversity over epochs on AC2
AC2
Code diversity over epochs on AC3
AC3
Code diversity over epochs on Circle Packing
Circle Packing
Code diversity over epochs on HadamardMatrix
HadamardMatrix

Ablations

What Makes the Curiosity Signal Work

On Qwen3-14B across six tasks, we vary three design choices of the ICWM. Each panel fixes its reference configuration at 50 on every task, so values above 50 indicate improvement and values below 50 indicate degradation.

Radar chart comparing curiosity weights 0, 0.3, 0.5 and 0.8 across six tasks
(a) Curiosity weight $\eta_0$
Radar chart comparing MLP, GRU and Transformer forward predictors across six tasks
(b) ICWM predictor architecture
Radar chart comparing coupled, frozen-actor and frozen external-LLM representations across six tasks
(c) Curiosity representation
Curiosity strength matters

$\eta_0 = 0.3$ is best on the autocorrelation tasks and $\eta_0 = 0.5$ on Erdős, Hadamard, and denoising. The largest weight, $0.8$, underperforms the task-only control on some tasks.

A simple MLP predictor is enough

The default MLP forward predictor is competitive with GRU and Transformer alternatives; the best architecture depends on the task.

Coupling to the evolving policy helps

Reading states from the current actor leads on most tasks, compared with a frozen initial actor or a frozen external LLM.

Get Started

Run CURIO on Your Own GPUs

CURIO runs fully locally: generation on Ray Data LLM (vLLM) and LoRA training on DeepSpeed, with resumable per-stage checkpoints and launchers for single nodes and SLURM clusters. See the repository for setup, the required Ray patch, and all configuration options.

git clone https://github.com/ft2023/CURIO.git && cd CURIO
source .venvs/curio-runtime/bin/activate

export CURIO_ERDOS_CONFIG=qwen3_8b_2xH100
export CURIO_EVAL_PYTHON=$PWD/.venvs/curio-eval-erdos/bin/python
export CURIO_LOG_ROOT=/path/to/your/log/root

bash tasks/erdos/launchers/single_node/run_all.sh

BibTeX

@article{feng2026curio,
  title   = {CURIO: Curiosity-Driven Test-Time Learning for Open-Ended Discovery},
  author  = {Feng, Tao and Yu, Fangxu and Lei, Zijie and Zou, Jiaru and Jiang, Changjiang and Yan, Yi and You, Jiaxuan and Lu, Pan},
  journal = {arXiv preprint},
  year    = {2026}
}