← FlectoπŸ€– Agent Ready
Google DeepMind Β Β·Β  March 2026 Β Β·Β  arXiv:2603.03329

AutoHarness: Improving LLM Agents by Automatically Synthesizing a Code Harness

Can a smaller model beat a larger one β€” just by writing its own rules?

Xinghua Lou, Miguel LΓ‘zaro-Gredilla, Antoine Dedieu, Carter Wendelken, Wolfgang Lehrach, Kevin P. Murphy

Google DeepMind

March 5, 2026

Abstract

Language models (LLMs) are remarkably capable at coding and math β€” but when acting as game-playing agents, they often make illegal moves. In a recent Kaggle chess competition, 78% of Gemini 2.5 Flash's losses were due to rule violations, not bad strategy. People normally write "harnesses" β€” wrapper code that validates moves β€” by hand. AutoHarness shows that Gemini 2.5 Flash can write its own harness automatically, using a small number of iterative code refinement rounds. The resulting harness prevents all illegal moves across 145 TextArena games, enabling the smaller Flash model to outperform the larger Gemini 2.5 Pro β€” while also being more cost-effective.

145

Games Covered

AutoHarness achieved 100% legal action rate across all 145 TextArena games (both 1-player and 2-player), verified on 1,000 test rollouts per game.

56.3%

Smaller Model Wins

Gemini 2.5 Flash + Harness wins 9/16 two-player games against the much larger Gemini 2.5 Pro (overall win rate 56.3% vs. Pro's 38.2%).

0.870

Near-Zero Inference Cost

Harness-as-Policy generates a pure Python policy β€” no LLM needed at test time. Average reward 0.870 on 16 one-player games, beating GPT-5.2-High (0.844) at near-zero compute cost.

Background & Motivation

LLMs have shown remarkable ability at coding and solving math problems. However, their planning and reasoning performance as agents can be brittle. In the recent Kaggle GameArena chess competition, 78% of losses by Gemini 2.5 Flash were attributed not to bad strategy, but to simple illegal moves β€” moves strictly prohibited by the rules of chess.

Traditional fixes include manually writing "harness" code to filter invalid moves, or fine-tuning on game trajectories. But manual harnesses are brittle and labor-intensive β€” requiring new work for every game. Fine-tuning flagship-scale models is expensive and can degrade performance on other tasks. AutoHarness takes a different approach: use the LLM's own code-generation capability to write and refine the harness automatically.

Code as Harness β€” The Core Idea

An agent is the combination of an LLM and a harness that acts as "glue" between the model and the task. In AutoHarness, the LLM completes the agent by coding its own harness. The harness has two key functions: propose_action(obs) generates candidate moves, and is_legal_action(obs, action) verifies legality. This turns the model into a rejection sampler β€” it keeps proposing until a legal action is found.

def propose_action(obs):
    # Returns the agent's next move
    ...

def is_legal_action(obs, action):
    # Returns True if the action is legal
    ...
Rejection Sampling with a Harness
The phrase "turns the model into a rejection sampler" refers to a classical probabilistic technique. In standard rejection sampling, you draw candidates from a proposal distribution and accept only those that satisfy a constraint; the rest are discarded and you draw again.

propose_action(obs) acts as the proposal distribution β€” it generates a candidate move. is_legal_action(obs, action) is the acceptance criterion β€” it checks whether the move satisfies the game's rules. If the move is rejected, the LLM is re-prompted and proposes again until a legal move is found.

Why this matters: this design guarantees that every move actually executed is legal, regardless of how often the underlying model makes mistakes. The harness handles correctness enforcement; the LLM handles strategic quality.

AutoHarness formulates harness generation as a search over program space, guided by Thompson sampling. The LLM acts as a mutation operator, proposing code refinements based on feedback from environment execution. A tree search balances exploration (trying distinct logic structures) and exploitation (refining a partially working harness).

Thompson Sampling in Program Space
Thompson sampling is a Bayesian exploration strategy originally designed for multi-armed bandit problems. The key idea: maintain a probability distribution over the value of each option, sample one outcome per option, and commit to the option with the highest sampled value. This naturally balances exploration (trying uncertain options) and exploitation (sticking with known-good options).

Applied to code synthesis here: each node in the search tree is a candidate harness version (a program). The "value" of a node is its heuristic score β€” the fraction of legal moves the code achieves on rollout. Thompson sampling selects which node to refine next: nodes with high uncertainty get selected occasionally even if their mean score is low (exploration), while consistently high-scoring nodes are selected more often (exploitation).

Why not greedy search? Pure greedy search would always refine the currently best-scoring code, missing qualitatively different program structures that might score poorly at first but converge to a better solution. Thompson sampling avoids this local-optimum trap.

How AutoHarness Works

AutoHarness maintains multiple code hypotheses in a tree structure, using Thompson sampling to choose which node to refine next. The heuristic value for each node is the average legal move accuracy achieved by that code version. When the code has a bug β€” is_legal_action() returns True but the move is actually illegal β€” both propose_action() and is_legal_action() are refined. When only is_legal_action() returns False (correctly detecting an illegal move), only propose_action() is fixed.

The Two-Function Split: Why Separate propose and is_legal?
  • propose_action(obs) β€” generation: produce a candidate move. Can be as simple as enumerating all legal board positions, or as complex as a heuristic policy.
  • is_legal_action(obs, action) β€” verification: return True only if the move is allowed by game rules.
Targeted repair logic:
β€’ If is_legal_action returns True for an actually illegal move (false positive), the checker doesn't know the rules β€” both functions are likely wrong, so both are refined.
β€’ If is_legal_action correctly returns False, only the proposer generated a bad move β€” only propose_action is fixed.

This asymmetric repair avoids "fixing" code that is already correct, reducing unnecessary churn in later iterations.
AutoHarness code-as-harness learning process diagram
Figure 1: The code-as-harness learning process. Left: Thompson sampling search tree with heuristic values. Right: iterative refinement loop (Old Code β†’ Refiner ← Critic ← Evaluator ← Rollout β†’ New Code β†’ New H).

AutoHarness supports three modes of operation, from lightweight action filtering to a full code-only policy:

Three Modes: A Spectrum from "Safety Net" to "Full Autonomy"
The three AutoHarness operating modes differ in how much the LLM is involved at test time (after the harness is learned):

ModeLLM at test time?Harness role
Action FilterYes β€” selects from legal setEnumerates legal moves only
Action VerifierYes β€” proposes, then retriesValidates each proposed move
PolicyNoDirectly outputs the action

The key distinction is inference cost: Action Verifier may call the LLM multiple times per turn, while Harness-as-Policy never calls the LLM at game time. The "near-zero inference cost" headline refers exclusively to the Policy mode.

Harness-as-Action-Filter

propose_action() generates a set of legal moves. The LLM then ranks and selects the best one using chain-of-thought reasoning.

Harness-as-Policy

The most extreme case: code directly selects the next action β€” no LLM call needed at test time. Pure Python, near-zero inference cost, highest average performance.

Training: Verified on 145 Games

Training uses 10 parallel environments per iteration, rolling out up to 1,000 steps. Rollout terminates whenever an illegal move is made or code execution fails. The Critic consolidates up to 5 failed steps and feeds them to the Refiner to generate improved code. Heuristic weight is set to 1.0 for Thompson sampling. Training ends when the legal action success rate reaches 1.0, or on timeout. Gemini-2.5-Flash is used for all training.

Critic and Refiner: The Inner Feedback Loop
The training procedure uses three distinct roles:
  • Evaluator β€” runs the current code in 10 parallel game environments for up to 1,000 steps each. Collects failure traces (illegal moves, exceptions).
  • Critic β€” reads up to 5 failed steps and writes a structured diagnosis: what rule is being violated, which function is at fault, what the expected behavior should be.
  • Refiner β€” reads the Critic's diagnosis alongside the current code, and writes a new candidate version.
Why consolidate failures before the Refiner sees them? The Critic compresses the signal β€” it identifies the root cause pattern across multiple failures rather than forwarding raw rollout noise. Parallel environments: 10 games run simultaneously to collect diverse failure modes in a single iteration.
14.5 Avg. iterations
145 Games covered
100% Legal action rate
19/32 Converge < 10 iter
Learning convergence curves for 6 games
Figure 2: Fraction of legal moves vs. number of code synthesis iterations for a selection of 6 games. Most games converge rapidly; complex games like Chess and Othello require more iterations.

On average, training ends after 14.5 tree search iterations, while 19/32 evaluation games end in less than 10 iterations. Games requiring the most LLM calls to learn are GermanWhist-v0 (43 steps), Cryptarithm-v0 (45 steps), Chess-v0 (64 steps), and Othello-v0 (62 steps). AutoHarness achieves 100% legal action success rate on all 145 games, as shown in Appendix Table 1.

Why Do Some Games Require Many More Iterations?
The number of LLM calls varies enormously (1 call for simple games vs. 64 for Chess). Three factors drive difficulty:
  1. Rule complexity: Chess has ~30 move types with state dependencies (castling, en passant, check detection). GermanWhist requires tracking partial information about opponents' hands.
  2. Hidden state: Games with private hands require the harness to reason about unobserved state, harder to encode in pure Python.
  3. Counter-intuitive case: Breakthrough-v0-small (a simplified variant) required 136 steps β€” more than full Chess. "Small" does not mean simpler rules; the variant's modified capture mechanics created unexpected edge cases.
Metric note: "# Learning Steps" = number of tree search iterations = number of LLM refinement calls. Each step = one Critic call + one Refiner call.

Evaluation: A Smaller Model Beats a Larger One

Evaluation focuses on 16 one-player (1P) and 16 two-player (2P) games from TextArena. Three agents are compared: Gemini-2.5-Flash, Gemini-2.5-Pro, and Gemini-2.5-Flash+Harness (our method). The same optimized prompt is used in all experiments. For 1P games, 20 matches are run and average reward is used as the metric. For 2P games, 40 matches are run (split evenly between first/second player), with win/draw/loss rate as the metric.

Evaluation Protocol: What "Win Rate" and "Average Reward" Actually Mean
Two-player (2P) games β€” Win/Draw/Loss rate:
40 matches per game (20 as first player + 20 as second player) to control for first-mover advantage. "Win rate" is the fraction of matches where Flash+Harness wins against Gemini-2.5-Pro. The headline "9/16 games" means Flash+Harness achieves a positive win margin in 9 of the 16 game titles.

One-player (1P) games β€” Average reward:
20 matches per game. Reward r ∈ [0, 1] is a normalized score from the TextArena environment. r = 1.0 means perfect completion (e.g., solved a puzzle); r = 0.0 means failure. Games where all agents score 1.0 (GuessTheNumber, FrozenLake, etc.) are saturated benchmarks β€” they don't differentiate agent quality.

Two-Player Games

Win/lose/draw rate vs Gemini-2.5-Pro for 16 2P games
Figure 3: Win/lose/draw rate of AutoHarness (Gemini-2.5-Flash+Harness) vs. Gemini-2.5-Pro for each of the 16 two-player games. Green = wins, gray = draws, red = losses.

AutoHarness enables the smaller Gemini-2.5-Flash to win 9/16 two-player games against the much larger Gemini-2.5-Pro (overall win rate 56.3% vs. Pro's 38.2%). Against vanilla Gemini-2.5-Flash (no harness), the win rate rises to 64.8% (12/16 games).

One-Player Games

Average reward vs Gemini-2.5-Pro for 16 1P games
Figure 4: Average reward of AutoHarness (orange) vs. Gemini-2.5-Pro (blue) for each of the 16 one-player games. AutoHarness exceeds Pro in 8/16 games and ties in 5/16.

Our approach achieves a higher reward than Gemini-2.5-Pro in 8/16 games, and ties in 5/16 games. Average reward: AutoHarness 0.745 vs. Gemini-2.5-Pro 0.707 vs. Gemini-2.5-Flash 0.673. Notable improvements on Cryptarithm-v0, RushHour-v0, PegJump-v0, and FifteenPuzzle-v0.

Harness-as-Policy: Zero Inference Cost, Highest Performance

As an extreme case, AutoHarness can learn the entire policy as code, dispensing with the need to use an LLM at test time entirely. The policy code uses primitive Python functions and standard libraries (e.g., numpy) β€” no LLM calls are needed during gameplay. This is evaluated on 16 one-player games (2P games require strategic opponent modeling which is much harder to encode as pure code).

For training, the heuristic value is modified to include task reward: \(H = 0\) if an illegal action is taken, and \(H = 0.5 + 0.5r\) otherwise, where \(r \in [0, 1]\) is the environment reward available at the end of a trajectory. Training uses Gemini-2.5-Flash with up to 256 iterations. On average, training takes 89.4 iterations and achieves a heuristic value of 0.939.

Heuristic Value Design for Harness-as-Policy
The heuristic H combines two objectives:

H = 0 Β Β  if an illegal action is taken
H = 0.5 + 0.5r    otherwise (r ∈ [0, 1] is the environment reward)

Why this specific formula?
  • Hard zero for illegal moves: an illegal action is an absolute failure. H = 0 ensures these nodes are never selected by Thompson sampling for exploitation.
  • 0.5 floor for legal-but-low-reward: even a policy scoring r = 0 gets H = 0.5, keeping it above zero. Thompson sampling will still occasionally explore from this node β€” the code structure might still be on the right track.
  • Linear scaling: H ranges from 0.5 (legal, zero reward) to 1.0 (legal, perfect reward). The search simultaneously optimizes legality and task performance.
Contrast with Action Verifier training: there, H was just the legal action accuracy. Including r here is necessary because the policy code is the strategy β€” no LLM handles the strategic part separately.
Average reward of different agents across 16 TextArena 1P games
Figure 5: Average reward of different agents across 16 TextArena 1P games. Our two methods (bold labels) achieve the highest performance.
Reading Figure 5: What the Comparison Reveals
Figure 5 compares average reward across 16 one-player games for six agents. Key observations:
  • Harness-as-Policy (0.870) > GPT-5.2-High (0.844): a pure Python script with no LLM call at test time outperforms one of the largest available models β€” the central counter-intuitive result.
  • Flash+Harness (0.745) > Gemini-2.5-Pro (0.707): the Action Verifier also beats the larger model, though the margin is smaller since the LLM still handles strategy.
  • GPT-5.2 (0.635) < Gemini-2.5-Flash (0.673): GPT-5.2 without a harness underperforms baseline Flash, likely due to higher illegal-move rates on complex games.
  • Cost: GPT-5.2-High costs ~$640 for the evaluation run. Harness-as-Policy costs ~$0 at test time (training cost is amortized once per game).

Performance vs. Cost Comparison

Agent Avg. Reward Test Cost
Gemini-2.5-Flash 0.673 β€”
Gemini-2.5-Pro 0.707 β€”
Gemini-2.5-Flash+Harness (Ours) 0.745 ~$0
GPT-5.2 0.635 ~$640
GPT-5.2-High 0.844 ~$640
Harness-as-Policy (Ours) 0.870 ~$0

Appendix: Full Results

All 145 TextArena Games β€” Learning Steps & Legal Action Rate β–Ύ

Table 1: All 145 TextArena games, with number of LLM calls needed to learn the harness, and the resulting legal action accuracy. Games marked with * are used for end-to-end agent evaluation.

Index Game # Players # Learning Steps Legal Action Rate
02048-v0 *1271.0
12048-v0-easy141.0
22048-v0-extreme1441.0
32048-v0-hard1471.0
42048-v0-mega-easy1311.0
52048-v0-super-easy161.0
62048-v0-ultra-easy121.0
72048-v0-very-easy1571.0
82048-v0-very-hard171.0
9Alquerque-v0 *241.0
10Bandit-v0 *121.0
11Bandit-v0-hard111.0
12Battleship-v0241.0
13Battleship-v0-extreme2321.0
14Battleship-v0-large291.0
15Battleship-v0-standard261.0
16Blackjack-v0 *121.0
17Blackjack-v0-long111.0
18Breakthrough-v0 *221.0
19Breakthrough-v0-blind2201.0
20Breakthrough-v0-large291.0
21Breakthrough-v0-long271.0
22Breakthrough-v0-small21361.0
23Breakthrough-v0-tiny251.0
24Briscola-v0221.0
25Checkers-v0 *271.0
26Checkers-v0-long231.0
27Chess-v0 *2641.0
28Chess-v0-blind2191.0
29Chess-v0-long2161.0
30Chopsticks-v0 *2151.0
31Chopsticks-v0-long271.0
32Chopsticks-v0-medium2151.0
33ColonelBlotto-v0211.0
34ColonelBlotto-v0-extreme211.0
35ColonelBlotto-v0-large211.0
36ColonelBlotto-v0-small211.0
37ConnectFour-v02101.0
38ConnectFour-v0-blind221.0
39ConnectFour-v0-large211.0
40Crusade-v0 *241.0
41Cryptarithm-v0 *1451.0
42FifteenPuzzle-v0 *131.0
43FrozenLake-v0 *1191.0
44FrozenLake-v0-hardcore141.0
45FrozenLake-v0-random1221.0
46GameOfPureStrategy-v0231.0
47GermanWhist-v0 *2431.0
48Golf-v0 *281.0
49Golf-v0-medium291.0
50GuessTheNumber-v0 *121.0
51GuessTheNumber-v0-hardcore121.0
52HighSociety-v0231.0
53IndianPoker-v02111.0
54IndianPoker-v0-extreme221.0
55IndianPoker-v0-long2261.0
56IndianPoker-v0-medium271.0
57IndianPoker-v0-short221.0
58IteratedMatchingPennies-v0211.0
59IteratedRockPaperScissors-v0211.0
60IteratedTwoThirdsAverage-v0211.0
61KuhnPoker-v0251.0
62KuhnPoker-v0-extreme231.0
63KuhnPoker-v0-long221.0
64KuhnPoker-v0-medium221.0
65KuhnPoker-v0-short231.0
66LiarsDice-v0 *241.0
67LiarsDice-v0-large261.0
68LiarsDice-v0-small251.0
69LightsOut-v0 *111.0
70LinesOfAction-v0 *2231.0
71Mastermind-v0 *121.0
72Mastermind-v0-extreme111.0
73Mastermind-v0-hard121.0
74MemoryGame-v0231.0
75MemoryGame-v0-hard221.0
76MemoryGame-v0-medium221.0
77Minesweeper-v0 *1111.0
78Minesweeper-v0-hard161.0
79Minesweeper-v0-medium1101.0
80Minesweeper-v0-small121.0
81NewRecruit-v0 *221.0
82Nim-v0211.0
83Nim-v0-large221.0
84Nim-v0-medium221.0
85Othello-v0 *2621.0
86Othello-v0-big221.0
87Othello-v0-hard2301.0
88Othello-v0-huge2121.0
89Othello-v0-small251.0
90Othello-v0-tiny2131.0
91PegJump-v0 *111.0
92PigDice-v0211.0
93PigDice-v0-100211.0
94PigDice-v0-150211.0
95PigDice-v0-200211.0
96PigDice-v0-250211.0
97PigDice-v0-300211.0
98PigDice-v0-350211.0
99PigDice-v0-400211.0
100PigDice-v0-450211.0
101PigDice-v0-50211.0
102PigDice-v0-500211.0
103PigDice-v0-long211.0
104PigDice-v0-short211.0
105Poker-v02171.0
106Poker-v0-extreme271.0
107Poker-v0-long251.0
108Poker-v0-small2291.0
109QuantumTicTacToe-v02121.0
110ReverseTicTacToe-v0231.0
111RushHour-v0 *131.0
112SantoriniBaseFixed-v02301.0
113Secretary-v0 *111.0
114Secretary-v0-long111.0
115SimpleTak-v0241.0
116SimpleTak-v0-extreme281.0
117SimpleTak-v0-large2121.0
118SimpleTak-v0-medium251.0
119Snake-v0211.0
120Snake-v0-large211.0
121Snake-v0-standard211.0
122Sokoban-v0 *151.0
123Sokoban-v0-medium111.0
124SpiteAndMalice-v0 *2331.0
125Stratego-v0 *2231.0
126Sudoku-v0 *151.0
127Sudoku-v0-easy151.0
128Sudoku-v0-hard191.0
129Sudoku-v0-medium141.0
130Sudoku-v0-very-easy141.0
131Surround-v0211.0
132Surround-v0-large211.0
133Surround-v0-standard211.0
134Tak-v0 *2211.0
135Tak-v0-hard2531.0
136Tak-v0-medium261.0
137TicTacToe-v0241.0
138TowerOfHanoi-v0 *171.0
139TowerOfHanoi-v0-extreme1441.0
140TowerOfHanoi-v0-hard171.0
141TowerOfHanoi-v0-hardcore121.0
142TowerOfHanoi-v0-medium171.0
143UltimateTicTacToe-v0 *2131.0
144WildTicTacToe-v02101.0

* Games used for end-to-end evaluation. All 145 games achieve Legal Action Rate = 1.0.

Per-Game Average Reward (1P Games)

Game Gemini-2.5-Flash Gemini-2.5-Pro Flash+Harness (Ours) GPT-5.2 GPT-5.2-High Harness-as-Policy (Ours)
2048-v00.2150.3780.3080.2120.7450.912
Bandit-v00.3980.2010.2080.3501.0000.459
Blackjack-v00.4100.3300.4800.4600.4800.410
Cryptarithm-v01.0000.9501.0000.6001.0001.000
FifteenPuzzle-v00.1070.1030.1620.0350.1830.597
FrozenLake-v01.0001.0001.0001.0001.0001.000
GuessTheNumber-v01.0001.0001.0001.0001.0001.000
LightsOut-v00.7300.8020.8400.6911.0001.000
Mastermind-v01.0001.0001.0001.0001.0001.000
Minesweeper-v00.6370.5860.6860.5931.0000.940
PegJump-v00.3250.6820.7820.2210.4291.000
RushHour-v00.6880.8871.0001.0001.0001.000
Secretary-v00.5500.7000.6500.6000.8000.750
Sokoban-v00.7000.7000.8000.6000.8670.850
Sudoku-v01.0001.0001.0001.0001.0001.000
TowerOfHanoi-v01.0001.0001.0000.8001.0001.000

Per-Game Legal Action Rate (1P Games)

Game Gemini-2.5-Flash Gemini-2.5-Pro Flash+Harness (Ours) GPT-5.2 GPT-5.2-High Harness-as-Policy (Ours)
2048-v096.57%98.36%99.86%96.05%99.94%100.00%
Bandit-v099.76%96.39%99.77%100.00%100.00%100.00%
Blackjack-v099.38%100.00%100.00%100.00%100.00%100.00%
Cryptarithm-v096.97%98.70%100.00%88.44%100.00%100.00%
FifteenPuzzle-v084.70%88.14%96.59%87.18%100.00%100.00%
FrozenLake-v0100.00%100.00%100.00%100.00%100.00%100.00%
GuessTheNumber-v0100.00%100.00%100.00%100.00%100.00%100.00%
LightsOut-v0100.00%100.00%99.76%100.00%100.00%100.00%
Mastermind-v0100.00%100.00%100.00%98.57%100.00%100.00%
Minesweeper-v088.69%81.20%100.00%81.10%100.00%100.00%
PegJump-v067.97%83.10%98.25%60.17%77.78%100.00%
RushHour-v082.17%95.36%97.24%94.51%100.00%100.00%
Secretary-v0100.00%100.00%100.00%100.00%100.00%100.00%
Sokoban-v091.89%97.11%98.48%95.88%100.00%100.00%
Sudoku-v096.77%100.00%100.00%100.00%100.00%100.00%
TowerOfHanoi-v0100.00%100.00%100.00%100.00%100.00%100.00%

Conclusion & Future Work

We developed a novel approach for improving LLM agent performance by automatically synthesizing a code harness. Using a small number of iterative refinement rounds guided by Thompson sampling and environment feedback, Gemini-2.5-Flash can generate a robust harness for any given game environment β€” without any manual engineering.

Quick Recap: Key Terms Used Throughout
  • Code harness β€” wrapper code around an LLM agent that enforces game rules by filtering or verifying proposed moves.
  • Thompson sampling β€” a Bayesian exploration-exploitation strategy used to select which code candidate to refine next (introduced in Β§Method).
  • Rejection sampler β€” the architectural pattern where the LLM proposes moves and the harness rejects illegal ones until a valid move is found.
  • Harness-as-Policy β€” the variant where the synthesized Python code replaces the LLM entirely at test time.
  • TextArena β€” the open-source multi-game text-based environment used for all experiments (Guertler et al., 2025).
βœ…

100% legal action rate achieved across all 145 TextArena games

βœ…

Smaller Flash model beats larger Pro model β€” 56.3% win rate in 2P games

βœ…

Harness-as-Policy achieves reward 0.870, exceeding GPT-5.2-High at near-zero inference cost

Future Directions

  • Distill resulting domain-specific expert agents back into the base LLM, making the whole system recursively self-improving
  • Build a library of reusable harnesses that can be shared across related game environments
  • Apply the method to more challenging multimodal games such as Craftax and Terra Nova
References (19) β–Ύ
  1. Chervonyi et al. (2025). Gold-medalist performance in solving olympiad geometry with alphageometry2. JMLR, 26(241):1–39.
  2. Duan et al. (2024). GTBench: Uncovering the strategic reasoning limitations of LLMs via game-theoretic evaluations. arXiv [cs.CL].
  3. Guertler et al. (2025). Textarena. arXiv:2504.11442.
  4. Huang & Yang (2025). Winning gold at IMO 2025 with a model-agnostic verification-and-refinement pipeline. arXiv:2507.15855.
  5. Kaggle (2025). Kaggle game arena: A benchmarking platform for AI models. kaggle.com/game-arena.
  6. Kokel et al. (2025). ACPBench hard: Unrestrained reasoning about action, change, and planning. AAAI 2025 Workshop LM4Plan.
  7. Lehrach et al. (2025). Code world models for general game playing. arXiv:2510.04542.
  8. Li et al. (2022). Competition-level code generation with AlphaCode. Science, 378(6624):1092–1097.
  9. Liang et al. (2023). Code as policies: Language model programs for embodied control. In ICRA, pp. 9493–9500.
  10. Ma et al. (2024). Eureka: Human-level reward design via coding large language models. In ICLR 2024.
  11. Novikov et al. (2025). AlphaEvolve: A coding agent for scientific and algorithmic discovery. arXiv:2506.13131.
  12. Petrov et al. (2025). Proof or bluff? Evaluating LLMs on 2025 USA math olympiad. arXiv:2503.21934.
  13. Ruoss et al. (2024). LMAct: A benchmark for in-context imitation learning with long multimodal demonstrations. arxiv.org/abs/2412.01441.
  14. Shinn et al. (2023). Reflexion: Language agents with verbal reinforcement learning. NeurIPS, 36:8634–8652.
  15. Tang et al. (2024). Code repair with LLMs gives an exploration-exploitation tradeoff. NeurIPS, 37:117954–117996.
  16. Valmeekam et al. (2023a). On the planning abilities of large language models β€” a critical investigation. In NeurIPS.
  17. Valmeekam et al. (2023b). On the planning abilities of large language models-a critical investigation. NeurIPS, 36:75993–76005.
  18. Wang et al. (2023). Voyager: An open-ended embodied agent with large language models. arXiv preprint arXiv:2305.16291.
  19. Wei et al. (2022). Chain-of-thought prompting elicits reasoning in large language models. NeurIPS, 35:24824–24837.

B2B Content

Any content, beautifully transformed for your organization

PDFs, videos, web pages β€” we turn any source material into production-quality content. Rich HTML Β· Custom slides Β· Animated video.

View Services Contact Us