跳棋 JumpStar

跳棋 AI

JumpStar 是世界上最强的跳棋 AI 引擎

现已登陆 iPhone JumpStar 跳棋 离线挑战最强 AI,完成每日谜题,获取提示,保存对局回放。

缘起

JumpStar 是我为妈妈做的。这个项目始于 2026 年 5 月 15 日,当时我正在印第安纳州帮父母搬出我们从小长大的房子。收拾东西时,我们翻出了家里那副旧跳棋,聊起了当年一家人一起下棋有多开心。

我和哥哥去外地上大学后,妈妈曾想找一款 iPhone 跳棋应用,好让自己一个人也能继续玩,可是没有一款像样的。考虑到 AlphaGo 和 Stockfish 的成功,我以为跳棋肯定也有很多强大的开源 AI 引擎,但事实并非如此。尽管跳棋广受欢迎、设计精巧,AI 界对它的关注却出奇地少。正是这个空白,促使我做了 JumpStar。

我的目标是打造第一个超越人类水平的跳棋 AI 引擎。有了一个强大的电脑对手,即使我和哥哥不在身边,妈妈也能继续下棋。一个超越人类的 AI 引擎,甚至可能发现这个游戏中尚未广为人知的、美妙的新棋型和新策略。

这也是这个项目选择公开的原因。一个强大的私有引擎固然有趣,但别人很难评估或改进它。公开的跳棋 AI 基准测试让这项工作变得可以检验:一套规则、一份协议、一组测试局面、若干基线引擎、对局记录,以及一个有名称、可供其他系统挑战的 JumpStar 模型。

跳棋之美

跳棋是在六角星形棋盘上进行的一场竞速。每位玩家开局时在一个三角里摆好十枚棋子,目标是率先把所有棋子移进对面的三角。跳棋可以两人、三人、四人或六人一起玩。走法只有两种,走一步和跳,而且不能吃子。这正是棋盘显得如此生动的原因之一:简单的走法规则,会在玩家搭建连跳、同时阻止对手连跳的过程中,演化出复杂的“交通”局面。

尽管英文名叫 Chinese Checkers,这个游戏并非起源于中国,也算不上真正的西洋跳棋(checkers)。人们通常把它追溯到 Stern-Halma(星形哈尔玛),这是 1892 年在德国出版的一种星形棋盘版哈尔玛棋。为人熟知的英文名称是后来通过美国的营销才出现的,此后它成为风靡全球的棋盘游戏。

跳棋怎么玩

轮到你时,移动自己的一枚棋子。棋子可以走一步,移到相邻的空位上;也可以跳过一个相邻的有棋子的位置,落到它后面的空位上。跳可以连起来,所以只要间距合适,一步棋就可能跨越棋盘的一大片区域。被跳过的棋子留在棋盘上,不会被吃掉。

目标是把你所有的棋子都移进出发三角正对面的那个三角。下得好并不只是一味往前冲。你需要搭建有用的阶梯,避免挡住自己的棋子,善用拥挤的中路,还要判断哪些现在看起来慢的走法会在之后创造出更快的路线。

如需一份简明的参考,请阅读完整跳棋规则。准备好提高棋力时,可以继续阅读 JumpStar 技巧与战术攻略。

把棋子移到对面的三角 真实的 121 孔跳棋棋盘开局局面,玩家 1 从顶部三角出发,奔向对面的目标营地。
穿越星形棋盘。抢在对手之前,把你所有的棋子都移进对面的三角。
走一步 跳棋棋盘上一个真实的合法首步:玩家 1 从第 6 格走到相邻的第 15 格。
走到相邻位置。棋子可以移动一格,走到任意一个相邻的空位上。
连跳 来自一盘 Iter57 晋级对局的真实三连跳:玩家 1 从第 2 格经过第 7 格和第 27 格,跳到第 29 格。
把跳连起来。跳过有棋子的位置,落到它后面,只要位置对得上就继续跳。

为什么跳棋 AI 值得研究

几十年来,经典棋类游戏一直是 AI 研究的核心。1997 年,IBM 的深蓝击败了国际象棋世界冠军加里·卡斯帕罗夫。2016 年,AlphaGo 击败了李世石。这些游戏之所以成为里程碑,是因为强大的计算机棋手改变了人们对它们的理解。

跳棋还没有形成同样的公开 AI 生态。与国际象棋和围棋相比,跳棋的引擎、基准测试、等级分榜单、公开棋谱和共享研究工具都少得多。这个空白令人意外,因为跳棋恰好具备 AI 系统喜欢研究的那种结构:完全信息、没有随机性、胜负条件清晰,以及数量庞大的可能走向。

即使是平静的开局,分支也增长得很快。在 JumpStar 的两人规则中,初始局面有 14 种合法的首步。双方各走一步后,共有 196 种可能的两步序列。到第三步时,从初始局面出发已有 4,760 种可能的走法序列。到了对局后期,连跳和拥挤的通道会让选择变得远比规则看上去要难以判断。

JumpStar 是什么

JumpStar 是一个通过自我对弈训练的跳棋引擎,由精简的 C++20 规则与搜索核心、神经网络策略/价值模型以及蒙特卡洛树搜索构成。它最强的公开检查点 JumpStar_60 是目前 CCERL-2P10-v2 基准测试的冠军。令人意外的是它的效率:所有 JumpStar 模型都是在一台 MacBook M4 上训练的,而不是依靠那些里程碑式围棋和国际象棋系统所用的大型 TPU/GPU 集群。

目标是超越人类的棋力,但公开的结论刻意保持可检验:在两人规则下,JumpStar 看起来已经达到或接近超越人类的水平,而 CCERL 的存在,正是为了让未来的引擎可以挑战这一结果。

系统构成

JumpStar 不只是一个模型检查点,而是一整套引擎与基准测试体系:棋盘表示、规则、搜索、自我对弈、训练记录、裁判工具和公开证据。

  • 规则与搜索。JumpStar 用精简的位图式结构表示 121 孔的星形棋盘,并实现了严格的两人规则、合法的走一步与多段连跳生成、目标锁定、终局判定、确定性哈希、基线机器人以及原生对局运行器。规则实现刻意写得非常明确,否则跳棋引擎就可能钻边界情况的空子:赖在出发或目标三角里不走、人为制造封锁,或者靠裁判程序的漏洞而非更好的棋艺取胜。JumpStar 的规则设定旨在奖励干净的竞速、出色的棋形和可复现的搜索,而不是各种反堵营的小把戏。
  • 自我对弈训练。自我对弈和重新分析会生成棋盘状态、合法动作、MCTS 访问次数、对局结果和进度特征。这些记录用来训练策略/价值模型,再由模型指导下一轮搜索。JumpStar_60 是一个 geometry_v1、512x4 的 MLP,约有 10.36M 个参数,基于 1.8M 条经过重新分析的样本数据集训练而成。真正的工程难点在于让这个循环足够小、足够快,能在本地硬件上反复运行。
  • 公开基准测试。由于跳棋此前没有成熟的公开引擎排行榜,我在开发 JumpStar 的同时制定了 CCERL-2P10-v2。CCERL 定义了规则集、引擎协议、固定的测试局面集、基线引擎、发布产物和等级分计算方法。该基准测试使用交换先后手的成对局面,并公开对局记录,让结果可以复现,而不只是一句声明。这意味着未来的引擎可以在同一个裁判下挑战 JumpStar,而不是比较含糊的强度宣称。

JumpStar 怎么下跳棋

最有意思的定性观察之一是:JumpStar 的下法往往不像简单的竞速启发式。它会发展出更精妙的策略,比如拖慢对手、保留有用的拦截棋子,以及搭建紧凑的三角形阵形,限制对手通过关键通道。

如果只把跳棋看作一场比谁前进得快的竞速,就很容易忽略这种风格。由于棋子永远不会被吃掉,一个防守棋形可以在许多回合内持续发挥作用:它可以切断对手的连跳阶梯,迫使对手绕开拥堵区域,或者为模型自己的棋子赢得足够的时间完成转化。因此,JumpStar 最强的一些思路,或许在于控制棋形,而不仅仅是前进得更快。

制胜开局套路

制胜开局回放 八步开局走法,玩家 2 的最后一跳以高亮显示。
# 玩家 类型 走法
JumpStar 的防守三角棋形 一盘正式对局中的局面:JumpStar 在中央搭出一个棋形,让对手难以从中路跳过,把对方棋子挤向外侧。
封住中路。JumpStar 常常搭出两道紧凑的三角形防线,让中央通道很难跳过,把对方棋子挤向外侧。
JumpStar 的残局长连跳 一盘正式对局中的局面:JumpStar 把棋子间隔排开,形成一条通往对面目标营地的长连跳路线。
用连跳完成转化。到了后期,同样的间距感会搭出长长的阶梯,高效地把落后的棋子带回家。

搜索与训练循环

从整体上看,JumpStar 遵循 AlphaZero 的模式:自我对弈产生 MCTS 访问次数目标,这些目标用来训练策略/价值模型,更强的模型再指导下一轮搜索。

自我对弈 -> MCTS 访问次数目标 -> 策略/价值训练 -> 更强的搜索 -> 自我对弈

实际的棋力来自让这个循环的成本足够低,能够反复运行:原生 C++ 自我对弈进程、高效的走法生成、批量叶节点评估、置换表、子树复用、精简的记录格式,以及针对本地 Apple 硬件优化的发布版构建。

这种压缩很大程度上得益于把搭载 GPT-5.5 的 Codex 当作实现与研究伙伴。Codex 帮助我梳理代码库、分析性能瓶颈、重写热点路径、分析训练日志、打包基准测试任务,并让多条实验线同时推进。最重要的收获都很实际:自我对弈和评估大幅提速,训练流程的内存占用减少了约 98%,让整个工作能在我的本地电脑上跑起来;自动化程度也足够高,让我在担任 Edia CEO 的全职工作之余,仍能持续改进引擎。

这个项目推进得异常迅速,因为这个循环不只是模型的自我对弈,也是围绕它的整个系统的迭代工程循环。有了 Codex,我可以运行一次实验、检查失败的原因、优化代码、重新跑基准测试、总结结果,再把下一个问题变成一个具体的补丁。这个反馈循环把原本可能需要数月的基础设施、工具、前端、基准测试和撰写工作,压缩到了大约一周:从翻出那副旧棋盘到公开发布。

本地 Codex 的统计数据可以大致反映这次协作的规模。在本地 Codex 状态数据库中可见的项目会话里,记录的 tokens_used 总计约 559.9M 个 token。这些数字包含上下文、工具输出、缓存上下文的影响、推理/输出的计量以及相互重叠的工作会话,因此应视为一项过程指标,而不是对算力的科学测量。

CCERL 与公开基准测试

跳棋没有像国际象棋和围棋那样成熟的公开引擎排行榜,因此很难评估引擎的强度和进步。CCERL 填补了这个空白。CCERL 是第一个用于评估跳棋 AI 引擎强度的公开基准测试。它借鉴了国际象棋和围棋中的类似做法,提供固定的规则、经过审核的起始局面、交换先后手的成对对局、可下载的对局记录以及公开的基线。

根据 CCERL 基准测试,JumpStar 看起来是目前世界上最强的公开跳棋 AI 引擎,并且领先幅度很大。

我相信,在两人规则下,JumpStar 已经用一台本地 MacBook 级别的算力达到了接近超越人类的跳棋水平。更重要的是,CCERL 为所有未来的贡献者提供了一个目标:修改 JumpStar、构建新模型、更忠实地移植现有引擎、补充更好的测试局面,或者在同一个裁判下提交挑战者。

未来工作

JumpStar 并不打算只做一个私人机器人。这个项目希望成为以下几样东西:

  • 一个强大的公开 AI 模型。JumpStar 采用开放许可,这个网站也完全免费。任何人都可以和 JumpStar 对战,或者亲自尝试改进它。JumpStar 完全是在一台 MacBook M4 上训练的,更多的算力必然会进一步提升它的表现。
  • 公开的基准测试基础设施。国际象棋和围棋都有可以测试、比较和改进引擎的社区。CCERL 为跳棋带来了同样的基础设施:清晰的规则、可复现的对局、公开的对局记录,以及让其他人构建自己模型的途径。
  • 对游戏本身的研究。强大的 AI 会改变我们能看到的东西。我想弄明白好棋是什么样子、开局如何演变、拥挤的棋盘为什么会呈现出那样的局面,以及在三人、四人和六人对局中,当棋盘中央变成一场充满可能性的“大堵车”时,会发生什么。
  • 多人变体。两人模型只是开始。当棋盘变得更拥挤时,更奇妙的问题才真正出现:三人、四人、六人对局,不断变化的联盟,被堵住的路线,以及各种奇特的自然涌现的开局。我想弄清楚在这些对局中,以及在比标准棋盘大得多的棋盘上,强大的下法是什么样子。由此涌现出的复杂性和规律一定会令人着迷。

我希望 JumpStar 能让更多人去思考跳棋、下跳棋、研究跳棋,并围绕它进行创造。