问AI一个桌游规则问题,它张口就来,但你不知道它说的是真是假。浏览器游戏《The Goblin Warren》想解决的就是这件事:它的AI地下城主从不自己发明规则,每一条判定都去查、都给出引用,你还能打开追踪面板看它到底怎么判的。
这是一个D&D 5e的地牢爬行游戏。你带三名英雄——战士、法师、牧师——穿过五层地牢,用回合制的d20战斗和3D骰子打怪。标题界面点明了核心卖点:地下城主从不发明规则,每条判定都查自Sanity并附引用。下面就是你的队伍和地精、食人魔、骷髅的对峙画面,每个英雄配一张属性卡,写着AC、HP、速度和三个招牌技能。只有一个按钮:进入地牢。
走进去,先看它怎么藏东西
探索靠点击行走。视线迷雾会遮住沉睡的巢穴,直到你走近才显形。路上有小地图、金币、宝箱、陷阱,还有带风味文本的传说石碑。战斗部分给了先攻轨道、对着AC的真实d20掷骰、3D骰子,以及每个施法者各自的法术书。五层从坍塌的城门一路向下到熊地精首领的王座,每层都有自己的探索和战斗音乐。
真正的主角是地下城主和那本规则书。你问“Prone是什么效果”,得到的是带引用的答案和可点击的规则标签。规则书图谱会亮起地下城主用到的那些文档。一个开关能在SRD 2024和2014之间切换,当某条规则在两个版本间有变化时,地下城主会主动指出来。
规则数据只有一份,游戏和问答共用
所有规则内容都放在Sanity里:87条规则、33种状态、14个法术、15个怪物,2014和2024两个版本都有。游戏本身加载怪物、英雄和房间,用的也是同一份数据集,一条GROQ查询搞定。
地下城主对接两个Context MCP端点,各干各的活。KB模式负责自然语言提问,知识库由规则和状态文档构建,条目里带着版本差异标注,地下城主会把它显示成“规则有变(2014 → 2024)”。GROQ模式负责数字,每次调用都在URL上用tools=和groqFilter限定范围,只让代理看到游戏内容。
模型用的是Baseten上的DeepSeek V4.1 Flash,走AI SDK 7。规则答案大约1.3到2.2秒返回。每个答案都配一个“地下城主如何判定”面板,列出每次查找:模式徽章、KB搜索文本或GROQ查询、引用的文档和时间。
它自己抓出了六个版本冲突
D&D有两个版本,在很多小规则上互相打架。当写作者把两者混在一起时,Context会把每一处混合标记为冲突,而不是直接交给代理。它找出了六处。
其中一处是这样的:有条目说被突袭的生物掷先攻时带劣势,并引用了2014规则。实际上这是2024的规则。在2014里,被突袭意味着你第一回合不能移动也不能行动。Context把两个来源并排展示,你做的选择会成为后续构建的长期指令。
这正是这个游戏想防住的那类错误,于是它被用了起来:地下城主把知识库的版本差异注记显示成“规则有变(2014 → 2024)”提示,而且只引用某次查找真正返回过的文档。
Sanity层和地下城主的KB逻辑由Claude Code代理搭建。规则问答的答案里,每条主张都带着指回源规则的脚注——比如“生命值降到0与死亡”那条,就是每个说法都能追到出处。
热门跟贴