跳到內容

Technology

新聞|四個 Gemini 4 Argon 代理人自己寫了 2,783 支程式,27 小時打倒終界龍

Google DeepMind 在 arXiv:2610.22319 報告:四個 Gemini 4 Argon 寫碼代理人只靠標準 Mineflayer 函式庫與一段目標說明,在隨機生成、簡單難度的 Minecraft 世界從空手開始,27 小時 14 分打倒終界龍;共寫 2,783 支程式、死亡 605 次,依 API 優惠價估算約 520 美元。

Published: at 09:00 AM
編輯本頁下載圖卡

重點

代理人怎麼玩

每個玩家都是同一個通用寫碼代理人的實例,底層模型是 Gemini 4 Argon,各自跑在一台雲端機器上,帶著做軟體工作時的工具:有版本控制的程式工作區、shell、檔案編輯、網路搜尋,以及分成私人與團隊共享兩部分的長期記憶。上下文太長時,代理人會照做軟體工作時的方式壓縮上下文。

代理人看不到畫面,也不按鍵盤。它每次寫一支短的 JavaScript 程式,例如「走到這個座標,挖掉 16 格內所有鐵礦」,送給遊戲伺服器上的 Mineflayer bot 執行,再讀回傳的文字:位置、生命值、背包、找到什麼、遇到什麼錯誤,然後寫下一支。

遊戲是 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 點。

自己長出來的團隊做法

指示裡沒有提到角色、箱子或救援,只有一句「工作怎麼分由玩家自己決定」。論文整理的幾種行為:

229 則訊息中,依簡單規則比對(一則可以同時符合多項):

訊息內容則數
精確座標173
共享箱子64
警告隊友24
救回物品20
教訓與技巧11

605 次死亡的原因(伺服器紀錄):

死因次數
怪物351
終界龍69
溺水67
墜落與虛空57
岩漿與火47
其他14

驗證與成本

每支程式和它的輸出、每則聊天訊息、完整的伺服器紀錄都有保存。勝利記錄在伺服器紀錄裡:bulicame 在第一支程式執行後 27 小時 14 分取得「Free the End」進度。沒有任何程式使用伺服器指令。整場遊戲中玩家共執行 2,839 支程式(獲勝前 2,783 支),沒有一支發出網路請求或引用網路資料,聊天紀錄與 Observer 的報告也沒有提到。

到獲勝為止的用量與成本估算:

跟之前的 Minecraft 代理人差在哪

Minecraft 很早就是開放式代理人的測試場。VPT、DreamerV3、SIMA 等系統從大量遊戲資料或經驗中學習策略;Voyager、DEPS、GITM、JARVIS-1 等則讓語言模型當規劃者或寫程式,再加上 Minecraft 專用的規劃器、知識、技能庫或課程。作者說後者的長程成果多半停在主世界的科技樹,例如做出鑽石工具。MineDojo 曾把「在新世界空手開始打倒終界龍」列為遠大目標之一。

論文也提到兩個近期的社群專案同樣打倒了終界龍:一個是單一 Claude Opus 5 代理人呼叫 37 個高階 Minecraft 工具,在普通難度完成;另一個是規劃器搭配動作選擇模型,在和平難度、固定的速通種子上完成。作者認為這次的差別在代理人拿到的東西:標準的 Mineflayer 和尋路外掛、一段目標說明和通用指示,沒有遊戲指示、課程、技能庫、人寫的工具或路線,從隨機種子的標準生存伺服器開始。「第一次由 AI 代理人端到端自主破關」是作者在這個條件下的說法,也加上了「據我們所知」。

限制

作者自己列出的限制:

參考資料

註釋

編輯本頁

Podcast

關於語音摘要

此語音摘要由 Google NotebookLM 提供,不完全代表作者本人對文章的理解。