AI Engineer Europe 2026 · 演講 · 2026-05-13 · 18 分
打造西洋棋 AI 教練
Building a Chess Coach · Anant Dole、Asbjorn Steinskog,Take Take Take
Take Take Take 的 Anant 與 Asbjorn 說明棋局評語怎麼做:Stockfish 與偵測器先算,再交給 LLM 講解,並用 Claude Code 把使用者回報接成自動修正流程。
概要
- 評語由引擎算、LLM 講每盤棋先用 Stockfish 跑過整局,再用一批偵測器找出戰術與棋形,最後才讓 LLM 把這些資訊寫成評語。Asbjorn 說他們不想讓 LLM 自己推太多,因為很快就會產生幻覺。
- 用 Maya 補上「人會怎麼下」Maya 是多倫多大學研究計畫的引擎,會依評分預測人類在該局面的走法機率。有了它,就能標出「最佳解但很難找到」的一步。
- 使用者回報接上 Claude Code被回報的評語會進 Slack,再送進一個持續運作的 Claude Code channel。它會跑 commentary triage skill、改 prompt 或偵測器、重新產生評語,最後由 Asbjorn 在手機上看 PR 並合併。
- 延遲優先於推理深度賽後分析要幾乎立刻出現,目標是 3 秒內。他們用 Gemini 3 Flash,平均延遲約 3 秒;試過的推理模型分析不差,但完成時間不好預測。
- 16 個情境加 LLM 當裁判評估情境取自真實棋局,經 OpenRouter 換模型比較,最後仍由 Anant 與 Asbjorn 自己的棋力判斷對錯。
- 幾點可帶走的做法資料管線與語言生成分開、用自主 agent 把回饋接回修改、先做一份大而後逐步修剪的 context,並找領域專家參與評估。
原話
▶ 06:05“But there's nothing inherently wrong about the architecture of the Transformer architectures to play chess.”
Transformer 架構本身並沒有什麼不適合下棋
▶ 09:01“we really don't want it to try to figure out too much on its own, because it quickly leads to hallucination.”
我們真的不想讓它自己推太多,因為很快就會產生幻覺
▶ 15:42“it's really important to separate that data pipeline from the language generation.”
把資料管線和語言生成分開,真的很重要
▶ 15:58“Really try to close the loop with autonomous agents.”
盡量用自主 agent 把回饋的迴圈接起來
▶ 15:58“Always try to build a very clear context extraction model.”
盡量做一套很清楚的 context 擷取方式
延伸
- Anant 提到之後計畫做「和教練聊天」的功能,使用者願意多等一下,那時就可以用等待較久的推理模型。
- Asbjorn 簡短提到 game arena 後來也加入狼人殺,讓 LLM 在社交推理遊戲裡互相欺騙,但沒有展開。
章節
點時碼直接跳到原片的那一段。
- 開場與議程Anant 說明今天要談 Take Take Take 做出並上線的 AI 棋局教練,以及接下來的幾個主題。
- 賽後的棋局評語下完棋後會看到由 AI pipeline 產生的評語;範例是一步被標為 brilliant 的吃兵,評語會解釋為什麼是戰術。
- 把分析整理成洞察評語之上還有一層洞察,例如某個階段的準確度、目前評分、某個開局的熟悉程度,再交給教練轉成學習建議。
- 西洋棋與 AI 簡史從 1949 年 Shannon 的論文談到 Type A、Type B 兩種引擎,1997 年 Deep Blue 勝 Kasparov,再到 DeepMind 的 AlphaGo。
- LLM 下不好棋AlphaZero 之後換 LLM 上場,開局還行但很快開始幻覺;Asbjorn 放了 Magnus Carlsen 在他們奧斯陸辦公室評論 LLM 棋賽的片段,那場比賽是 Kaggle 推出 game arena 時辦的。
- 引擎會下、LLM 會講DeepMind 訓練過預測局面評分的 Transformer,棋力到大師級,但不能解釋;問題是怎麼把兩邊接起來。
- 評語 pipeline:Stockfish 與偵測器先用 Stockfish 跑完整局,再用偵測器抽出捉雙、牽制、串擊、疊兵等戰術與棋形資訊。
- Maya 與 LLM 的限制加入預測人類走法的 Maya,所有資訊再餵給 LLM,並要求評語只能以給定資訊為準。
- 評語實例用自己下的一盤棋說明:對手的 f5 是壞棋,偵測器找出它威脅困住皇后,評語也講了自己該怎麼化解。
- 用 agent 接回使用者回饋使用者回報的評語進 Slack,由 Claude Code channel 啟動 triage skill,調整 prompt 或偵測器、重新生成並自我驗證,最後走 PR。
- 現場示範:回報壞評語在 Slack 頻道回報一則評語,事件被送進正在運作的 Claude Code,開始用 high effort 跑,兩人先接著講下一段。
- 延遲與品質的取捨賽後分析要幾乎即時,目標 3 秒內;用 Gemini 3 Flash,首個 token 約 1 秒;推理模型品質不差但完成時間難預測。
- 評估:16 個情境情境涵蓋戰術、失誤、限制幻覺,取自真實棋局,用 LLM 當裁判並透過 OpenRouter 比較模型;Gemini Flash 約 75%,Claude 加強思考約 60%。
- 帶走的幾點資料管線與語言生成分開、用自主 agent 閉環、context 先大後修剪、找領域專家協助評估。
- 示範收尾回到示範:Claude 問評語哪裡不對,Asbjorn 回說沒問題,它就把這則結掉。
名詞
- Take Take Take
- Anant 與 Asbjorn 任職的公司,做 iOS 與 Android 的西洋棋應用,賽後評語由 AI pipeline 產生
- Stockfish
- 領先的傳統西洋棋引擎,被視為局面的標準答案,pipeline 第一步就用它跑完整局
- Maya
- 多倫多大學研究計畫的神經網路引擎,依評分預測人類在局面中會下的走法機率
- detectors
- 自己做的一批偵測器,找捉雙、牽制、串擊、疊兵等戰術與棋形
- Gemini 3 Flash
- 評語生成目前使用的模型,首個 token 約 1 秒、平均延遲約 3 秒
- OpenRouter
- 評估時用來快速替換模型的服務
- Claude Code channel
- 研究預覽中的功能,是能把事件注入執行中 Claude Code 工作階段的 MCP server
- commentary triage skill
- 他們做的 skill,讓 Claude Code 調查評語哪裡出錯,並改 prompt 或偵測器
- Kaggle game arena
- Kaggle 推出的基準測試,讓 LLM 玩各種遊戲互相比較








