Method

How a game is played, refereed, judged and rated, and where everything we used comes from. Nothing here is hidden: every published game comes with its moves, its SGF and the setup that produced it.

What others did before us and what our games cannot tell you yet: related work and limits.

Rules

Chinese area scoring, komi 7.5 for White on every board size, positional superko, suicide forbidden. Two consecutive passes end the game. Boards of 9×9, 13×13 and 19×19: 19×19 is the real target, the board people play and AlphaGo played on; 9×9 is for fast trials. A game that reaches its move limit is adjourned: no winner, only KataGo's estimate, and it is not rated.

The referee is code

No language model decides what is legal. Each player answers in plain text with ANALYSIS, MOVE and SAY; a rules engine written for the project checks the move. An illegal or missing move is refused with the reason and the player is asked again, up to three tries, then the move is a forced pass. Refusals are shown on each move in the game reviewer. The engine also ends the game when neither side has a useful move left and counts it; KataGo's count must agree, and the result line says so (✓).

The judge: KataGo

After the game, every position is analysed by KataGo at a fixed number of visits. For each move we keep Black's win chance, the expected score lead, and the points lost: how much worse the position became for the player who moved. A blunder loses 5 points or more. A key move in the reviewer shifts the mover's win chance by 10 points or more (adjustable to 5 or 20). These are an engine's estimates, much stronger than the players, not ground truth.

Aid levels

The variable from one game to the next is what a player has access to. Each player is a fresh agent for every move, given the board and the moves so far.

Aid levels
LevelThe player getsStatus
L0bareNothing: its own knowledge of Go.in use
L1board factsBoard facts: a plain list from the rules engine (groups, liberties, stones in atari, illegal and capturing moves). No advice.in use
L2booksBooks: a folder with four short texts (rules, 9×9 strategy notes, life and death, proverbs; about 6 KB). It may open them or not; we log which it opens.in use
L3books + board factsBooks and board facts.in use
L4engine hintsEngine hints: KataGo's top three moves with win chance and score, every move. The player decides whether to follow them. The ceiling.in use
L5libraryLibrary: large open texts and problem collections (see below), searched by the agent.planned
L6game databaseGame database: a lookup of what human professionals played in the same position and who won.planned
L7opening bookOpening book: KataGo's 9×9 opening book; in book the move is the engine's, out of book the model is on its own.planned

L6 and L7 put expert moves into the opening, so they are rated as separate entries ("model + tool"), never mixed with L0–L4.

Prompt styles

A second variable, for players who have books: how hard the prompt pushes them to use them. In early games a player with books rarely opened one, so we ask whether pushing changes how it plays, and whether it is the reading or the pushing that matters. Each style adds a short text to the player's prompt; the answer format stays the same. The referee checks each style's rule by code: an answer that breaks it is sent back once, then the move is accepted and the failure is recorded. The game reviewer shows, move by move, the style, whether the check passed, the files cited and whether they were really opened (from the agent's own tool calls). A style only "works" if the play improves, not if compliance does.

Prompt styles
StylePushWhat it asksWhat the referee checksFor
s0-neutralnonetoday's prompt: read whatever you find useful—any
s1-nudgelightstrong players check a reference when unsure—any
s2-citefirmopen at least one file each move and cite `file > section` in ANALYSIS[file > section] present; for Claude and Codex players, the cited file was really opened that movebooks
s3-study-notesstudy firstmove 1: read everything and write NOTES; later moves: play from the notes, revise thema NOTES block is present; it is shown back to the player next movebooks
s4-lawsconditionalordered laws with triggers: a situation triggers a consultation of a named section; simple positions are played simply Inspired by the Parchemin Incalculable (Jean-Yves Le Moine, Jylem Prod, incalculable.ai, CC BY 4.0). No text is copied from it.the law that decided the move (L0–L6) is namedbooks
s5-proverbritualeach move, pick one proverb that applies and say howthe quoted proverb is in proverbs.mdbooks
s6-refutemethodthree candidates, refute two with a principle from the booksthree candidate moves are namedbooks
s7-studentroleask the books one question each move and answer it from thema question, and an answer cited from the booksbooks
s8-notes-onlymemory onlythe s3 notebook without books: plan, group status and threats carried from move to move (added 2026-11-12 to split memory from reading, after s3 won in both colours)a NOTES block is present; it is shown back to the player next moveany
s9-deferdefer to the adviserfor players with the engine tool (aid L8): play the adviser's first choice unless a concrete losing sequence is shown (added 2026-11-12: with the same adviser, the player that followed it more won 3 of 3)—any

The s3-study-notes player keeps a notebook (at most 15 lines) that is shown to it at every move: its only memory between moves. The reviewer publishes it, since it is the player's own visible memory.

Players and runners

Agents run as people run them, not through raw APIs only: Claude Code subagents, the Codex CLI, opencode, Gemini CLI, Qwen Code, local models through Ollama, and other models through OpenRouter. Each move, the reviewer shows which runner and model played it, what was in its prompt (board facts, engine hints) and which book files it opened, taken from the agent's own tool calls. We publish file names and counts, not the transcripts.

Bots and anchors

Programs of known strength fix the rating scale. The random player is pinned at 0. KataGo's human-imitation network can play like a 20-kyu or a 10-kyu amateur, which will let us translate ratings into human ranks.

Bots and engines
ProgramRoleNotes
KataGo (strong, many visits)engineSuperhuman-class open-source engine; README says it may be the strongest open-source bot on 9x9 (claim dated May 2020) and supports 7x7-19x19. Latest release v1.18.2 (2026-08-30).
KataGo (fast, few visits)engineEven KataGo's fastest setting on GoBench is ~760 Elo above the best LLM (GPT-6 Astra Max, 2567). GoBench's 50 calibrated KataGo opponent levels span 113 to 4127 Elo.
KataGo human-SL (rank profiles)botKataGo's human SL model imitates human play at a chosen rank; the README's example config gtp_human5k_example.cfg imitates 5-kyu players. Natural anchors for kyu-level ratings.
Leela ZeroengineREADME: with a top GPU it is 'far stronger than the top humans' (19x19). Last release v0.17 (2019-04-04); the KataGo README calls its 20/40-block nets much stronger than Leela Zero.
PachibotMCTS engine. README: default engine 'should be about 7d KGS strength on 9x9'; on 19x19 KGS 3d with dcnn on modest hardware, about 2k with MCTS only.
GNU GobotClassic rule-based engine (no Monte Carlo). Wikipedia: about 5 to 7 kyu on 9x9; Computer Olympiad gold 2003 and 2006; stable version 3.8.
Plain MCTS (project bot)botProject-internal Monte Carlo tree search bot; strength depends on {playouts}. No external rating: to be measured in the tournament.
Greedy (project bot)botProject-internal one-ply bot (captures / avoids atari). No external rating.
Random legal move (project bot)botUniform random legal moves; intended anchor at rating 0 (docs/contracts.md §6).

Ratings

A Bradley-Terry model on an Elo-like scale (+400 = 10 to 1 odds), fitted separately for each board size, with the anchor bots pinned and a weak prior on the others. Each rating is for one model at one aid level (claude-haiku-5-5@L2). 95% intervals come from 1000 bootstrap resamples of the games. Only finished tournament games count; colours alternate so that no player always has Black.

Provenance

Every game writes a manifest: the commit of the code, the scenario file's git blob, the version of each CLI, the KataGo version and network checksum, the books given to each player with their git blobs, and the models the runners reported. The public site shows the reproducible parts; host details stay private.

Prior art: GoBench

GoBench by Roland Gao (code: github.com/RolandGao/gobench) already rates language models on 9×9 Go against calibrated KataGo levels, with Elo and 95% intervals. Its Track 3 shows that a 5,000-token tutorial written with KataGo helps a frontier model. We cite it everywhere and do not claim "LLMs ranked on Go" as new. What we add: which kind of help helps (books the agent must choose to open, board facts, engine hints, memory), small and local models, agents as people run them, 19×19, and watching them think.

Resources and licences

The four books given today are short texts written for this project. The resources below are candidates for the planned levels, with the terms we found (accessed 2026-11-10). Not legal advice.

Resources and licences
ResourceWhatLicenceUse
Sensei's LibraryGo wiki, about 26,650 pagesOpen Content License 1.0L5, extracts with notice
Wikibooks: GoBeginner and intermediate courseCC BY-SA 4.0L5
Shape Up! (Matthews, Kim)Book on good and bad shapeCC BY-SA 4.0L5
81 Little Lions (deVillers)9×9 bookCC BY-NC-ND 4.0local copy only, never published
Classic problem collections (tasuki)Gokyo Shumyo, Xuanxuan Qijing, Igo Hatsuyoronpositions in the public domain; transcription by Vít BrunnerL5
Andries Brouwer's game database90,000+ professional games, 517 on 9×9public domain (stated)L6
JGDB535,721 professional and top amateur gamespublic domain (stated)L6
KataGo opening books9×9 opening treesMIT-style (David J Wu)L7
KataGoThe judge, hints and botsMIT; networks under the KataGo network licencein use
Newsreader (typeface)Headings on this siteSIL Open Font License 1.1this site

Reproduce a game

Each game page links its SGF. The code, the scenarios and the books will be published with the dataset. With the repository, a game is one command (scripts/match.sh <name> <scenario>), and the manifest says exactly which versions ran. Language models are not deterministic: the same setup gives a different game, which is why conditions need several games with colours swapped.

Privacy

This site sets no cookies and runs no analytics. Videos are hosted on YouTube; their players load from youtube-nocookie.com only after you press play. Comments happen on the blog and on YouTube, not here.