玩家在 VR 里对着一位铁匠说“这把剑不太行”,这可能是吐槽,可能是想退货,也可能是在暗示“帮我换一把”。如果系统把它当成指令,铁匠立刻把玩家背包里的剑熔掉,那这次对话的代价就不是“回答不准”,而是存档级别的事故。语音入口打开以后,NPC 系统面对的第一个问题不是怎么答,而是这句话该不该触发任何游戏动作。
为什么不能每句话都交给云端大模型
云端大模型的语义理解确实更强,但它的端到端延迟并不稳定。2026 年围绕 VR 语音代理的研究里,实测区间大约在 1.42–2.90 秒之间,还没算上语音识别与语音合成的排队。在屏幕游戏里,这种等待可以用“思考中”气泡遮住;在 VR 里,NPC 就站在你面前,两秒多的沉默会被身体直觉解读为“它没在听我”。相关研究同时提到,回应节奏不自然、前后不一致会直接破坏沉浸感,玩家很看重表达自由,但前提是回应可信。
所以一个可用的设计不是“大模型不够快,等它变快”,而是承认大部分话根本不需要大模型。“开门”“把火把点上”“跟我走”这类话,本地一个几十兆的小分类器就能在几十毫秒内判定;只有“你为什么背叛了旧王国”这类开放话题,才值得为它付出一两秒。
三层判断:先分流,再定位,再决定要不要问
我们更倾向的处理链是:语音转写 → 本地意图分类(闲聊 / 剧情提问 / 游戏指令 / 元指令)→ 若为指令,做槽位填充(动作、对象、数量)→ 计算置信度与执行代价 → 执行、确认、追问或降级为闲聊。
这里有一个容易被忽略的点:分类器输出的置信度必须和“执行代价”分开看。同样是 0.7 的置信度,“把灯打开”执行错了顶多再关一次,“把这个任务放弃”执行错了可能丢掉一条任务线。置信度是模型对自己的判断,代价是游戏对这次误判的容忍度,两者相乘才是该不该多问一句的依据。
误触发的代价表
设计确认策略时,先把指令按“可逆性”排一遍,比调阈值更有用。
| 指令类型 | 误触发后果 | 建议策略 |
|---|---|---|
| 开关、移动类 | 可立即撤销 | 置信度过线直接执行,事后可说“不是这个” |
| 交易、赠送类 | 损失资源但可赎回 | 复述一遍再执行,如“十枚银币换这把短剑?” |
| 放弃任务、销毁物品类 | 不可逆 | 无论置信度多高都需要明确确认 |
| 闲聊、感叹类 | 无状态变化 | 不进入指令通道,交给对话模型 |
澄清追问要像角色,而不是像客服
低置信度时最差的做法是弹出一句“请重复您的指令”。NPC 的追问应该带着世界观和身体动作:铁匠停下锤子,抬眼问“你是想让我改这把,还是干脆重打一把?”这种追问一次只问一个二选一的问题,并且把候选项直接说出来,玩家用一个词就能回答。研究里提到开放式交互会提高玩家的认知负荷,追问设计的目标就是把开放输入重新收窄成一个很小的选择。
另一个细节是追问的次数上限。假设玩家连续两次回答都没能让系统确定意图,第三次就应该放弃追问,让 NPC 以角色身份说一句“你要是想好了再叫我”,而不是继续盘问。连环追问的破坏力,不亚于一次误触发。
与空间信息、长期记忆的耦合
意图判断很少只靠一句话。“把那个给我”既是指令,又缺一个宾语,宾语要靠视线和手部指向来补,这一部分放在物品指代与视线解析里展开。同样,“像上次那样”能不能被理解成指令,取决于 NPC 是否记得上次发生了什么,这就要依赖长期记忆的检索结果。也就是说,意图分类器的输入不应只是转写文本,还应包括当前视线目标、手中物品和最近几轮对话摘要。
一份落地时的自查清单
金沙娱乐在 AI VR 方向上的设计思路,是把“能听懂”拆成可以单独度量的几项,而不是只看整体满意度。可以逐项检查:本地分类的耗时是否稳定在一百毫秒以内;高代价指令是否全部走了确认;一次追问平均需要玩家说几个字才能解决;误触发之后玩家用几句话能撤销;被判为闲聊的指令类话语占多少。这几个数比“识别准确率 95%”更能告诉你,玩家是否真的敢对 NPC 放心说话。如果想看更宏观的沉浸感视角,可以对照NPC 感知玩家所处空间那篇的思路。