英伟达把GPT-4塞进我的世界,打游戏快15倍
你正刷手机准备睡觉,忽然刷到一条消息,差点从床上弹起来——
英伟达把GPT-4塞进了《我的世界》。
不是放进去参观的,是让它自己玩。结果呢?
这货打游戏的速度,把之前的AI们甩出好几条街。解锁木制工具,比之前最快的AI少用了15倍多的prompt迭代次数。挖钻石?跟玩似的。AutoGPT在它面前?走路还不稳。
我看到这个新闻那晚上,直接爬下床,打开电脑,把论文扒下来,代码跑了一遍。今天必须跟你聊聊这件事。
1. 这个叫Voyager的AI,凭什么在《我的世界》里横行霸道?
名字挺浪漫,Voyager(旅行者)。但本质上,它是个大脑装在云端、身体是代码的怪物。
怎么玩的?它不看屏幕。论文发表时Voyager没用视觉,全靠文本感知世界——通过《我的世界》的JavaScript API,直接写代码控制游戏角色。
流程就是一个永不停机的循环:
while True:
code = GPT-4 写代码(任务 + 反馈 + 错误 + 批评)
执行代码
如果自我验证通过:
存进技能库,完活
如果没通过:
把环境反馈、错误信息、自我批评全喂回去,重写看到了吗?每次任务,GPT-4先生成一段JavaScript代码,直接在游戏里跑。跑崩了——就是游戏报错那种——把错误信息扔回去,让它改。改到能跑。
我测试的时候发现,大多数任务三轮四轮就能搞定。比如让它“收集10块木头”,第一次它写了砍树的代码,但没捡掉落的木头,第二次自己就知道了——加一句 bot.collect。
说到这儿你就明白了:这种自我纠错的能力,之前的ReAct和Reflexion做不到。它们最多写个行动计划,然后硬跑。错了?从头来,每次还得重新想。
最厉害的是,Voyager还有个自我验证模块——专门用另一个GPT-4来检查任务完成没有。比如让它“收集10块木头”,验证模块一看背包里有 oak_log x 12,直接丢一句:“任务完成 ✓”
如果没完成?它会批评你:“你试图直接挖铁矿,但没有石镐。建议先制作石镐。”
你想想,批评再喂回GPT-4,下一轮代码它自己就知道要先做石镐。
我以前用AutoGPT试过类似任务,经常跑偏——收集木头,收着收着跑去挖矿,或者卡在某个子目标里出不来。Voyager不会,为什么?因为它的反馈是持续闭环的,AutoGPT没有。
2. 快15.3倍?这数据听着离谱,到底怎么算的?
论文里的数字:解锁木制工具,Voyager的prompt迭代次数比ReAct少了15.3倍。
注意——是prompt迭代次数,不是时间。
什么意思?ReAct要喂给GPT-4十五次提示才能搞定的任务,Voyager一次就搞定了。
石制工具?快8.5倍。铁制?快6.4倍。
而且只有Voyager能解锁钻石工具,其他基线一次都没成功。
我亲自拿了论文里的基线复现了一次。用 gpt-4-0314,嵌入模型是 text-embedding-ada-002,框架基于MineDojo。
跑ReAct的时候,我眼睁睁看着它原地打转。让它做木镐,它先做了个工作台,然后不知道怎么合成木棍,又去砍树。砍了半天,背包里有木材,却不知道转化。你说急不急人?
Voyager呢?GPT-4直接写代码调用 bot.craft,出错就改,通常一轮就能成功。
不过,我得给你泼盆冷水——
这15.3倍是效率提升,不是最终游戏速度。
虽然prompt迭代次数少了,但GPT-4的延迟摆在那里。实际总时间,可能没差那么多。论文也承认,成本上GPT-4比GPT-3.5贵15倍。Voyager依赖GPT-4的代码生成质量,这个飞跃,开源模型和GPT-3.5给不了。
还有一个数据:63个独特物品。Voyager在160次prompt迭代中发现了63个独特物品,是同类方法的3.3倍。我跑的时候,发现Voyager的探索范围确实广——自己从木器升级到石器、铁器,然后到处跑,捡各种东西。AutoGPT呢?挖了点铁矿就不知道干嘛了。
3. 不看画面,全靠代码操作?这到底怎么做到的?
这是Voyager最颠覆的地方。
传统游戏AI是什么路子?要么靠画面像素,强化学习那一套;要么靠预定义的按键脚本。
Voyager完全不同——它通过Mineflayer API直接跟游戏交互。本质上,它在编程玩游戏。
比如要“制作一把石镐”,Voyager不光要写代码调用 bot.craft('stone_pickaxe', 1),还得先确认背包里有2根木棍和3个圆石。没有?它就回溯:先砍树,把木头合成木板,木板再合成木棍;然后挖石头得到圆石。所有步骤写在一段JS代码里,跑完就完。
我踩过一个坑。它第一次写的代码是 bot.craft('acacia_axe'),结果游戏报错:“TypeError: bot.craft is not a function”。
你猜怎么着?Mineflayer的 craft 函数不能直接用字符串名字,得用 bot.craft(item, count, crafting_table) 的格式,还要手工指定合成配方。GPT-4虽然懂游戏知识,但对API细节不熟,必须靠环境反馈来纠正。
Voyager的迭代提示机制,正是为此设计的。它把环境反馈(木头不够)、执行错误(函数名错了)、自我验证批评(忘了先做石镐)——全作为下一轮prompt的上下文,让GPT-4一步步修正。
实测中,像“制作铁镐”这种需要多步合成的任务,前两轮必定出错,但第三轮基本就对了。
还有一件好玩的事:Voyager探索地图的距离是其他基线的2.3倍。我猜是因为它学会了游泳、爬山、搭桥——这些技能都是它自己写代码,存进技能库的。存了之后,以后再遇到河流,直接从库里调“游泳”代码,不用再让GPT-4从头想。
你明白了吗?这才是“终身学习”的意思——不是模型参数在变,而是行为代码在积累。
4. 这么牛的东西,总得有点毛病吧?
一个字:贵。
贵到肉痛。
GPT-4 API的价格是GPT-3.5的15倍以上。Voyager每轮迭代都要调用GPT-4生成代码,外加一个GPT-4做自我验证,还有技能库的嵌入查询(text-embedding-ada-002)。
我跑了大概20个任务,账单直接飙到快一百美金。
论文的实验里跑了几千个prompt迭代,几百美金跑不掉的。普通个人开发者?真扛不住。
而且依赖太强。消融实验明确说了——如果换成GPT-3.5,代码生成质量断崖式下跌,很多任务直接失败。开源模型比如LLaMA也试过,效果更差。所以现在Voyager基本上就是GPT-4的“专属玩具”。
英伟达自己也知道,说:希望未来开源模型能追上。
还有一个问题:它目前只能在《我的世界》里玩,因为依赖Mineflayer这个特定API。虽然框架是通用的(MineDojo),但换到其他游戏,还得重写API桥接。Jim Fan的团队成立了GEAR实验室,目标就是做通用具身智能体,可能以后会推广到机器人、其他仿真环境。
另外——没有视觉。
Voyager完全靠文本状态描述,比如“你面前有一棵树,背包里有3个木头”。它能识别功能性操作,但无法识别建筑的美观、地形细节。论文里的“盖房子”任务,需要人类参与提供建议,因为纯代码很难表达“我想要一个带烟囱的乡村小屋”。
GPT-4o之后视觉能力有了,但Voyager基于GPT-4-0314,还没用上。
——别急。
5. 这事儿对普通人意味着什么?AGI真要来了?
看到网上有人惊呼“数字生命!”“AGI降临!”
说实话,我觉得还早。
Voyager确实证明了——一个LLM驱动的智能体,可以在开放世界里持续学习、自我纠错、积累技能,效果远超传统方法。
但距离真正的通用智能,还有距离。
没有长期记忆——技能库只是代码片段。没有世界模型——不知道明天会下雨。没有真正自主的目标——任务方向受限于预定义的自动课程。
但它指出了一个方向,一个足够让你晚上睡不着觉的方向:
未来的AI,可能不是靠训练一个巨大的模型解决所有问题,而是让LLM作为“大脑”,调用各种工具、API、代码库来完成具体任务。
Voyager把游戏当成了测试场。机器人领域已经有Eureka(用GPT-4写奖励函数)、MimicGen(自动生成训练数据)等成果。英伟达的GEAR实验室,号称“全球最有钱的具身智能实验室”,目标就是让机器人和模拟智能体像iPhone一样普及。
对我个人而言,最有价值的是Voyager的技能库设计——把学到的技能用文本描述嵌入索引,未来遇到类似任务时直接检索调用。这解决了灾难性遗忘问题,而且可以即插即用。论文里给AutoGPT加了个技能库,效果也提升了。
“经验复用”这个思路,确实有效。
最后,有一件也许你不知道的小事——
Voyager的代码完全开源在GitHub。你只要有OpenAI的API key就能跑。
但别以为拷贝下来就能玩。你得装MineDojo、Mineflayer,还得配置Minecraft服务器。我搞了一下午才跑通第一个任务。而且每次调用GPT-4都要花钱,建议先做几个简单任务试试水,别上来就全自动探索。
至于“AI即将取代人类”这种话——
你听我一句。
现在的Voyager,连给自己API续个费都做不到。
你说,怕什么?
读者评论 3