TactiNavi:为商用游戏 LLM 教练显式建模策略适用条件
TactiNavi: Serving and Revising an LLM Game Coach with Explicit Strategy Conditions
一篇少见的线上 LLM 系统实战复盘:游戏教练把策略适用条件做成显式包,正确率从 57.9% 拉到 82.0%,还踩出发布验证的坑
TactiNavi 是一套服务于商用开放世界游戏 LLM 教练的部署系统,将策略适用性做成离线编译、在线执行、故障诊断和发布各环节共享的显式产物。离线编译器把带版本的游戏证据和专家指引编译成含前提条件的策略包,服务平面在结构化玩家状态上对条件做三值求值并记录决策轨迹。在覆盖三个部署周期、共 1,122 条教练对话的回溯评估中,带条件的策略包把正确率从原子事实的 57.9% 提升到 82.0%,玩家状态变化下的策略误用率从 18.1% 降到 10.4%。基于轨迹的声明验证精确率达 86.4%,中位回复延迟 2.07 秒。部署还发现多数表面修复只是生成噪声:未改动的系统重跑能恢复 38.4% 的失败回合,15 个已发布修订单元中只有 1 个能回溯通过发布检查。
TactiNavi: Serving and Revising an LLM Game Coach with Explicit Strategy Conditions
A deployed LLM coaching agent answers requests whose correct response depends on player state and game version, so advice that is right for one player can be wrong for the next. We describe TactiNavi, the serving system behind the LLM coach of a commercial open-world game, which makes strategy applicability an explicit artifact shared by offline compilation, online execution, failure diagnosis, and release. An offline compiler turns versioned game evidence and expert guidance into strategy packages with explicit prerequisites, the serving plane evaluates those prerequisites as three-valued conditions over structured player state and records decision traces, and a control plane uses the resulting condition-rule dependencies to validate revisions on held-out traffic before release. In a retrospective evaluation of 1,122 logged coaching turns from three deployment periods, condition-bearing packages raise correctness from 57.9% to 82.0% over atomic facts and reduce strategy misapplication under changed player state from 18.1% to 10.4%, while trace-based claim verification reaches 86.4% precision at a median reply latency of 2.07 s. The deployment also showed that most apparent fixes are generation noise, because an unchanged-system rerun recovers 38.4% of failing turns and only one of 15 shipped revision units passes the release checks retrospectively. We distill these results into lessons on treating applicability as a first-class serving object, sizing traces for later diagnosis, and building the null model into the release path.