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