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