引领数字未来

AI进《我的世界》服务器:GPT4o宰牛羊,Claude拆家|开源

生活常识 2024-10-22 浏览(55) 评论(0)
- N +

从去年夏天开始,英足总就一直在调查西汉姆联的巴西籍中场帕奎塔的“涉赌”问题。英足总认为,帕奎塔在西汉姆联对阵莱切斯特城、阿斯顿维拉、利兹联和伯恩茅斯的比赛中故意犯规吃到黄牌,虽然帕奎塔本人并未下注买自己在比赛中“染黄”,但英足总指控他通过故意拿到黄牌帮助家人在博彩中盈利,而这样的行为无疑是对职业足球...

西风 发自 凹非寺

量子位 | 公众号 QbitAI

把《我的世界》交给大模型,会怎么样?

GPT-4o鲨牛宰羊,Claude3.5不停在人类身旁放 包和敌人,还把家拆了。

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

来到游戏里面,GPT-4o mini(玩家karolina)一开始还蛮礼貌的:

你好世界!我是karolina。怎么了,alonso(人类玩家)?

让我传送到你那里!准备好玩得开心了吗?

一转头,抡起大锤吭哧吭哧一顿乱锤:

狩猎牛!狩猎羊!

在收到人类玩家制止之后(停止鲨害动物!),GPT-4o mini嘴上说着“好好好,停止,不鲨了”,一个转身又开始鲨呀鲨呀。

拦都拦不住。

Claude3.5 Sonnet就更离谱了。

不断在人类玩家身边生成 包和敌人,还把人类玩家“复活点”设置在岩浆上,人类玩家复活即嘎。

看到这,网友实在蚌埠住了:

我只是想让它成为我的游戏搭子。

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(),通过高级文本命令来控制它们的角色。

ClaudeSonnet:看起来我们得到了一些藤蔓,让我们试着收集一些丛林木头来扩展树屋。(collectBlocks(“jungle_log”, 15))

Sonnet并不能看到游戏,这是怎么实现的?

网友继续介绍道,collectBlocks()函数是用JavaSc pt编写的,它简单地查找所有附近的所需类型的方块,并开始循环挖掘它们:

因为房子是用木头造的,所以Sonnet调用了这个函数来砍树搜集木材。

一切进行正常,直到突然间,Sonnet开始拆家……

网友立刻让Sonnet停了下来,最后修好了房子。

但他表示:

随着我们在越来越广泛的场景中部署Agent,这种问题成为一个真正的担忧。如果这不是《我的世界》中的角色,而是一个实体机器人呢?或者是一个向技能库*派任务的编程Agent呢?

这位网友继续补充道,Sonnet并不傻,它能够轻易从截图区分出哪些木材属于玩家结构,哪些是自然且安全的采集对象。

但Sonnet并不直接控制其《我的世界》角色而是由Agent框架控制。这个框架迫使Sonnet将任务分配给功能较弱、并不完全对齐的子Agent,使整个系统执行了Sonnet单独不会做出的行为。

所以他认为一些脚本仅由大模型Agent编写后放任执行,不进行人工 的话可能引发一些严重的问题。

AI进《我的世界》服务器:GPT4o宰牛羊,Claude拆家|开源

同时,他还认为应该设计Agent框架给大模型更多的自主精细控制权限。

比如将collectBlocks()函数设有专门用于采集自然树木的collectTree()变体,就能减轻Sonnet拆家的问题。

总的来说,这位网友的观点是,Sonnet其实能够明白其目标是采集树木而非房屋的木材,但其工具未能准确表达这一意图。

不少网友持类似观点。

就拿开头GPT-4o mini疯狂杀牛宰羊来说,网友认为狩猎是一种自动行为,并不是GPT-4o mini的错。

LLM可以选择关闭狩猎模式,GPT-4o min只是没有意识到它可以这样做。

还有网友提出或许可以这样优化:

除了针对LLM Agent在游戏中的“异常”表现讨论热烈,不少网友同时认为单纯让LLM Agent当游戏搭子,其实蛮好玩。

而且它也有正常的时候。

比如让它扮演“黄金矿工”,专注于挖金子:

我们有一个房子,有时它会把东西带回房子里的箱子。出于某种原因,它从不使用门,而是每次都砸碎窗户进出房子。它也从未在墙上打洞,总是 窗户。也许这是最短的行动路径。每当我去房子时,都能从破碎的窗户判断出Sonnet是否到过那里。

扮演“保镖”,保护人类玩家安全:

我们要求它保护其他玩家。然后事情变得 可怕。它每几秒钟就在不同玩家之间传送,扫描周围的威胁,并在发现威胁时消灭它们。尽管这很有效,但也让人不安。我从未被怪物威胁到,因为Sonnet会立刻注意到它们并在几秒内消灭它们。

你想要一个这样的游戏搭子吗?

参考链接:
[1]https://x.com/adonis_singh/st us/1847606701123412235
[2]https://x.com/adonis_singh/st us/1847707429066158546
[3]https://x.com/voooooogel/st us/1847631721346609610
[4]https://x.com/replig e/st us/1847409324236124169
代码:https://github.com/kolbytn/mindcraft/tree/main