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