把《我的世界》交给大模型,会怎么样?
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是对齐的,LLM Agent未必对齐”
有网友通过这件事,做出了更深一层的思考——
LLM Agent是否会因为LLM对齐而对齐?
在这位网友看来,未必。
他让Claude Sonnet进入《我的世界》,Claude Sonnet的表现一开始是极好的。
四处打材料,来建造一个树屋。
可以看到,Sonnet会执行commands()命令,这就是Sonnet和其它LLM与《我的世界》互动的方式。
这些Agent并不是会获得连续的图像输入并像人类一样通过按键响应。
实际上,在这个Agent框架中,Sonnet体验《我的世界》就像在玩一场文本冒险游戏。
它们可以查询周围世界的状态,然后编写代码使用动作,如followPlayer()、collectBlocks(),通过高级文本命令来控制它们的角色。
ClaudeSonnet:看起来我们得到了一些藤蔓,让我们试着收集一些丛林木头来扩展树屋。(collectBlocks(“jungle_log”, 15))
Sonnet并不能看到游戏,这是怎么实现的?
网友继续介绍道,collectBlocks()函数是用JavaScript编写的,它简单地查找所有附近的所需类型的方块,并开始循环挖掘它们:
因为房子是用木头造的,所以Sonnet调用了这个函数来砍树搜集木材。
一切进行正常,直到突然间,Sonnet开始拆家……
网友立刻让Sonnet停了下来,最后修好了房子。
但他表示:
随着我们在越来越广泛的场景中部署Agent,这种问题成为一个真正的担忧。如果这不是《我的世界》中的角色,而是一个实体机器人呢?或者是一个向技能库委派任务的编程Agent呢?
这位网友继续补充道,Sonnet并不傻,它能够轻易从截图区分出哪些木材属于玩家结构,哪些是自然且安全的采集对象。
但Sonnet并不直接控制其《我的世界》角色,而是由Agent框架控制。这个框架迫使Sonnet将任务分配给功能较弱、并不完全对齐的子Agent,使整个系统执行了Sonnet单独不会做出的行为。
所以他认为一些脚本仅由大模型Agent编写后放任执行,不进行人工监督的话可能引发一些严重的问题。
同时,他还认为应该设计Agent框架给大模型更多的自主精细控制权限。
比如将collectBlocks()函数设有专门用于采集自然树木的collectTree()变体,就能减轻Sonnet拆家的问题。
总的来说,这位网友的观点是,Sonnet其实能够明白其目标是采集树木而非房屋的木材,但其工具未能准确表达这一意图。
不少网友持类似观点。
就拿开头GPT-4o mini疯狂杀牛宰羊来说,网友认为狩猎是一种自动行为,并不是GPT-4o mini的错。
LLM可以选择关闭狩猎模式,GPT-4o min只是没有意识到它可以这样做。
还有网友提出或许可以这样优化:
除了针对LLM Agent在游戏中的“异常”表现讨论热烈,不少网友同时认为单纯让LLM Agent当游戏搭子,其实蛮好玩。
而且它也有正常的时候。
比如让它扮演“黄金矿工”,专注于挖金子:
我们有一个房子,有时它会把东西带回房子里的箱子。出于某种原因,它从不使用门,而是每次都砸碎窗户进出房子。它也从未在墙上打洞,总是破坏窗户。也许这是最短的行动路径。每当我去房子时,都能从破碎的窗户判断出Sonnet是否到过那里。
扮演“保镖”,保护人类玩家安全:
我们要求它保护其他玩家。然后事情变得非常可怕。它每几秒钟就在不同玩家之间传送,扫描周围的威胁,并在发现威胁时消灭它们。尽管这很有效,但也让人不安。我从未被怪物威胁到,因为Sonnet会立刻注意到它们并在几秒内消灭它们。
你想要一个这样的游戏搭子吗?