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