围棋文章

KataGo 是什么?

介绍开源围棋 AI 引擎 KataGo 的起源、棋力、分析能力,以及它在围棋复盘和软件中的常见用途。

如果你经常用 AI 复盘围棋,很可能已经见过 KataGo 这个名字。

现在不少围棋软件、分析网站和棋谱工具,背后使用的 AI 引擎就是 KataGo。它能告诉你某一步的胜率变化、预计领先多少目、推荐哪些候选手,甚至可以直接在棋盘上显示黑白双方未来大致会控制哪些区域。

图片

对于普通棋友来说,可以简单地把 KataGo 理解成:

一个开源、棋力远超人类顶尖棋手,并且尤其适合用于围棋复盘和局面分析的 AI 引擎。

KataGo 从哪里来?

KataGo 的主要作者是程序员兼研究者 David J. Wu

它和 AlphaGo、AlphaZero 属于同一条技术路线:使用神经网络配合蒙特卡洛树搜索,让 AI 通过大量自我对弈不断提高棋力。

但 KataGo 并不是简单地“复刻一个 AlphaZero”。

它针对围棋本身做了大量优化,包括训练效率、局面评估、目数判断、归属判断等。正因为如此,KataGo 后来逐渐成为开源围棋 AI 中最有代表性的项目之一。

KataGo 到底有多强?

对于普通玩家来说,其实已经没太大必要纠结 KataGo 相当于人类“几段”。

图片

在足够的计算资源下,现代 KataGo 的棋力已经远远超过一般职业棋手能够稳定抗衡的水平。

所以今天大家使用 KataGo,主要不是为了验证:

AI 能不能战胜人类。

这个问题早已经有答案了。

真正有价值的是另外一个问题:

AI 能不能帮助人类理解自己刚才到底哪里下错了?

这也是 KataGo 特别适合围棋学习和复盘的地方。

KataGo 最大的特点:不只告诉你胜率

早期很多围棋 AI 分析工具最常见的指标是:

胜率。

例如:

黑棋胜率 72%。

下一手走坏以后:

黑棋胜率 54%。

这当然有用,但对于很多普通棋友来说仍然不够直观。

因为你知道这一手不好,却不知道:

究竟亏了多少?

KataGo 很重要的能力之一,就是同时预测双方的预计目数差

例如原来的局面:

黑棋预计领先 8.3 目。

你走了一步之后:

黑棋预计领先 3.7 目。

这时候就很直观了:

这一手大概亏了四五目。

对于业余棋手来说,很多时候“亏了多少目”比“胜率下降了几个百分点”更容易理解。

图片

为什么目数比胜率有时候更有意义?

假设高手让你九子。

开局时,你的胜率可能接近 100%。

即使中间连续下出几步坏棋,AI 可能依然显示:

胜率 99%。

如果只看胜率,你甚至会觉得:

“好像也没什么问题。”

但实际上,你可能已经把几十目的优势一点一点送了出去。

这时候如果同时看 KataGo 的目数判断,你会发现:

原来领先 60 目。

变成:

领先 43 目。

再变成:

领先 25 目。

这就比单纯看胜率清楚得多。

所以对于普通棋友来说,KataGo 最有价值的地方并不只是“很强”,而是它提供了更多人类可以理解的分析维度。

KataGo 还能直接“看见地盘”

KataGo 还有一个非常适合围棋复盘的能力:

Ownership,也就是棋盘归属预测。

简单来说,它会预测棋盘上的每一个交叉点,最终更可能属于黑棋还是白棋。

围棋软件可以把这些数据直接画到棋盘上。

图片

于是你就会看到:

  • 哪些区域明显偏黑;
  • 哪些区域明显偏白;
  • 哪些棋子已经比较危险;
  • 哪些地方仍然存在很大的不确定性。

即使你还不太会判断形势,也可以很直观地发现:

原来 AI 认为这一大片已经更接近黑棋的地盘了。

这也是为什么 KataGo 特别适合做“形势判断”。

KataGo 和 AlphaGo 有什么区别?

很多刚接触围棋 AI 的人,会把所有厉害的围棋程序都叫作 AlphaGo。

其实不是。

AlphaGo 是 Google DeepMind 开发的一系列围棋 AI。

2016 年 AlphaGo 与李世石的五番棋,是围棋史和人工智能史上都非常重要的事件。后来又出现了 AlphaGo Master、AlphaGo Zero。

但 AlphaGo 并不是一个普通用户今天可以直接下载下来,接入自己软件使用的开源围棋引擎。

KataGo 最大的区别之一就是:

它是开源的。

开发者可以下载它、研究它,也可以把它接入自己的围棋网站、桌面软件或者 App 中。

所以可以这么理解:

AlphaGo 更像是改变围棋历史的里程碑,而 KataGo 更像是今天真正可以被普通用户和开发者使用的围棋 AI 基础设施。

KataGo 本身其实不是“围棋软件”

第一次接触 KataGo 时,还有一个很常见的误区:

有人会以为 KataGo 就是一款完整的围棋 App。

严格来说不是。

KataGo 更像汽车里的发动机

它负责计算:

这一手好不好?
哪一步更优?
谁领先?
大概领先多少目?
哪些地方最终属于黑棋或者白棋?

但真正的棋盘界面、按钮、棋谱列表、好友系统、在线对弈、课程、比赛,这些都需要外部软件自己完成。

图片

所以你可能会发现:

两个完全不同的围棋平台,看起来完全不像,但背后的 AI 都可能是 KataGo。

KataGo 决定 AI 能算出什么,而产品决定这些结果怎样呈现给用户。

一个实际例子:基于 KataGo 开发的「棋师围棋」

这也是为什么 KataGo 特别适合成为现代围棋平台的底层 AI 引擎。

例如「棋师围棋」就是一个基于 KataGo 开发的围棋平台。

棋师并不是只做了一个“可以下棋的在线棋盘”,而是希望把围棋中原本分散的几个场景整合到一起:

对弈、学习、复盘、社交和棋社比赛。

它支持 9 路、13 路和 19 路棋盘,可以和好友对局,也可以通过大厅或棋社匹配其他玩家,还可以直接选择 AI 作为对手。

其中 AI 棋力覆盖大约 25k 到 9d

这其实就是 KataGo 在产品层面的一种很典型的使用方式。

对于高手,可以提供很强的 AI 对手;

对于新手,则可以通过限制 AI 棋力,让对局更接近真人学习过程,而不是一上来就被顶级 AI 碾压。

图片

棋师里的 KataGo,不只是用来“下棋”

如果一个平台只是让用户和 KataGo 对弈,其实多少有点浪费它的能力。

棋师更重要的使用场景,是把 KataGo 嵌入到整个学习和复盘流程里。

例如对局进行到一定手数之后,可以调用 KataGo 进行形势判断

系统会结合 KataGo 的分析,展示:

  • 双方大致势力范围;
  • 哪些棋子可能已经死亡;
  • 当前预计领先多少目。

这样用户不需要自己盯着棋盘猜:

我现在到底优势还是劣势?

尤其对于新手,围棋最困难的地方之一就是“完全不知道谁领先”。

而 KataGo 的目数判断和 Ownership 数据,正好可以解决这个问题。

对局结束以后,KataGo 又变成了复盘助手

棋师还把 KataGo 用到了完整的对局复盘中。

一盘棋结束以后,可以逐手回放,也可以查看胜率走势图。

当你发现某一步胜率或者目数突然发生巨大变化时,就可以直接跳到那个局面。

图片

然后:

  • 查看 KataGo 推荐的候选点;
  • 请求 AI 提示;
  • 查看当前形势判断;
  • 自己自由试下;
  • 比较不同变化;
  • 甚至直接从这个局面重新与 AI 或好友开一盘棋。

这比传统的“看着棋谱从头摆到尾”更适合普通玩家。

因为你可以直接把注意力放到真正影响胜负的几个关键节点。

比如:

第 47 手亏了 1.2 目。

可能不用太在意。

但是:

第 126 手亏了 14.7 目。

那这一步就非常值得研究。

AI 推荐的棋,不一定就是你最应该学的棋

不过使用 KataGo 时,有一点非常重要。

AI 第一推荐,不等于最适合你的棋。

KataGo 有时候会推荐非常复杂的靠、扳、弃子或者转换。

AI 知道几十手以后这个变化成立。

但普通棋手实战中未必有能力驾驭。

所以复盘的时候,不应该把它理解成:

我的落子和 KataGo 不一样,所以我就是错的。

更有意义的问题其实是:

我的这一步到底亏了多少?

如果你选择了一步非常容易掌握的棋,只比 KataGo 第一选点差 0.5 目,完全没有必要因此纠结。

相反,如果一手棋直接亏了十几目,就应该认真研究为什么。

这时候真正应该学的,不是把 AI 坐标背下来,而是理解:

为什么这个地方这么大?

为什么这里必须先处理?

为什么我的棋形会被攻击?

这也是围棋 AI 真正有教学价值的地方。

KataGo + 课程,比单纯给答案更重要

对于新手来说,还有一个现实问题。

如果你完全不会下围棋,KataGo 再强其实也帮不了你太多。

因为你连:

气是什么?
为什么棋子会被提?
什么叫两眼活棋?
图片

这些基础概念都不知道。

直接面对 AI 的胜率、目数和候选点,反而可能一头雾水。

所以棋师没有把 KataGo 当成唯一的学习方式。

平台本身还设计了围棋课程和习题系统。

课程可以包含:

  • 棋盘演示;
  • 选择题;
  • 实战练习;
  • AI 对局;
  • 提示点;
  • 定式变化;
  • 成功与失败条件;
  • 步数限制。

初次使用时,还可以直接选择“纯新手”,进入边操作边学习的交互式入门课程。

这种方式和传统的文字教程不太一样。

不是先读十页规则,再自己去找地方练习,而是:

学到一个概念,就马上在棋盘上点一下。
学到吃子,就马上亲手把棋提掉。
学到两眼活棋,就马上自己完成一道题。

KataGo 在这里更像是后面的“高级老师”,而新手引导负责先帮助用户建立最基本的围棋认知。

AI 只是棋师的一部分

当然,棋师本身并不是一个单纯的 KataGo 外壳。

除了 AI,它还包含完整的在线围棋平台功能。

例如支持:

好友邀请、在线匹配、棋社匹配、观战、对局聊天、悔棋申请、掉线重连、点目、数子、段位与战绩。

用户也可以创建或加入棋社,通过棋社组织比赛。

管理员可以设置:

比赛时间、棋盘大小、计时方式、让子规则、积分规则,以及是否允许悔棋。

成员则可以查看比赛对局和实时积分排名。

也就是说,KataGo 解决的是“棋力和分析能力”,而棋师希望解决的是更完整的问题:

一个人从第一次接触围棋,到学会规则,到和别人下棋,再到复盘提高,能不能都在同一个平台完成?

棋师还希望解决一个很容易被忽视的问题:界面

很多围棋平台功能其实非常丰富,但界面长期以来变化并不大。

尤其在电脑端,经常可以看到大量按钮、菜单、广告、房间列表同时堆在一个页面中。

对于老棋友来说可能已经习惯。

但对于第一次接触围棋的人来说,这种界面其实有明显的学习成本。

棋师把界面设计本身也作为一个重要方向。

整体采用偏苹果风格的视觉语言,强调:

简洁、克制、留白和秩序感。

尽量使用低饱和配色、细腻的边框和轻量动效,让棋盘本身始终处于页面中心。

尤其在电脑端,棋盘会占据更大的视觉空间,操作区集中在侧边。

目的并不是为了让页面看起来“功能很多”,而是让人长时间下棋时尽可能少受到界面干扰。

对于围棋这种一盘棋可能持续几十分钟甚至几个小时的游戏来说,这一点其实很重要。

图片

KataGo 改变的是围棋软件的底层能力

回过头来看,KataGo 的意义其实远远不只是:

做出了一个特别厉害的围棋机器人。

更重要的是,它把顶尖围棋 AI 能力变成了一个开放的基础设施。

开发者不需要自己花几年重新训练一个 AlphaGo。

他们可以直接利用 KataGo 提供的能力,然后把精力放到另外一些问题上:

怎样让 AI 分析更容易理解?

怎样帮助新手入门?

怎样把复盘做得更自然?

怎样设计更舒服的围棋界面?

怎样把玩家、好友、棋社和比赛连接起来?

像棋师这样的产品,本质上就是在 KataGo 之上继续解决这些问题。

如果说 AlphaGo 证明了:

AI 可以把围棋下到超越人类顶尖棋手的水平。

那么 KataGo 做的事情更进一步:

它让这种能力真正进入了普通人的围棋软件。

而接下来的问题,已经不只是让 AI “下得更强”。

而是如何把如此强大的 AI,变成一个普通棋友真正愿意使用、能够理解,也确实能够帮助自己进步的围棋工具。

这可能才是 KataGo 在今天最大的价值。