Skip to content
Crosshair-Bench v1.0·480 Games·20 LLM Configurations + 4 Calibrated Search Engines

Crosshair LLM Benchmark

Wouldn't it be nice to have a board game to evaluate models against that isn't in the training data? Well, I introduce to you Crosshair, which I invented on October 25, 2026. Should be safe for a few generations yet!

Crosshair is a 7×7 connection-and-flip board game built specifically to work well for a benchmark like this:

  • Zero training contamination: Crosshair didn't exist when these models were trained, so no games, opening books, or strategy guides appear in pretraining data. Every move has to be worked out from the four-sentence ruleset in the prompt.
  • No draws and fast games: Red connects top to bottom; Blue connects left to right. Orthogonal sandwiches and 2×2 diagonal crosscuts flip enemy stones in place and can chain across the board, so draws cannot happen and every game ends by ply 49 (usually in 25 to 40 plies).
  • Small branching factor (~8 to 12 legal moves per turn): Playing at (c, r) restricts your opponent's next move to empty squares in Row r or Column c (unless that cross is full, which gives them a free move anywhere). That keeps the move list short enough for a model to actually work through in its scratchpad, while still leaving plenty of room for 3- to 5-ply traps.

Plus, I trained a few Monte Carlo Tree Search and AlphaZero engines in Rust (ai-crosshair) to set a baseline for engine strength. The neural network is only 114K parameters and trained in six minutes on my desktop GPU, which makes it a fun yardstick for frontier language models:

How the harness works: Model matchups are 4 games each with colors swapped. On every turn, the harness sends a plain prompt with the rules, the 7×7 ASCII board, and the legal moves, while az-puct-400 scores the move in the background. Click any model or engine below to see its stats and step through its games:

Leaderboard (480 Games)
#Model
1az-puct-4000engine
2343
127–1 (99%)82.9%—
2az-puct-400engine
1888
117–18 (87%)99.9%—
3gemini-4-argon@high
1440
19–13 (59%)42.2%$0.39
4gpt-6.1-sol@low
1408
9–11 (45%)39.9%$0.14
5gpt-6.1-sol@high
1398
17–15 (53%)40.4%$0.49
6gemini-3.8-flash@high
1328
20–16 (56%)46.3%$0.17
7gemini-4-argon@low
1290
6–14 (30%)38.8%$0.10
8claude-opus-5.5@high
1259
14–18 (44%)36.0%$0.55
9claude-haiku-5.5@low
1255
5–11 (31%)38.3%$0.01
10claude-haiku-5.5@high
1223
16–20 (44%)38.0%$0.02
11deepseek-v4.1-flash@high
1211
18–18 (50%)35.1%$0.04
12az-puct-1engine
1200
12–45 (21%)54.2%—
13gpt-6-luna@high
1158
13–23 (36%)36.5%$0.02
14deepseek-v4-pro@high
1148
11–21 (34%)38.7%$0.32
15random-uct-50engine
1135
46–83 (36%)29.0%—
16gemini-3.8-flash@low
1135
3–13 (19%)32.2%$0.04
17claude-opus-5.5@low
1085
4–16 (20%)31.8%$0.31
18qwen3.8-flash@high
1036
11–25 (31%)28.1%$0.01
19qwen3.8-max@high
978
6–26 (19%)31.6%$0.18
20gpt-6-luna@low
970
2–14 (13%)29.5%$0.01
21qwen3.8-flash@none
909
2–14 (13%)21.9%$0.01
22deepseek-v4-pro@none
899
2–18 (10%)20.4%$0.02
23qwen3.8-max@none
866
3–17 (15%)30.1%$0.17
24deepseek-v4.1-flash@none
865
1–15 (6%)17.1%<$0.01