AI進《我的世界》服務器:GPT-4o宰牛羊,Claude3.5拆家|開源

把《我的世界》交給大模型,會怎麼樣?

GPT-4o鯊牛宰羊,Claude3.5不停在人類身旁放炸藥包和敵人,還把家拆了。

GPT-4o mini玩《我的世界》belike:

https://www.toutiao.com/article/7428087517368435252/

來到遊戲裡面,GPT-4o mini(玩家karolina)一開始還蠻禮貌的:

一轉頭,掄起大錘吭哧吭哧一頓亂錘:

在收到人類玩家制止之後(停止鯊害動物!),GPT-4o mini嘴上說着“好好好,停止,不鯊了”,一個轉身又開始鯊呀鯊呀。

攔都攔不住。

Claude3.5 Sonnet就更離譜了。

不斷在人類玩家身邊生成炸藥包和敵人,還把人類玩家“復活點”設置在岩漿上,人類玩家復活即嘎。

https://www.toutiao.com/article/7428087517368435252/

看到這,網友實在蚌埠住了:

GPT-4o、Claude3.5的表現被髮在X上引來不少網友圍觀。

爲什麼這個玩法現在這麼火呢,因爲有大佬開源了代碼(doge)。

目前在GitHub已狂攬1.1k Star。

網友們紛紛表示想看看其它AI的表現,比如遊戲達人馬斯克家的Grok大模型,會怎麼樣。

有網友通過這件事,做出了更深一層的思考——

LLM Agent是否會因爲LLM對齊而對齊?

在這位網友看來,未必。

他讓Claude Sonnet進入《我的世界》,Claude Sonnet的表現一開始是極好的。

四處打材料,來建造一個樹屋。

可以看到,Sonnet會執行commands()命令,這就是Sonnet和其它LLM與《我的世界》互動的方式。

這些Agent並不是會獲得連續的圖像輸入並像人類一樣通過按鍵響應。

實際上,在這個Agent框架中,Sonnet體驗《我的世界》就像在玩一場文本冒險遊戲。

它們可以查詢周圍世界的狀態,然後編寫代碼使用動作,如followPlayer()、collectBlocks(),通過高級文本命令來控制它們的角色。

Sonnet並不能看到遊戲,這是怎麼實現的?

網友繼續介紹道,collectBlocks()函數是用JavaScript編寫的,它簡單地查找所有附近的所需類型的方塊,並開始循環挖掘它們:

因爲房子是用木頭造的,所以Sonnet調用了這個函數來砍樹蒐集木材。

一切進行正常,直到突然間,Sonnet開始拆家……

網友立刻讓Sonnet停了下來,最後修好了房子。

但他表示:

這位網友繼續補充道,Sonnet並不傻,它能夠輕易從截圖區分出哪些木材屬於玩家結構,哪些是自然且安全的採集對象。

但Sonnet並不直接控制其《我的世界》角色,而是由Agent框架控制。這個框架迫使Sonnet將任務分配給功能較弱、並不完全對齊的子Agent,使整個系統執行了Sonnet單獨不會做出的行爲。

所以他認爲一些腳本僅由大模型Agent編寫後放任執行,不進行人工監督的話可能引發一些嚴重的問題。

同時,他還認爲應該設計Agent框架給大模型更多的自主精細控制權限。

比如將collectBlocks()函數設有專門用於採集自然樹木的collectTree()變體,就能減輕Sonnet拆家的問題。

總的來說,這位網友的觀點是,Sonnet其實能夠明白其目標是採集樹木而非房屋的木材,但其工具未能準確表達這一意圖。

不少網友持類似觀點。

就拿開頭GPT-4o mini瘋狂殺牛宰羊來說,網友認爲狩獵是一種自動行爲,並不是GPT-4o mini的錯。

還有網友提出或許可以這樣優化:

除了針對LLM Agent在遊戲中的“異常”表現討論熱烈,不少網友同時認爲單純讓LLM Agent當遊戲搭子,其實蠻好玩。

而且它也有正常的時候。

比如讓它扮演“黃金礦工”,專注於挖金子:

扮演“保鏢”,保護人類玩家安全:

你想要一個這樣的遊戲搭子嗎?

參考鏈接:[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