TextWorld
微软开源的 RL 文字游戏训练沙盒,通过程序化生成游戏环境训练 AI 智能体的语言理解与规划决策能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
微软开源的 RL 文字游戏训练沙盒,通过程序化生成游戏环境训练 AI 智能体的语言理解与规划决策能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你给一个 AI _agent 下达指令「去厨房拿一把刀,然后回到卧室」,这个 AI _agent 能否理解指令、记住自己的位置、找到正确的房间、执行动作?TextWorld 就是这样一个专门用来训练和评估此类能力的沙盒环境——用文字游戏作为载体,让强化学习(RL)智能体在自然语言交互中学会规划、推理和决策。
图1:TextWorld 项目 Logo
TextWorld 由微软研究院 Maluuba 团队于 2018 年发布,论文《TextWorld: A Learning Environment for Text-based Games》详细阐述了其设计理念。在真实场景中训练 RL 智能体代价高昂——需要物理机器人、复杂仿真器、漫长的真实交互时间。而 TextWorld 的出现彻底改变了这一局面:它通过程序化生成文字冒险游戏,将真实世界任务的复杂度压缩到一个可控、可重复、低成本的虚拟环境中,同时保留了自然语言理解的核心挑战。
与传统的 RL 基准环境(如 Atari 游戏、围棋)不同,TextWorld 的状态空间和动作空间完全由自然语言构成。智能体不能直接读取游戏内存,必须像人类玩家一样通过阅读文字描述来理解当前状态,再通过输入自然语言命令来执行动作。这种设定完美模拟了 AI 助手在实际场景中面临的挑战:理解模糊指令、记住多步骤上下文、在开放世界中探索。
TextWorld 的设计围绕三大核心能力展开:
程序化游戏生成:TextWorld 内置了一套基于逻辑规则的文字游戏生成器。通过命令行工具 tw-make,用户可以指定房间数量(--world-size)、物体数量(--nb-objects)和任务长度(--quest-length),系统会自动生成一个完整的 Z-machine 格式文字冒险游戏。例如 tw-make custom --world-size 5 --nb-objects 10 --quest-length 5 会生成一个包含 5 个房间、10 个可交互物体、最少需要 5 步才能完成的任务。生成器背后依赖 Inform 7(一个文字冒险游戏专用语言)和 Jericho(Frotz Z-machine 解释器的 Python 封装)来完成游戏编译和执行。
Gym 风格的 RL 接口:TextWorld 提供了与 OpenAI Gym 完全兼容的 Python API,让 RL 研究者可以直接用标准的强化学习框架(如 Stable-Baselines3、RLlib)接入环境进行训练和评测。智能体每一步收到文字观测(observation)和奖励信号(score),然后输出一个自然语言动作(如 go north、take knife、open drawer)。这个接口极大降低了研究门槛——任何熟悉 Gym 生态的研究者都能在几分钟内开始实验。
标准化评测基准:TextWorld 内置了多个挑战任务(challenges),包括 CoinCollector(收集金币)、Cooking(烹饪料理)、TreasureHunter(寻宝),每个任务都有预定义的游戏规则和奖励函数。这些基准让不同研究团队的结果可以直接横向比较,推动了 RL+NLU 交叉领域的快速发展。
图2:TextWorld 系统架构与工作流程
TextWorld 的代码架构可以分为以下几个核心层次:
逻辑层(Logic Layer):通过 .twl 文件(TextWorld Logic)定义游戏世界的基本规则——哪些物体可以移动、哪些容器可以打开、哪些房间相连。这套逻辑系统基于上下文无关文法(CFG),允许开发者自定义游戏规则而无需编写底层代码。
文本生成层(Text Generation Layer):.twg 文件(TextWorld Grammar)将逻辑描述转化为自然语言文本。同一个逻辑状态可以用多种不同的文字表达(如「门是关着的」也可以说「门挡在路中间」),这为数据增强和语言多样性研究提供了天然素材。
执行层(Execution Layer):游戏编译为 Z-machine 字节码后,由 Jericho 引擎执行。TextWorld 在 Jericho 之上封装了一层观测生成逻辑,将游戏状态转换为文字描述返回给智能体,同时也负责解析智能体输入的自然语言命令并转化为游戏内部动作。
RL 接口层(Agent Interface):提供 textworld.gym 模块实现 Gym 环境接口,以及多种内置智能体实现(RandomAgent、SimpleAgent、WalkthThroughAgent)作为基线对比。
TextWorld 最适合的场景:
需要知道的局限:
TextWorld 的出现标志着 RL 研究从纯感知任务(图像、语音)向语言理解任务的关键一步。它启发了后续一系列类似项目,包括微软自己的 ALFWorld(结合文本和图像的多模态版本)、Facebook 的 LIGHT 文字冒险游戏平台等。更重要的是,TextWorld 证明了「程序化生成环境」是解决 RL 训练数据稀缺问题的有效路径——这一理念在后续的大模型训练中得到了广泛继承和发展。
对于今天的大语言模型(LLM)研究者而言,TextWorld 仍然具有参考价值:它的挑战设定(需要记忆状态、多步推理、自然语言交互)与当前 Agent 系统的核心挑战高度吻合,可以作为评估 LLM 规划能力的低成本基准。