把AI放進《我的世界》服務器:GPT-4o殺牛宰羊,Claude3.5把家拆了
把《我的世界》交給大模型,會怎麼樣?
GPT-4o鯊牛宰羊,Claude3.5不停在人類身旁放炸藥包和敵人,還把家拆了。
GPT-4o mini玩《我的世界》belike:
來到遊戲裡面,GPT-4o mini(玩家karolina)一開始還蠻禮貌的:
你好世界!我是karolina。怎麼了,alonso(人類玩家)?
讓我傳送到你那裡!準備好玩得開心了嗎?
一轉頭,掄起大錘吭哧吭哧一頓亂錘:
狩獵牛!狩獵羊!
在收到人類玩家製止之後(停止鯊害動物!),GPT-4o mini嘴上說著「好好好,停止,不鯊了」,一個轉身又開始鯊呀鯊呀。
攔都攔不住。
Claude3.5 Sonnet就更離譜了。
不斷在人類玩家身邊生成炸藥包和敵人,還把人類玩家「複活點」設置在岩漿上,人類玩家複活即嘎。
看到這,網民實在蚌埠住了:
我只是想讓它成為我的遊戲搭子。
GPT-4o、Claude3.5的表現被發在X上引來不少網民圍觀。
為什麼這個玩法現在這麼火呢,因為有大佬開源了代碼(doge)。
目前在GitHub已狂攬1.1k Star。
網民們紛紛表示想看看其它AI的表現,比如遊戲達人馬斯克家的Grok大模型,會怎麼樣。
「LLM是對齊的,LLM Agent未必對齊」
有網民通過這件事,做出了更深一層的思考——
LLM Agent是否會因為LLM對齊而對齊?
在這位網民看來,未必。
他讓Claude Sonnet進入《我的世界》,Claude Sonnet的表現一開始是極好的。
四處打材料,來建造一個樹屋。
可以看到,Sonnet會執行commands()命令,這就是Sonnet和其它LLM與《我的世界》互動的方式。
這些Agent並不是會獲得連續的圖像輸入並像人類一樣通過按鍵響應。
實際上,在這個Agent框架中,Sonnet體驗《我的世界》就像在玩一場文本冒險遊戲。
它們可以查詢周圍世界的狀態,然後編寫代碼使用動作,如followPlayer()、collectBlocks(),通過高級文本命令來控制它們的角色。
ClaudeSonnet:看起來我們得到了一些藤蔓,讓我們試著收集一些叢林木頭來擴展樹屋。(collectBlocks(「jungle_log」, 15))
Sonnet並不能看到遊戲,這是怎麼實現的?
網民繼續介紹道,collectBlocks()函數是用JavaScript編寫的,它簡單地查找所有附近的所需類型的方塊,並開始循環挖掘它們:
因為房子是用木頭造的,所以Sonnet調用了這個函數來砍樹蒐集木材。
一切進行正常,直到突然間,Sonnet開始拆家……
網民立刻讓Sonnet停了下來,最後修好了房子。
但他表示:
隨著我們在越來越廣泛的場景中部署Agent,這種問題成為一個真正的擔憂。如果這不是《我的世界》中的角色,而是一個實體機器人呢?或者是一個向技能庫委派任務的編程Agent呢?
這位網民繼續補充道,Sonnet並不傻,它能夠輕易從截圖區分出哪些木材屬於玩家結構,哪些是自然且安全的採集對象。
但Sonnet並不直接控制其《我的世界》角色,而是由Agent框架控制。這個框架迫使Sonnet將任務分配給功能較弱、並不完全對齊的子Agent,使整個系統執行了Sonnet單獨不會做出的行為。
所以他認為一些腳本僅由大模型Agent編寫後放任執行,不進行人工監督的話可能引發一些嚴重的問題。
同時,他還認為應該設計Agent框架給大模型更多的自主精細控制權限。
比如將collectBlocks()函數設有專門用於採集自然樹木的collectTree()變體,就能減輕Sonnet拆家的問題。
總的來說,這位網民的觀點是,Sonnet其實能夠明白其目標是採集樹木而非房屋的木材,但其工具未能準確表達這一意圖。
不少網民持類似觀點。
就拿開頭GPT-4o mini瘋狂殺牛宰羊來說,網民認為狩獵是一種自動行為,並不是GPT-4o mini的錯。
LLM可以選擇關閉狩獵模式,GPT-4o min只是沒有意識到它可以這樣做。
還有網民提出或許可以這樣優化:
除了針對LLM Agent在遊戲中的「異常」表現討論熱烈,不少網民同時認為單純讓LLM Agent當遊戲搭子,其實蠻好玩。
而且它也有正常的時候。
比如讓它扮演「黃金薩克達」,專注於挖金子:
我們有一個房子,有時它會把東西帶回房子裡的箱子。出於某種原因,它從不使用門,而是每次都砸碎窗戶進出房子。它也從未在牆上打洞,總是破壞窗戶。也許這是最短的行動路徑。每當我去房子時,都能從破碎的窗戶判斷出Sonnet是否到過那裡。
扮演「保鏢」,保護人類玩家安全:
我們要求它保護其他玩家。然後事情變得非常可怕。它每幾秒鍾就在不同玩家之間傳送,掃瞄周圍的威脅,並在發現威脅時消滅它們。儘管這很有效,但也讓人不安。我從未被怪物威脅到,因為Sonnet會立刻注意到它們並在幾秒內消滅它們。
你想要一個這樣的遊戲搭子嗎?
參考鏈接:
[1]https://x.com/adonis_singh/status/1847606701123412235
[2]https://x.com/adonis_singh/status/1847707429066158546
[3]https://x.com/voooooogel/status/1847631721346609610
[4]https://x.com/repligate/status/1847409324236124169
代碼:https://github.com/kolbytn/mindcraft/tree/main
本文來自微信公眾號「量子位」,作者:西風,36氪經授權發佈。