中國跳棋 JumpStar

中國跳棋 AI

JumpStar 是全世界最強的中國跳棋 AI 引擎

iPhone 版現已推出 中國跳棋: JumpStar 離線挑戰最強 AI、解每日謎題、取得提示,還能儲存重播。

緣起

JumpStar 是我為媽媽做的。這個專案始於 2026 年 5 月 15 日,當時我在印第安納州幫爸媽搬離我們從小長大的家。整理他們的東西時,我們找到了家裡那副舊的中國跳棋,聊起以前全家一起下棋有多好玩。

我和哥哥去上大學之後,媽媽曾經想找 iPhone 上的中國跳棋 App,讓她能自己一個人繼續玩,可是沒有一個好用。看到 AlphaGo 和 Stockfish 的成功,我以為中國跳棋一定也有很多強大的開源 AI 引擎,結果並沒有。儘管這個遊戲既受歡迎又優雅,AI 社群對它的關注卻少得驚人。正是這個空缺,讓我決定打造 JumpStar。

我的目標是打造第一個超越人類的中國跳棋 AI 引擎。有了強大的電腦對手,就算我和哥哥不在身邊,媽媽也能繼續下棋。超越人類的 AI 引擎甚至可能發掘出這個遊戲裡美妙、尚未廣為人知的新模式與新策略。

這也是這個專案對外公開的原因。一個強大的私人引擎固然有趣,但其他人很難評估或改進它。公開的中國跳棋 AI 基準測試讓這份成果變得可以檢驗:一套規則、一份協定、一組局面題庫、基準對手、對局紀錄,以及一個具名的 JumpStar 模型,讓其他系統都能來挑戰。

中國跳棋之美

中國跳棋是一場在六角星形棋盤上的競速。每位玩家一開始在一個三角區裡擺好十顆棋子,目標是搶先把所有棋子移進對面的三角區。這個遊戲可以 2、3、4 或 6 人一起玩。只有兩種移動方式:走一步和跳,而且沒有吃子的機會。這正是棋盤顯得如此生動的原因之一:簡單的移動規則,會在玩家試圖搭建連跳、同時阻止對手這麼做的過程中,產生各種複雜的「交通」狀況。

儘管名字叫中國跳棋,這個遊戲並非起源於中國,也不算是真正的西洋跳棋。一般認為它源自 Stern-Halma(星形 Halma),也就是 1892 年在德國出版、改用星形棋盤的 Halma 變體。大家熟悉的英文名稱是後來透過美國的行銷才出現的,此後它成了風靡全球的桌上遊戲。

中國跳棋怎麼玩

輪到你時,移動自己的一顆棋子。棋子可以走一步到相鄰的空格,也可以跳過一個相鄰且有棋子的格位,落在它後面的空格。跳躍可以連續進行,所以只要間距剛好,一手棋就可能跨越棋盤上很大一段距離。被跳過的棋子會留在棋盤上,不會被吃掉。

目標是把你所有的棋子移進起始三角區正對面的三角區。下得好不只是一味往前衝。你需要搭出好用的階梯、避免擋住自己的棋子、善用擁擠的中央,並判斷什麼時候一步現在看起來很慢的棋,之後反而能開出更快的路線。

想查閱重點規則,請閱讀完整的中國跳棋規則。準備好要提升棋力時,再接著看JumpStar 策略與戰術指南。

把你的棋子移到對面的三角區 開局狀態下真實的 121 格中國跳棋棋盤,玩家 1 從上方三角區出發,奔向對面的目標區。
橫越整個星形。搶在對手之前,把你所有的棋子移進對面的三角區。
走一步 中國跳棋棋盤上真實合法的第一手:玩家 1 從第 6 格走一步到相鄰的第 15 格。
走到相鄰的格位。棋子可以移動一格,到任何一個相鄰的空格。
連跳 取自一盤 Iter57 升級對局的真實三連跳:玩家 1 從第 2 格經過第 7 格和第 27 格,跳到第 29 格。
把跳躍串連起來。跳過有棋子的格位、落在後面,只要位置對得上就繼續跳。

為什麼中國跳棋 AI 值得研究

數十年來,經典棋類遊戲一直是 AI 發展的核心。IBM 的深藍(Deep Blue)在 1997 年擊敗西洋棋世界冠軍卡斯帕洛夫(Garry Kasparov),AlphaGo 在 2016 年擊敗李世乭。這些遊戲之所以成為里程碑,是因為強大的電腦棋力改變了人們對它們的理解。

中國跳棋一直沒有同樣的公開 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 造訪目標,這些目標用來訓練策略/價值模型,更強的模型再引導下一輪搜尋。

self-play -> MCTS visit targets -> policy/value training -> stronger search -> self-play

實際的棋力來自讓這個循環的成本低到可以反覆執行:原生 C++ 自我對弈工作程序、高效率的走法生成、批次葉節點評估、置換表、子樹重用、精簡的紀錄格式,以及針對本機 Apple 硬體調校的發布版建置。

能把時程壓縮得這麼短,很大一部分要歸功於把搭配 GPT-5.5 的 Codex 當作實作與研究夥伴。Codex 幫忙檢視程式碼、分析效能瓶頸、改寫熱點路徑、分析訓練紀錄、打包基準測試,並讓好幾條實驗線同時推進。最重要的收穫都很實際:自我對弈和評估大幅加速、訓練流程的記憶體用量減少約 98%,讓整個工作能在我的本機上跑得動,以及足夠的自動化,讓我在擔任 Edia 執行長、做全職工作的同時,還能持續改進引擎。

這個專案進展得異常快速,因為這個循環不只是模型的自我對弈,也是周邊系統不斷迭代的工程循環。有了 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 能鼓勵更多人去思考中國跳棋、下中國跳棋、研究它,並圍繞它打造更多東西。