glyphbox
一个基于 LLM 的 NetHack 代理框架,通过在安全沙盒中动态合成 Python 代码,利用高阶 API 执行复杂的地牢探索与游戏操作。
简介
Glyphbox 为大型语言模型 (LLM) 提供了一个安全且受限的沙盒环境,使其能通过 NetHack 学习环境 (NLE) 与 NetHack 3.6.7 模拟器进行交互。借由公开高阶 Python API,系统允许 LLM 通过代码合成来进行游戏状态推理、库存管理、路径搜索与战斗策略执行。该框架专为强化学习与代理行为的 AI 研究而设计,有效地弥合了原始 ASCII 屏幕输入与高阶行为规划之间的差距。用户可以部署此代理来导航复杂的地牢布局、处理多样化的战斗遭遇并优化资源管理,同时维持安全的执行边界以防止未经授权的系统访问。
-
支持 LLM 发出基于 Python 的工具调用,以实现与 NetHackAPI 的实时游戏互动。
-
实作了强化后的执行沙盒,具备严格的 AST 验证与禁止调用过滤功能,确保代码评估的安全性。
-
提供模块化的技能系统,用于将探索、近战与资源消耗等可重复使用的行为定义为异步 Python 函数。
-
与 OpenAI 和 Anthropic 等现代 LLM 提供者整合,支持在随机环境中进行复杂的决策与策略规划。
-
提供诊断工具,例如 TUI 可视化、通过 asciinema 进行的会话录制,以及用于性能评估与调试的日志分析指令脚本。
-
系统需要为所选 LLM 提供者设置 API 密钥,并通过 uv 安装标准 Python 科学依赖套件。
-
输入包括原始 24x80 ASCII 屏幕画面、消息缓冲区与内部游戏统计信息,代理程序会处理这些信息以输出可执行的 Python 代码。
-
开发者可遵循 SKILL.md 中的模板定义新的代理技能,并确保其返回包含停止原因与成功指标的特定 SkillResult 对象。
-
性能高度依赖于模型对状态 API 调用的推理能力;建议使用具备强大代码生成能力的模型,如 Claude 3 或 GPT-4。
-
执行循环受严格的信号超时限制,且禁止所有导入行为,要求代理程序依赖提供的全局变量,如 Direction、Position 与 NetHackAPI 实例。
仓库统计
- Star 数
- 8
- Fork 数
- 1
- Open Issue 数
- 0
- 主要语言
- Python
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月4日 01:46