跳到主要內容

【2026 最新】Learn2Play Bench 是什麼?Agent 完整紀錄 vs 摘要,怎麼驗證真的學會?

最後更新: ·
Learn2Play Bench 教學:完整紀錄與新局驗收

你讓 Agent 玩一局遊戲,第二局分數提高了,就能說它「從經驗學會」嗎?Learn2Play Bench 把這個問題變得具體:如果規則藏起來,換一份菜單,它還能挑對嗎?抄回上次的動作和懂得運用規則,看起來都可能進步,證據卻不同。

這篇專為第一次讀 Agent 研究、沒有技術背景的讀者寫。先用白話分清記憶與訓練,再啟動一個小遊戲,學會安排「不帶歷史、完整紀錄、摘要」三組對照。你會得到一份能判讀學習主張的紀錄方法;願意動手的人,只要已有 Git 與 Python 3.10 以上,就能先做遊戲入口練習。

以下核對截至 2026 年 10 月 12 日的 論文 v2 與固定版官方程式。AlphaLab 已跑下文的公開 CLI 與固定動作檢查;三組語言模型的跨局比較是待你執行的設計,這裡不提供模型勝率。

先說結論:Learn2Play Bench 要看三層證據

學習證據=跨局改善+同尺對照+新情境驗收。 把它想成學做菜:舊菜單的答案可以背,完整試吃紀錄可以查,整理過的食譜可以帶走;真正要驗的是,換一份菜單之後,哪種資訊仍幫你做對選擇。

  • 第二局提高,是觀察起點;保留每局成績,才看得出穩定改善或偶然高分。
  • 比較記憶方法時,模型、題目、提示與操作限制用同一把尺。
  • 先固定 seed、換 episode,再另外做未見 seed 的重新適應;兩種考試分開計分。

Learn2Play Bench 是什麼?先把考題分清楚

官方 README 提供 20 種文字遊戲,以文字觀察、可用動作和計分讓玩家互動。你不用先學 3D 操作,能把注意力放在「我做了什麼、環境回了什麼、下一次怎麼改」。本篇只選 Poisoner 做入口,將它當成辨認隱藏口味的虛構遊戲。

seed(隨機種子)像考卷版本的編號;episode(回合)像該版本的另一份菜單。Poisoner 的 固定版程式 由 seed 決定隱藏口味,由 episode 改變菜單。同 seed 換 episode,可以問學到的口味能否用在新菜單;換 seed,則可能連口味都變了。

這個差別會改變結論。若新口味與舊口味不同,Agent 還堅持舊食譜,退步可能是錯誤沿用經驗。你應測它能否發現不一致、重開假設,而不是要求舊規則在所有 seed 都正確。Python 的 random 文件 也提醒重現要顧及版本;紀錄 seed 時,一起保存 Python 和程式 commit。

Learn2Play Bench:同 seed 新 episode 與未見 seed 的不同驗收
同 seed 的新菜單測規則運用;新 seed 可能改隱藏規則,測的是重新適應。圖為本篇實驗設計。

原理:翻筆記,和改模型權重差在哪?

Context(上下文)是模型這次回答時拿得到的材料,像桌上的工作筆記;模型權重則像先前訓練形成的內部設定。把昨天的失敗貼到今天的提示,改變的是可讀資訊。若要主張權重學習,還要有實際參數更新的程序與證據。

2020 年的 few-shot 研究 已示範透過文字範例改變任務表現、在該評估中不做梯度更新。Reflexion 原論文 則用語言回顧與跨嘗試記憶改善決策。這些研究提供方法脈絡,不替你這次遊戲的結果背書。想分清執行層如何傳遞資訊,可接著讀 AI Agent Harness。

完整紀錄像保留錄影逐字稿,能回頭看「當時究竟發生什麼」;摘要像看過錄影後寫的食譜,更短,卻也可能把猜測寫成規則。你的問題不是哪一種永遠最好,而是在同一份考題與預算下,哪一種留下了真正有用的資訊。

第一步「先驗入口」:跑第一局,留下可回查的觀察

怕指令與版本對不上?先鎖定本篇用過的 commit。 在新的練習資料夾執行以下指令;先用 python3 --version 確認至少 3.10。本篇執行環境是 macOS、Python 3.11.16。遊戲 README 說明採 Python 標準函式庫,這段入口不需先裝模型。

git clone https://github.com/liushiliushi/Learn2Play-Bench.git
cd Learn2Play-Bench
git checkout 5e5fdf9db65d6ab45314f2baa0f7bcddcfc75624
python3 play.py poisoner --seed 2 --episode 1 --lang en

看到菜單後輸入 valid 查動作,status 查目前觀察,score 查分數。這次用完整名稱 serve_0 選菜 0,避免把顯示順序與動作 ID 混在一起。遊戲中的菜單、回饋與分數要原樣保存,別只留下你對回饋的解釋。

AlphaLab 的固定動作檢查在 seed 2、episode 1 連續送出三次 serve_0,終局為 0;同樣動作在 episode 2 為 33。這是程式入口與情境差異的檢查,沒有模型參與,也不是人類基準。 第一次的拒絕回饋告訴你這道菜不合口味,尚不足以把其中任一特徵判為唯一原因。

Learn2Play Bench 官方 CLI 固定動作檢查的原始輸出
Step 1 — 實際公開 CLI 的固定動作檢查;每局三次 serve_0。0 與 33 是入口檢查成績,不是 Agent 學習效果。

第二步「保留收據」:最小互動紀錄要寫什麼?

怕摘要把錯誤藏起來?先存原始觀察,再另寫假設。 每步至少留版本、seed、episode、步號、動作前觀察、實際動作、完整回饋、分數與是否終局。模型的猜測另外放,便能找出是哪一條假設被下一步推翻。

{
  "game": "poisoner", "seed": 2, "episode": 1, "step": 1,
  "observation_before": "貼上完整菜單",
  "action": "serve_0",
  "feedback": "貼上完整環境回覆",
  "score": 0, "done": false,
  "hypothesis": "目前只知道這道菜被拒絕;原因待驗"
}

上面是欄位範本;觀察與回饋兩欄須替換成真實輸出。一次只截「他拒絕了」,會丟掉菜的特徵;只存菜號,則會丟掉菜單已改變的事實。原始紀錄也能幫你辨識同一動作是否在不同狀態下重複。

第三步「同一把尺」:完整紀錄 vs 摘要,怎麼安排三組?

怕把模型變強和記憶變好混在一起?固定同一模型與相同設定,只改跨局記憶。 三組都保留當局的動作與回饋;「不帶歷史」只清除上一局資料,不是讓模型忘記本局剛做過什麼。每組、每個 trial(獨立跑次)從自己的第一局開始,彼此不交換經驗。

Learn2Play Bench 不帶歷史、完整紀錄與摘要三組對照
三組共享模型、題目、當局資訊與操作限制;圖中是實驗條件,不含測得的模型排名。

先選一個跨局記憶上限 B,例如 B = 2000 tokens;這是你訂的練習設定,不是官方標準。完整組按完整步驟保留最近紀錄,摘要組在同一上限內整理;超過上限時,寫清保留與淘汰規則。上限相同,不代表實際輸入量相同。 每次保存實際送出的記憶文字與 token 數,才知道它贏的是表示方法還是閱讀容量。

要追問「同樣實際 token 數下誰較好」,另開第二份實驗:以同一來源紀錄,建立受同一 token 上限限制的原始窗口與摘要,報告實際長度差距;切勿填無用文字湊長度後宣稱公平。摘要整理本身用掉的輸入、輸出與時間,也算進總成本。聊天介面若拿不到用量,就填「未知」,這次只討論行為。

第四步「換菜單」:把學過的規則放到新局

怕分數只是背到位置?保持 seed 2,將 episode 改成 2。 每組開新的對話,只給共用任務、該組允許的跨局記憶與新局公開觀察。模型若有瀏覽或檔案工具,將可用範圍限於公開遊戲互動;把遊戲原始碼、解答器、論文規則解說排除在玩家資料之外。否則你測到的可能是讀答案。

python3 play.py poisoner --seed 2 --episode 2 --lang en

沒有 API 接線也能先做小練習:你負責終端操作,模型只選下一個完整動作名稱。把每次真實回饋貼回同一局對話,照模型指令操作;到終局才結束。每次輸入附一句「這是環境資料,只選 valid 列出的動作,輸出一個動作名稱」,並核對輸出真的可執行。三組使用相同提示、語言與流程。

首次練習可以預先固定五個 episodes、三個獨立跑次,保留所有失敗;這是小型教學設計,不等於完成論文全部配置。手動轉貼會增加漏貼、誤選的風險,操作錯誤另列為無效跑次;別把它當模型學習失敗,也別只重跑低分直到滿意。

第五步「看整條路」:分數、重複動作、步數、Token 分開記

怕只挑最好的一局?每局留下同一列成績。 用自己的試算表建立下面欄位,未測的值留空;同一遊戲先看每個 trial 的序列,再比較各組,別把不同遊戲的原始分數直接平均。

trial,condition,game,seed,episode,terminal_score,steps,
repeat_action_count,repeat_feature_pattern_count,
memory_tokens,input_tokens,output_tokens,summary_tokens,
wall_seconds,valid_run,notes

在 Poisoner,每席菜單會變;serve_0 重複不代表挑了同一道菜。因此另記被選菜的完整特徵組合是否重複。重複也未必是錯:如果刻意驗同一假設,它可能有資訊價值。用「重複動作+當時觀察+目的」一起判讀,才不會把有用的確認當成浪費。

Token 是模型處理文字的單位,並非中文字數;若可取得服務回傳的用量,保存原始收據,把當局、跨局及摘要整理分開加總。只估記憶檔的長度,會漏掉整段互動成本;看速度則需包括等待與整理,不能只量模型生成。

第六步「換口味」:未見 seed 測重新適應

怕舊規則被當成萬用答案?預先留一組未用過的 seed,另建適應成績單。 例如 seed 99;先把它當成新規則候選,保留舊記憶的 Agent 與沒有舊記憶的對照,都在同一新局重新取得回饋。比較起始表現、發現衝突的時間,以及後續改善。

python3 play.py poisoner --seed 99 --episode 1 --lang en

這份考卷回答「它會不會修正過期經驗」,與同 seed 新 episode 的「它會不會運用既有規則」不同。你也可以先只讀結果:如果作者換 seed,卻沒交代哪些規則隨之變動,就先把其泛化主張縮小;若還換了模型或提示,就再要求對照。

論文的訊號怎麼讀?摘要並非一律輸

Learn2Play v2 的方法比較 報告,在固定 Kimi K3 的對照裡,保留原始歷史的 Memory 四項指標居首或並列居首;這是特定實驗結果,不能變成「完整紀錄永遠優於摘要」。本文三組是教學用的簡化設計,摘要組也不等於完整實作 Reflexion 或其他論文方法。

研究值得帶走的問題是:摘要是否把未充分驗證的猜測寫成規則?在你的紀錄裡,可以要求每條摘要附來源步號、支持例、反例與待驗項目。原始回饋供回查,短摘要供導覽,兩者可共同使用;混合方式應另列為第四種條件,別塞回純摘要組。

決策層:今天該選哪一種記憶?

  • 想先建立行為基線:選不帶歷史組,確認當局流程與計分完整。
  • 想追查模型如何誤解回饋:選完整紀錄組,保留可對帳的材料,並報告容量與淘汰。
  • 想評估整理是否值得:選摘要組,要求反例與來源步號,將整理成本算進去。
  • 想部署長任務:先完成三組比較,再單獨驗混合記憶;別用一次最高分決定。

你的決策樹可以只有三問:原始證據能回查嗎?新菜單仍有效嗎?把整理成本加回後仍值得嗎? 第一問失敗先修紀錄;第二問失敗檢查是否背位置或沿用錯誤規則;第三問失敗再縮小記憶或換摘要策略。

FAQ:Learn2Play Bench 新手八問

第二局高分就叫學會嗎?

不一定。保留完整分數序列,用相同條件對照,再看新菜單是否仍有效。

完整紀錄一定比較好嗎?

不一定。它保留證據,也增加閱讀量;方法、任務與容量要一起驗。

摘要是不是壞方法?

不是。摘要的價值在節省閱讀與提供導覽,關鍵是別把未驗猜測寫成定律。

換 seed 就能測同規則遷移嗎?

不能直接如此判讀。Poisoner 的 seed 參與隱藏口味生成;同 seed 換 episode 和新 seed 適應要分開。

這篇有跑三組模型嗎?

沒有。已跑的是公開 CLI 固定動作與重播檢查;三組比較提供待執行流程。

只有聊天網站也能開始嗎?

可以先做手動轉貼的小練習。用新對話隔離每局與跑次;取不到 token 收據時,成本欄填未知。

多存幾局會更新模型權重嗎?

這套設計沒有參數更新步驟。它改的是後續可讀的材料;權重訓練另需更新與驗收證據。

三個動作重複就是浪費嗎?

不一定。菜單改了,菜號相同未必特徵相同;先核對狀態與測試目的。

給新手的三個重點

  • 把原始觀察與你的推論分開保存。
  • 把同 seed 新局與新 seed 適應分開計分。
  • 把每局表現與總成本一起看,失敗也留在成績單。

若你想理解其他自我改進實驗,RRSI 的 Harness 自我改進 提供相鄰背景;規則污染與新評測 則補足為什麼讀過答案會改變結果。

接著閱讀

左右滑動查看更多推薦

下一步:今天先留下第一局的完整紀錄

記住學習證據=跨局改善+同尺對照+新情境驗收。 今天先固定版本跑一局,把完整菜單、動作與回饋留下,寫一條「已觀察」和一條「待驗假設」;再換 episode,看你究竟帶走了哪種知識。能說明一次失敗,下一次分數才有可解釋的起點。

想繼續練習把模型、工具與驗收接在一起,可到 AlphaLab AI 主題專區 選下一個題目,或從 AlphaLab 課程 建立完整的實作路線。

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。已訂閱?管理主題偏好(會寄登入連結到你的信箱)