本文内容
先搞清楚:KataGo 到底是什么
很多人第一次接触 KataGo 会被卡住,是因为对它的定位有误解。KataGo 不是一个能双击打开的软件,它是一个开源的围棋 AI 引擎——一个命令行程序,通过 GTP(Go Text Protocol)或它自己的分析协议跟外部通信。
这意味着你要让它真正可用,需要凑齐三样东西:
- 引擎本体:编译好的可执行文件,且必须匹配你的硬件后端;
- 神经网络权重:单独下载的模型文件(
.bin.gz),引擎不自带; - 图形界面:KataGo 自己不画棋盘,需要搭配 Sabaki、KaTrain、Lizzie 之类的前端。
三样缺一样都用不起来。下面按顺序来。
第一步:选后端(这一步选错后面全白费)
KataGo 针对不同硬件提供了几种不同的构建版本,官方称为「后端」。下载前必须先确定自己该用哪个——下错了要么跑不起来,要么慢得没法用。
| 后端 | 适合谁 | 说明 |
|---|---|---|
| OpenCL | 绝大多数人 | 通用 GPU 加速,N 卡 A 卡核显都支持,兼容性最好。拿不准就选它。代价是首次运行要做一次较长的自动调优。 |
| CUDA / TensorRT | 较新的 NVIDIA 显卡 | 在支持的 N 卡上速度明显更快,但需要另外安装 CUDA、cuDNN 等运行库,配置麻烦、体积也大。追求极限速度再考虑。 |
| Eigen (AVX2) | 没有独显、或显卡太老 | 纯 CPU 运行,零额外依赖,装完就能跑。但比 GPU 慢一个数量级——日常对弈勉强够,深度分析会很煎熬。 |
| Eigen (无 AVX2) | 老 CPU / 低端设备 | CPU 不支持 AVX2 指令集时的兜底版本,速度更慢。 |
怎么判断自己该选哪个?有独立显卡(无论 N 卡 A 卡)→ OpenCL;只有集成显卡 → 也可以先试 OpenCL,跑不动再退回 Eigen;完全没 GPU 或不想折腾驱动 → Eigen AVX2。
第二步:下载引擎
官方发布页在 GitHub:github.com/lightvector/KataGo/releases。找最新版本的 Assets 列表,按上一步选定的后端下载对应压缩包,文件名里会带 opencl、cuda、eigen 这类标识,以及目标系统(windows-x64 / linux 等)。
解压到一个路径不含中文和空格的目录,例如 D:\katago\。这一点看着琐碎,但路径里有中文导致引擎启动失败是新手最常踩的坑之一。
macOS 用户
Mac 上最省事的方式是用 Homebrew:
brew install katago
它会自动处理可执行文件和依赖库。注意 Homebrew 版本可能不是最新,且默认后端取决于该公式的构建配置——如果你需要特定后端或最新版,仍然要去 GitHub 下载或自行编译。
第三步:下载权重文件
引擎压缩包里通常不含神经网络权重,这是第二个常见卡点——很多人解压完发现跑不起来,就是因为少了这个文件。
权重可以从官方训练站 katagotraining.org 或 GitHub 发布页获取,文件是 .bin.gz 格式,几十到几百 MB 不等。
文件名里的编号代表网络规模,例如 b18c384 表示 18 个残差块、384 通道。规律很简单:
- 块数/通道数越大 → 棋力越强,但越慢、越吃显存;
- 中低端显卡或核显:选小一些的网络,保证响应速度;
- 高端显卡、且要做长时间深度分析:选大网络。
下载后把 .bin.gz 文件放进 KataGo 目录,不需要解压,引擎直接读压缩包。
第四步:生成配置文件
KataGo 自带一个交互式的配置生成命令,比手写配置文件靠谱得多:
katago genconfig -model <权重文件名>.bin.gz -output gtp.cfg
Windows 下把 katago 换成 katago.exe,并在 KataGo 所在目录打开命令行执行。
运行后它会问你一串问题:用于对弈还是分析、可用内存多少、线程数、是否限制思考时间等。不确定的直接回车用默认值,之后随时能改。
如果选了 OpenCL 后端,这一步(或首次实际运行时)会触发一次 自动调优——引擎会试各种参数组合找出你显卡上最快的配置。这个过程可能持续几分钟到十几分钟,属于正常现象,不要中断它。调优结果会缓存下来,之后启动就快了。
第五步:验证能跑
先跑一次基准测试,确认引擎、权重、显卡三者配合正常:
katago benchmark -model <权重文件名>.bin.gz -config gtp.cfg
它会输出每秒能算多少 visits(搜索节点),并给出推荐的线程数。这个数字就是你机器的实际算力水平,也是判断配置是否合理的依据。
再启动 GTP 模式,确认能正常通信:
katago gtp -model <权重文件名>.bin.gz -config gtp.cfg
启动后输入 genmove b 回车,如果它返回一个坐标(比如 = Q16),说明引擎已经完全可用了。输入 quit 退出。
第六步:配一个图形界面
到这一步引擎能用了,但你还是在跟命令行对话。要真正下棋,得挂一个前端:
- Sabaki:通用 SGF 编辑器与 GTP 前端,界面干净,适合打谱和挂引擎对弈;
- KaTrain:专为 KataGo 设计,有棋力分级、逐手失误统计、教学模式,功能最贴合训练需求;
- Lizzie:以实时胜率曲线和变化图见长,偏分析场景。
每个前端都需要你在设置里指定 KataGo 可执行文件路径、权重路径、配置文件路径——也就是把前面几步的产物再手工填一遍。这三个路径填错任意一个,前端都会报「引擎启动失败」。
常见问题排查
引擎启动就退出,没有任何提示
八成是路径问题:检查安装目录、权重文件、配置文件的路径里有没有中文、空格或特殊字符。其次确认权重文件名跟命令里写的完全一致(包括 .bin.gz 后缀)。
提示找不到 OpenCL 设备
显卡驱动没装或版本太老。更新到显卡厂商官网的最新驱动;核显用户需要确认主板/CPU 厂商提供的驱动包里包含 OpenCL 运行时。实在装不上就换 Eigen 版本。
调优过程卡住不动
OpenCL 首次调优本来就慢,十几分钟是正常的,中途看起来「没反应」不代表卡死。但如果超过半小时毫无进展,可能是显存不足——换一个更小的权重网络再试。
能跑,但慢得没法用
先用 benchmark 看实际 visits/秒。如果数字很低:确认自己用的确实是 GPU 后端而不是误下了 Eigen 版;换更小的网络;在配置里调低 maxVisits 或线程数。CPU 跑大网络必然慢,这不是配置能救的。
棋力太强,下着没意思
这其实是最常被忽略的一点。满血 KataGo 对业余棋手来说是碾压级的,赢不了、也学不到东西。KataGo 提供了限制 visits、加入随机性等参数来降低棋力,KaTrain 也内置了棋力分档,但都需要手动调。
不想折腾的另一条路
上面这套流程,顺利的话半小时能搞定,卡在某一步的话可能耗掉一个下午——而这中间的每一步,跟「下棋」本身都没什么关系。
如果你的目标只是下棋和复盘,而不是研究 AI 引擎本身,那也可以直接用打包好的方案。
知弈围棋:装完就能下
引擎、模型文件、配置全部预置在安装包里,下载安装完直接开始下棋——没有后端选择、没有模型下载、没有路径配置。棋力可调,对弈免费不限量,还会用人话讲解每一手为什么好、为什么亏。支持 Windows 10/11 与 macOS 12+。
看看知弈围棋 →