explaingit

lightvector/katago

4,598C++Audience · researcherComplexity · 4/5Setup · hard

TLDR

One of the strongest open-source Go-playing programs, trained through self-play with no human game records. It estimates score and territory for game review at any skill level and connects to GUIs via a standard text protocol.

Mindmap

mindmap
  root((KataGo))
    What It Does
      Play Go at high level
      Score and territory estimates
      Self-play training
    Interface
      GTP text protocol
      JSON analysis engine
      GUI via KaTrain or Sabaki
    Board Support
      7x7 to 19x19
      Multiple rulesets
      Handicap games
    Tech
      C++
      GPU self-play
      AlphaZero style training
    Use Cases
      Game review
      AI training research
      Batch position analysis
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Analyze your Go game recordings by loading board positions into KataGo through a GUI like KaTrain or Sabaki.

USE CASE 2

Train a new Go-playing AI from scratch using GPU-based self-play following KataGo's published training approach.

USE CASE 3

Use KataGo's JSON analysis engine to evaluate hundreds of board positions in batch for research or study tools.

USE CASE 4

Review Go games at any skill level using KataGo's score and territory estimates rather than win-probability only.

Tech stack

C++CUDATensorFlowPyTorch

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a compatible GPU for inference or training, and a neural network weights file downloaded separately from katagotraining.org.

No license information was provided in the explanation, check the repository directly.

In plain English

KataGo is an open-source computer program that plays the board game Go at a very high level. As of 2026, it is described as one of the strongest open-source Go bots available. It was built using a self-play training approach: the program plays millions of games against itself and uses the results to improve, without needing any human game records as a starting point. The training method is based on techniques similar to those used in DeepMind's AlphaZero, but with a number of improvements that make it substantially faster to train. According to the README, a researcher with a few powerful graphics cards and a few days of compute time could train a bot from scratch to a high amateur level on the full 19x19 board. With a single high-end consumer GPU and several months of time, it may even be possible to train to superhuman strength. Beyond raw strength, KataGo is designed as a practical analysis tool for Go players. It estimates territory and score rather than just win probability, which makes it useful for reviewing games at all skill levels, not only professional play. It supports board sizes from 7x7 to 19x19, various rulesets including Japanese rules, different komi values, and handicap games. For developers, it includes a JSON-based analysis engine that can process multiple board positions in batches. KataGo itself has no graphical interface. It communicates through a standard text protocol called GTP, which means it is meant to be paired with a separate GUI application. The README lists several options, including KaTrain, which bundles KataGo and is described as the easiest choice for non-technical users, as well as Sabaki and others for those who want more control. Precompiled executables for Windows and Linux are available on the releases page. The latest trained neural network files are hosted separately at katagotraining.org, where an ongoing public distributed training run is also taking place.

Copy-paste prompts

Prompt 1
I want to use KataGo with KaTrain to review my Go games on Windows. How do I download KataGo, get a neural network file from katagotraining.org, and connect it to KaTrain?
Prompt 2
Show me how to use KataGo's JSON analysis engine to send a batch of Go board positions and get back score estimates.
Prompt 3
I want to train a KataGo bot from scratch on a 4-GPU machine. What hardware requirements and rough time commitment should I expect?
Prompt 4
How do I configure KataGo to use Japanese rules with a specific komi value and play on a 13x13 board instead of 19x19?
Open on GitHub → Explain another repo

← lightvector on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.