你有没有这 3 个项目的 GitHub 的链接呢?
Evennia的Tutorial World关卡数量
导出时间:2026/5/27 18:44:36
来源地址:https://www.doubao.com/chat/38421704207852802
消息数量:4
搜索 3 个关键词,参考 16 篇资料
有,这三个项目的 GitHub 地址如下:
1. llm_maze_agent(最像你的双模式探索)
- 地址:https://github.com/ekzhu/llm_maze_agent
- 作者是微软 AutoGen 核心成员,用 LangChain+GPT 做迷宫探索
- 核心:内部地图记忆、已知路径快速走、未知房间探索
2. ai-player(中文 MUD 自动玩家,最贴近伊万尼亚)
- 地址:https://github.com/FengYunCalm/ai-player
- 专门用于 MUD 自动遍历、走路、建地图、TCP 直连 MUD 服务器
- 指令:
/ai-player 遍历地图
3. mud-mcp(MUD 状态 ful AI 代理,VS Code 风格)
- 地址:https://github.com/Nexlen/mud-mcp
- 状态记忆、房间 / 物品 / 状态自动更新、LLM 决策、工具调用
- 适合参考:状态机、上下文管理
额外补充:更贴近 “自动解 MUD / 文字游戏” 的项目
如果你想参考自动玩 Zork / 伊万尼亚的成熟方案:
- TextWorld(微软):https://github.com/microsoft/TextWorld
- KG-DQN(知识图谱 + 强化学习):https://github.com/facebookresearch/kg-dqn
- Zork-solver:https://github.com/ronen12/zork-solver
要不要我把这几个项目里最核心的代码片段(地图存储、探索循环、Prompt 模板)抽出来,给你一页对照参考?
好吧,你把几个项目里面最核心的代码片段,抽出来,做个一页的对照啊。不要用表格的。我要发给 GPT 让它做参考。最核心的就是说他们是怎么实现这种数据驱动的,就经验驱动,而不是说代码主导的。就说能够让这个数据飞轮自己转起来,由他们这个背后的模型自己去积累经验,而不是说由这个 GPT 每次去当救火队员,遇到什么问题就去改什么代码,不停的改呀改的。
下面是一页式、无表格、可直接发给 GPT的核心代码思路汇总。
只提炼:数据驱动 / 经验积累 / 自动飞轮的关键实现,不涉及多余逻辑。
同类开源项目:数据驱动 MUD 探索核心实现(精简版)
1. 统一核心思想(所有项目都遵循)
- 代码只负责框架与护栏:循环、IO、安全限制、防止死循环、死亡保护。
- 所有策略、路径、动作偏好、房间规则都存在外部数据文件:JSON、YAML、记忆库、图谱。
- 模型通过读取经验 → 决策 → 执行 → 写入新经验形成闭环,不需要改代码。
- 经验分为未验证临时经验和验证后可信经验,只有可信部分进入正式地图。
2. llm_maze_agent 核心:地图记忆 + 探索飞轮
python
运行
# 核心数据结构:房间记忆全部存在数据里,不是代码
map_memory = {
"room_id": {
"description_sig": "...",
"exits": ["north", "south"],
"visited": True/False,
"actions_tried": [...],
"success_actions": [...],
"failed_actions": [...]
}
}
# 决策逻辑完全数据驱动
def choose_action():
if current_room in map_memory:
# 优先从未尝试动作里选
return pick_unexplored_action()
else:
# 新房间:记录并开始探索
map_memory[current_room] = new_room_entry()
# 飞轮循环
while True:
observation = get_room_text()
action = choose_action() # 基于数据决策
result = send_command(action)
update_map_memory(observation, action, result) # 写入经验
要点:
- 房间知识 = 数据,不是 if-else
- 探索越多,记忆越全,行为越智能
- 代码永不修改,只增长数据
3. ai-player 核心:MUD 路由与路径固化(最接近你的 Routing Table)
python
运行
# 全局路由表:数据驱动,代码只读不写
route_table = {
"from_room": {
"to_room": {
"path": ["north", "open door", "east"],
"verified": True,
"blind_mode_ok": True
}
}
}
# 快速移动(Blind Mode)
def goto_room(target):
path = route_table[current_room][target]["path"]
for cmd in path:
send(cmd) # 无脑执行,不探索
# 到达 frontier 后进入探索模式
def explore_room():
candidates = get_untried_commands()
action = llm_decide(candidates)
res = send(action)
save_explore_result(room, action, res) # 追加经验
要点:
- 路由表是数据,可热更新
- Blind Mode 只走验证路径
- 探索只在 frontier 发生,经验自动累积
4. mud-mcp 核心:状态记忆 + 经验回放(避免重复试错)
python
运行
# 世界状态完全数据化
world_state = {
"rooms": {},
"items": {},
"mob": {},
"action_results": {} # 动作 → 结果 的历史
}
# LLM 决策只看数据,不看代码
prompt = f"""
Current room: {room}
Verified exits: {state.exits}
Failed actions here before: {state.failed}
Successful actions: {state.success}
Choose next rational action.
"""
# 结果自动写入记忆
def update_world_state(action, result):
if "trap" in result:
mark_action_as_unsafe(room, action)
elif "move" in result:
add_verified_exit(room, action, new_room)
要点:
- 模型通过历史经验避免犯同样错误
- 不需要代码规则,失败本身就是数据
- 经验越多,决策越稳
5. 通用飞轮机制(所有项目共同的灵魂)
plaintext
1. 观察房间 → 生成场景签名
2. 查询经验数据 → 获得可行/不可行动作
3. LLM 选择动作(优先新动作)
4. 执行并获取结果
5. 把【场景 → 动作 → 结果】写入经验库
6. 达到闭环条件 → 标记为验证路径
7. 自动前往下一个 frontier
真正实现:
- 代码只跑流程,不写规则
- 规则 = 经验数据
- 系统越跑越聪明,不需要人工改代码修 bug
6. 关键工程共识(为什么他们不频繁改代码)
- 所有试探性逻辑都在 LLM 提示词 + 经验库中,不在 Python 逻辑里
- 护栏只做三件事:防死循环、防重复动作、防死亡
- 虚假因果通过多次验证过滤,不靠代码判断
- 多步谜题靠经验片段拼接,不靠硬编码步骤
- 经验可以跨会话保存,相当于持续学习
如果你需要,我可以再把上面内容压缩成超短版本(200 字以内),作为系统提示塞给 Llama 做决策指令。