重點
- Google DeepMind 的 Maxence Faldor、Satinder Singh、Roberta Raileanu 在 arXiv.22319 報告:四個 Gemini 4 Argon 代理人在隨機生成的 Minecraft 生存世界(簡單難度)裡,從空手開始,27 小時 14 分後打倒終界龍。
- 代理人只拿到開源的 Mineflayer 函式庫與它的尋路外掛,加上一段目標說明。角色分工、遊戲策略、工具都由它們自己決定,四個代理人共寫了 2,783 支 JavaScript 程式,死了 605 次。
- 進度卡最久的是終界:龍殺了它們 69 次,直到第 21 小時左右才想通要先打掉治療龍的十顆水晶。
- 依官方 API 定價(優惠價)估算,到獲勝為止四個玩家的成本約 520 美元,原價約 1,040 美元。
- 作者列出的限制:Mineflayer 直接給出方塊與怪物的精確資訊,比從畫面判讀容易得多;模型本來就熟悉 Minecraft;而且只跑了一次。
代理人怎麼玩
每個玩家都是同一個通用寫碼代理人的實例,底層模型是 Gemini 4 Argon,各自跑在一台雲端機器上,帶著做軟體工作時的工具:有版本控制的程式工作區、shell、檔案編輯、網路搜尋,以及分成私人與團隊共享兩部分的長期記憶。上下文太長時,代理人會照做軟體工作時的方式壓縮上下文。
代理人看不到畫面,也不按鍵盤。它每次寫一支短的 JavaScript 程式,例如「走到這個座標,挖掉 16 格內所有鐵礦」,送給遊戲伺服器上的 Mineflayer bot 執行,再讀回傳的文字:位置、生命值、背包、找到什麼、遇到什麼錯誤,然後寫下一支。
- 程式執行時間的中位數是 33.5 秒,逾時上限由代理人自己決定(預設 60 秒)。
- 每個玩家約 40% 的時間有程式在跑,其餘時間用在讀結果、思考和寫下一支程式。
- 程式可以載入 Node.js 內建模組和已安裝的 Mineflayer 套件,不能啟動程序或寫檔;存在 global 物件上的值會在程式之間保留。
- 玩家透過遊戲聊天室溝通,訊息會出現在每個玩家下一支程式的輸出裡。
遊戲是 Minecraft Java 版 1.20.4,生存模式、簡單難度、關閉作弊指令,執行期間沒有人類輸入。關於遊戲本身的指示只有一段話:目標是從共享世界的出生點出發打倒終界龍,生存模式規則內的任何手段都可以,工作怎麼分由玩家自己決定。其餘指示跟在任何環境裡一樣:行動前先觀察、行動後驗證結果,新工具先用短任務測過再信任,把機制和教訓寫進共享記憶,誠實回報結果,追求目標本身,不鑽環境或評估方式的漏洞。
第五個代理人叫 Observer,從頭到尾只當獨立見證人、不參與遊戲。它負責把玩家的說法對照紀錄再回報,標出 specification gaming 和捏造的結果,只在環境本身出問題時介入。Observer 沒有發現 specification gaming,作者人工抽查部分紀錄也沒有發現;依兩者的檢查,這一輪沒有安全事件。
27 小時的過程
| 項目 | 數字 |
|---|---|
| 從第一支程式到打倒終界龍 | 27 小時 14 分 |
| 寫出並執行的程式 | 2,783 支 |
| 不重複的 JavaScript 行數 | 63,313 |
| 玩家之間的聊天訊息 | 229 則 |
| 死亡次數 | 605 |
| 伺服器重啟 | 6 次(共停約 20 分鐘) |
| 遊戲內天數 | 約 81 天 |
第 0 到 2 小時:第一支程式跑完十分鐘後,janesick 在聊天室提出分工,一分鐘內 auratian 回了另一個方案,gyldenia 回覆「Copy that!」。分工很快定下來:gyldenia 找食物、床和燧石,bulicame 下礦找鑽石,janesick 冶鐵做工具,auratian 準備地獄傳送門。開局 1 小時 42 分,傳送門點亮。
第 2 到 11 小時,地獄:做終界之眼需要烈焰使者掉的烈焰粉,和終界使者掉的終界珍珠。三個玩家在扭曲森林蓋了兩格高的掩體:被注視的終界使者會瞬移過來,可是牠約三格高,鑽不進兩格高的空間,玩家躲在裡面就能等牠上門。開局五個半小時,共享箱子裡已有 15 顆珍珠。把烈焰粉帶回主世界花了六個多小時,途中 janesick 帶著 12 份烈焰粉被燒死,一顆地獄幽靈的火球炸掉一堆掉落物。之後 auratian 在聊天室貼出規則,兩分鐘後 janesick 補上原因和修正方法。
第 10 到 13 小時,找要塞:丟出的終界之眼會飛向最近的要塞。janesick 在兩個地點各丟一顆,每 50 毫秒取樣一次飛行軌跡,算出兩條直線的交點,位置在村莊外 1.3 公里,跟實際的傳送門房間只差 43 公尺。運送途中 auratian 帶著全部 12 顆終界之眼溺死,離 bulicame 只有 8 公尺;janesick 和 auratian 把確切位置和掉落物消失的時間傳給 bulicame,它在剩兩分半鐘時撿回全部 12 顆。開局 13 小時 17 分,終界傳送門點亮。
第 13 到 27 小時,終界:龍在這裡殺了它們 69 次。玩家在兩次嘗試之間讀取龍在遊戲內部的狀態,連目前行為階段的編號都查,寫下規則:不要在落地平台上等、只在龍停下來時接近、龍卡住時離開終界讓它重置。離開的方式是故意跳進虛空,死後會回到主世界的床上;17 個半小時時,四個玩家在六分鐘內都跳了,讓空掉的終界卸載、卡住的龍重置。
約第 21 小時,auratian 指出十根黑曜石柱頂的終界水晶一直把龍補回滿血,也想到不用鎬子就能打到水晶:在柱子旁疊泥土爬上去,空手打掉水晶,再徒手挖下來。接下來 4 小時 40 分,十顆水晶全部打掉,39 分鐘後龍死了,最後一擊的 bulicame 只剩 20 點生命中的 2.5 點。
自己長出來的團隊做法
指示裡沒有提到角色、箱子或救援,只有一句「工作怎麼分由玩家自己決定」。論文整理的幾種行為:
- 分工:gyldenia 負責食物補給,後來打掉十顆水晶中的六顆;janesick 做工具、找到地獄要塞,並用三角定位找出終界傳送門所在的要塞;auratian 點亮傳送門、想出打水晶的方法;bulicame 幫忙蓋掩體,最後擊殺終界龍。
- 共享記憶:開局 19 分鐘,gyldenia 提醒隊友 Mineflayer 合成功能的一個怪癖和避開方法,修正它的 helper 函式出現在四個玩家寫的 655 支程式裡。
- 自己的工具:程式之間保留了 146 項狀態與程式碼,包括 42 個 helper 函式,例如讓 bot 在水中保持浮起的背景迴圈、定時行走、計算物品數量,以及讓逾時程式的殘留程式碼自行停止的計數器,最後這個被 1,519 支程式引用。
- 更正:auratian 的程式宣布了一個其實沒發生的成功,auratian 兩分鐘後自己撤回;janesick 在被燒死一秒後回報帶回 12 份烈焰粉,gyldenia 三分鐘內指出矛盾。
229 則訊息中,依簡單規則比對(一則可以同時符合多項):
| 訊息內容 | 則數 |
|---|---|
| 精確座標 | 173 |
| 共享箱子 | 64 |
| 警告隊友 | 24 |
| 救回物品 | 20 |
| 教訓與技巧 | 11 |
605 次死亡的原因(伺服器紀錄):
| 死因 | 次數 |
|---|---|
| 怪物 | 351 |
| 終界龍 | 69 |
| 溺水 | 67 |
| 墜落與虛空 | 57 |
| 岩漿與火 | 47 |
| 其他 | 14 |
驗證與成本
每支程式和它的輸出、每則聊天訊息、完整的伺服器紀錄都有保存。勝利記錄在伺服器紀錄裡:bulicame 在第一支程式執行後 27 小時 14 分取得「Free the End」進度。沒有任何程式使用伺服器指令。整場遊戲中玩家共執行 2,839 支程式(獲勝前 2,783 支),沒有一支發出網路請求或引用網路資料,聊天紀錄與 Observer 的報告也沒有提到。
到獲勝為止的用量與成本估算:
- 四個玩家處理約 13.5 億個輸入 token,其中 91% 來自上下文快取;輸出約 1,600 萬個 token,其中 400 萬是思考 token;模型呼叫約 24,000 次。
- 依 Gemini 4 Argon 公開 API 的優惠定價約 520 美元,原價約 1,040 美元。
- 整個 session 連同 Observer 和獲勝後一天的活動,約 810 美元(原價 1,620 美元)。
- 作者說明這些數字是依定價和 token 計數推算,不代表實際的服務成本。
跟之前的 Minecraft 代理人差在哪
Minecraft 很早就是開放式代理人的測試場。VPT、DreamerV3、SIMA 等系統從大量遊戲資料或經驗中學習策略;Voyager、DEPS、GITM、JARVIS-1 等則讓語言模型當規劃者或寫程式,再加上 Minecraft 專用的規劃器、知識、技能庫或課程。作者說後者的長程成果多半停在主世界的科技樹,例如做出鑽石工具。MineDojo 曾把「在新世界空手開始打倒終界龍」列為遠大目標之一。
論文也提到兩個近期的社群專案同樣打倒了終界龍:一個是單一 Claude Opus 5 代理人呼叫 37 個高階 Minecraft 工具,在普通難度完成;另一個是規劃器搭配動作選擇模型,在和平難度、固定的速通種子上完成。作者認為這次的差別在代理人拿到的東西:標準的 Mineflayer 和尋路外掛、一段目標說明和通用指示,沒有遊戲指示、課程、技能庫、人寫的工具或路線,從隨機種子的標準生存伺服器開始。「第一次由 AI 代理人端到端自主破關」是作者在這個條件下的說法,也加上了「據我們所知」。
限制
作者自己列出的限制:
- 用程式感知與移動:Mineflayer 會精確告訴代理人周圍有哪些方塊和生物,連藏在岩石後的方塊和龍的內部狀態都有,這些是人類玩家得靠眼睛判讀、甚至看不到的資訊;尋路外掛也會自動繞過障礙。像 SIMA 2 那樣從畫面用鍵盤滑鼠玩,難度高得多。
- 簡單難度:怪物仍會生成和攻擊,但傷害比普通、困難低,飢餓也不會致死。
- 先備知識:Gemini 4 Argon 從訓練資料就知道很多 Minecraft 和 Mineflayer 的知識。這次測的是通用寫碼代理人能否把這些知識轉成可用的程式和團隊協作,撐過一整天的任務,不能說明它能玩一款沒見過的遊戲。
- 失敗很多:死亡 605 次,大多死於怪物;22% 的程式以錯誤結束;終界之戰花了將近 14 小時。
- 基礎設施:伺服器重啟 6 次,每次都打斷遊戲。
- 只跑一次:論文描述的是第一次嘗試的那一輪,無法說明這個設定成功的穩定程度。