大语言模型能玩好文字游戏吗?
——当前最强AI的现状与未解之谜
作者:一群来自芝加哥大学、雪城大学、米尔本高中等学校的学霸们
简单来说:
最近爆火的ChatGPT虽然能写诗、编代码、陪你聊天,但科学家们发现它玩起《魔域》(Zork,一款纯文字冒险游戏)时简直像个"路痴+健忘症患者"!
实验发现:
1. 不会画地图:
- 人类玩70步就能脑补出游戏地图,但ChatGPT连"从厨房往西走是客厅"这种简单路线都记不住。
- 多走几步就晕头转向,正确率比抛硬币高不了多少(两步路线问题正确率仅3.8%)。
2. 目标感稀碎:
- 问它"现在该干啥",它只会说"去捡那把剑!"却说不清"其实是要探索整个房子找宝藏"。
- 更搞笑的是:刚爬下悬崖,下一秒它就说"咱们再爬回去吧"——像极了写作文凑字数的你!
3. 成绩垫底:
- 原始版ChatGPT游戏得分(10分)和没训练过的AI半斤八两,远不如专门练过的AI(最高38.8分)。
- 但科学家偷偷提示它"你刚才干了啥"后,分数飙到40分,反而成了第一名!
为什么这很重要?
文字游戏就像"纯文字版《我的世界》":
- 要理解"你站在白色房子西边的草地上"这样的描述
- 得记住" mailbox > leaflet > 读纸条 > 找钥匙"的逻辑链
- 还要规划"先探索地下室还是先上阁楼"
这正好考验AI是否真有"人类式智能"。目前看来,ChatGPT更像"背题学霸"而非"活学高手"——知道终极目标是找宝藏,但玩着玩着就迷路了。
科学家吐槽集锦:
- "它连原路返回都做不到,就像背了《西游记》剧情却分不清唐僧和八戒!"
- "问它目标,它永远在说'下一步动作',就像问'人生理想'你回答'先写完作业'!"
- "最气人的是——它明明读过游戏攻略,但玩起来照样抓瞎!"
未来,科学家打算用更多文字游戏测试AI,毕竟...如果连《魔域》都玩不通关,号称"全能"的AI恐怕还得再练练!
(注:所有实验记录和AI的搞笑回答都公开在GitHub上,链接见原论文)
极客辣评:
1、我对这篇论文特别感兴趣,因为它让我想到了一个问题:“大语言模型能玩那种需要‘记性’的文字游戏吗?”我特别想知道它能不能像个“侦探”一样,用“调试器”来找程序里的错误。
玩这种“文字冒险游戏”(或者用调试器找bug),你需要:
- 记住去过的地方: 就像玩地牢游戏,你要记住哪些房间你已经探索过了。
- 知道最终目标: 就像你有个“任务”或者要找“宝藏”一样,得有个大方向。
- 制定计划并灵活应变: 你得有个大概的路线图,但也要随时准备好应对“怪物”或者“死胡同”。
- 管理收集到的信息和状态: 就像你的“背包”一样,要能整理和利用你学到的东西。
比如,一个服务器,它提供工具,但同时把工具里的概念都变成“地牢冒险”里的概念(也能反过来)。就算别的没啥用,光是看大语言模型怎么“脑洞大开”地推理,肯定也特别好玩!说不定,让它“假装”玩游戏,还能让它在某些方面表现得更好呢,那可就太酷了!
2、我见过Replit和Cline这些AI助手,它们能“一步步”地调试那些特别难、日志又特别多的问题。所以说,它们已经能做到这些了!
3、增加“翻译层”到底能给大语言模型内部的“状态空间”表示增加什么概念信息呢?
但是,让它把一个东西的结构转换到另一个完全不同的领域,然后看看那个领域的“规矩”会怎么让它以不同的方式处理状态……这个想法真是太“挠痒痒”了。
4、我有个网站,叫https://vimgolf.ai,用户可以在上面尝试打败一个由O3模型驱动的机器人。这个机器人的目标是,用最少的Vim命令,把一个文件从开始状态变成结束状态。我可以很肯定地说,如果给大语言模型提供正确的反馈和上下文,它确实能解决有挑战性的文本问题。但是,根据我的经验,这只适用于那些基于“强化学习”(RL)的模型,比如O3、经过“扩展思考”的Claude 4,或者Gemini 2.5 Pro。
5、我有个朋友尝试开发一个AI驱动的文字角色扮演游戏(RPG)。他告诉我,游戏有点平淡无奇,缺乏想象力,很快就玩腻了。
6、有个数据点:几周前,我花了一些时间,在Llama模型(具体哪个版本得查一下)和Emacs自带的文字冒险游戏Dunnet之间来回“倒腾”文字。试了好几次,Llama模型都没能发现它需要在地面“看起来很软”的地方挖土。它一直没拿到CPU卡,后来在建筑里找线索怎么启动VAX时也搞混了。有一次,它甚至把建筑布局都弄错了,一直在邮件室和电脑室之间来回“鬼打墙”。
7、抛开大语言模型的选择不谈,如果限制大语言模型只能通过反复阅读自己的聊天记录来维护一个“世界模型”(就像一个知识图谱),这似乎不如给它提供工具,让它明确地构建这个世界模型更有趣?
在论文的第5页,图1中,作者们手绘了一个图表,展示了物体之间关系的3D空间方向性。对我来说,这意味着你可以给大语言模型提供一套工具,比如“获取图中的物体”、“更新物体对之间的关系”、“查找相对于某个物体的其他物体”、“描述物体之间的路径”等等……然后让它维护这个结构化的“有向无环图”(DAG),并不断向游戏引擎提问来更新这个图。我预测它们会精确地重建这个图表,并实现高精度的目标搜索。
让大语言模型在没有能力在“脑海中”进行“可视化”和“触摸”环境的情况下工作,就像是“绑住了一只手”。但我坚信,我们会找到越来越好的方法,将3D/4D世界模型转化为文本工具,这将迅速改变大语言模型的能力边界。
8、或者哪怕只给它一个“记事本”呢!大家都知道,对于大语言模型来说,在长长的、信息分散的上下文历史中导航是很困难的。
为了区分它是使用笔记还是上下文历史,你可以简单地在每回合结束后删除上下文。提示语可以是:“你正在接替一位前玩家玩这个游戏,他已经整理了这些笔记。(在此插入笔记)。玩一回合,然后用你获得的新知识、识别出的关系、确认的不准确之处、你的假设,或者任何你觉得对下一位玩家有用的信息来更新笔记,以便下一位玩家能利用这些笔记做出最佳的下一步行动。”然后每移动一步就清除上下文。也许还可以说记事本的字数有限制,这样它就不会把不相关的信息都塞进去。
对于未来的迭代,也许还可以给它一个位图或SVG画布,或者一个数据库,或者一个代码解释器,看看它是否会使用这些工具。
9、关于AI驱动的文字冒险和MUD的设想翻译:
这在我脑海里盘旋了一段时间了:
- 创建一个基本的文字冒险游戏(或者MUD,多人在线文字游戏),用一个非常简洁的“API”形式来表示。
- 用大语言模型来“润色”提供给用户的描述等等。有了最近的聊天记录作为上下文,大语言模型甚至可以“顺便”提到用户之前问过的问题。
- 让非玩家角色(NPC)也由各自的大语言模型来扮演,它们会尝试“玩游戏”。这些NPC可能会像“智能体”一样直接使用简洁的API。
(题外话:我发现我为Ludum Dare 23(一个游戏开发比赛)制作的图形文字冒险游戏还在网上!虽然它在现代浏览器里显示得不太对劲……不应该坏掉啊!不过反正网址是https://williame.github.io/ludum_dare_23_tiny_world/)
10、关于MUD中LLM控制NPC的进展翻译:
我最近几个月断断续续地在做类似的事情!这是一个MUD游戏,里面所有的NPC都由大语言模型控制,它们用和玩家一样的命令与世界互动。我已经做到NPC们可以探索世界,互相交流,甚至创造东西。但是它们经常会“跑偏”,忘记最初的任务,所以我需要建立一个记忆系统,以及类似Claude Code里的任务列表。我的目标是建立一个完全模拟的城镇,玩家可以在其中互动。
11、关于Trader项目和游戏状态一致性的讨论翻译:
我做过类似的事情!https://github.com/heyitsguay/trader
对我来说,挑战在于如何将对话中的自由文本一致地转化为经典、确定性的游戏状态变化。但令人满意的是,对话不仅仅是“花瓶”,它们是游戏机制的一部分。
12、关于确定性游戏状态变化的难度翻译:
“确定性游戏状态变化”
我发现这才是基于大语言模型开发中最“费劲”的工作。虽然看起来AI让一切都变得简单自由了,但要始终获得确定性的输出,需要非常认真的编程工作。这感觉就像一个全新的职业。换句话说,我不会免费做这个,它太费力了。
13、关于文字冒险游戏推理和“元游戏”的讨论翻译:
对于文字冒险游戏来说,一种重要的推理能力是“推断作者意图”。或者说,“看到契诃夫的枪”(指小说中出现的任何事物都必须在后续情节中发挥作用)。或者“学习元游戏”(指游戏本身的规则和设计)。
游戏是故意设计成可解的,并且引入的元素都是为了这个目的。推断出这一点对于任何解决方案都很重要。通过使用最少的“脚手架”(辅助结构),你正在测试诸如“大语言模型是否理解文字冒险游戏的模式,它是否能够推断出元游戏”等等。如果你测试不同类型的“脚手架”,我想你可以区分开这些不同类型的推理。也就是说,区分(a)它是否理解文字冒险游戏,以及(b)理解文字冒险游戏后,它们是否能被解决?
我之前也尝试过更多的提示和一些状态管理:https://github.com/ianb/tale-suite/blob/main/agents/llm_prom...
虽然不太成功,但我认为它可以做得更好,只是因为其他优先事项,我不得不停止在这上面投入更多精力。