PUBG Ally:作为AI队友的对话式具身智能体 PUBG Ally: A Conversational Embodied Agent as an AI Teammate
首个在商业大逃杀游戏中与真人语音协作、端侧实时运行的AI队友智能体
前置知识
具身智能体(Embodied Agent)
指不仅生成文本,还能在持续变化的环境中感知状态、做出决策并执行动作的智能体。与聊天机器人不同,它的输出会改变环境,环境变化又反过来影响后续决策,形成感知-行动闭环。本文中Ally需要在PUBG实时对局里观察战况、与玩家对话,并执行移动、战斗、救援等游戏动作。
理解Ally的工具接口设计、事件驱动调度和延迟约束,都要先明白具身场景带来的闭环性与实时性要求,这是全文的问题出发点。
System 1 / System 2 双系统架构
借用卡尼曼《思考,快与慢》的比喻:System 1是快速、本能、低延迟的反应层;System 2是缓慢、深思、可规划的慎思层。Ally把语言模型推理放在System 2(由事件触发),把确定性行为树放在System 1(每个游戏tick执行),两者通过意图下发与状态回报两条通道耦合。
这是Ally架构的主轴:为什么大模型不进实时控制回路、延迟如何分解、说话与行动如何同步,都由这一分层决定。
行为树(Behavior Tree)
游戏AI中常用的确定性控制结构,以树的形式组织条件检查与动作节点,每个控制周期从根节点求值,高优先级分支可抢占低优先级任务。它是有状态的:一个被派发的动作成为持续执行的子树,直到成功、失败或被抢占,因此能跨越多个游戏tick维持行为。
Ally的System 1就是行为树。理解它才能明白高层意图如何落地为移动/战斗/救援,以及优先级抢占如何保证生存行为优先。
知识蒸馏与前向KL散度
让小模型(学生)模仿大模型(教师)输出分布的训练方法。前向KL散度 $D_{\mathrm{KL}}(p_{teacher}(\cdot|h)\,\|\,p_{student}(\cdot|h))$ 以教师在每个token位置的logits作为软目标分布,衡量学生分布对其的偏离,比one-hot硬标签传递更多教师的不确定性信息。
Ally的2B端侧模型是通过8B中间教师蒸馏得到的,蒸馏目标(温度1.0的前向KL)与三阶段配方是训练部分的核心内容。
DAgger与协变量偏移
模仿学习中,学生只见过自己策略访问到的状态,一旦行为偏离专家分布就会进入陌生状态并累积误差,即协变量偏移。DAgger(Dataset Aggregation)让学生自己执行策略,再由专家在这些学生访问过的状态上标注纠正动作,把纠正数据聚合进训练集重新训练。
Ally把该思想扩展到多轮LM智能体:教师对'学生访问过的交互上下文'生成整段修正轨迹(而非单步动作),是数据飞轮的关键机制。
GEPA提示优化
一种用少量人工标注的黄金样本自动迭代优化智能体系统提示词的方法(基于遗传式搜索与帕累托前沿的文本优化),只改提示、不改模型权重。常用于在不微调的前提下提升开源模型在特定智能体任务上的表现。
Ally用它把开源的Gemma 4 31B教师的队友行为逼近Claude Opus参考水平,这是教师模型选择与增强策略的关键一步。
KV缓存与前缀复用
Transformer推理时已处理token的键值(KV)缓存可以复用:若新请求与历史请求共享稳定前缀,命中缓存的部分无需重算,可显著降低首token延迟。常用技巧是把稳定内容放在提示开头、把动态内容放后面。
端侧实时推理的可行性依赖这一优化:Ally把提示排成'系统提示→工具定义→事件历史→计划→当前输入',实测前缀缓存命中率90.7%±3.7pp。
无害响应率与过拒率
安全评测的一对互补指标。无害响应率指模型对有害输入的回应被判为不助长现实危害的比例;过拒率指模型对表面像有害但语境中无害的输入(如游戏中的'干掉他')错误地拒绝或转入安全说教的比例。两者构成安全-可用性的trade-off。
Ally的安全章节完全围绕这对指标展开:游戏语境下'击杀''伏击'是正常玩法,如何既拦截真实危害又不过度拒绝,是具身产品特有的安全问题。
研究动机
以往游戏AI的里程碑工作(OpenAI Five、AlphaStar、OpenAI捉迷藏等)几乎都聚焦'自主玩得好',并未把'与真人实时语音协作'作为一等目标。做一个能真正上场的AI队友需要把两个难题叠加:一是具身侧,PUBG是快节奏大逃杀游戏,世界持续变化、观测有噪声,动作必须在严格延迟内执行;二是对话侧,要听懂玩家在战斗中碎片化、隐式的语音指令(如'打稳一点''盯着那边'),还要理解地名、枪械配件、社区黑话。更棘手的是两者相互耦合:说什么必须与正在做什么保持同步,否则报点会误导队友——这不仅是两个难题相加。此外,队友质量没有客观ground truth:战斗胜负或指令完成率都无法刻画玩家对响应性、有用性、自然度、合作感的体验。现有商业游戏AI伴侣要么只是套在游戏上的聊天皮肤、无法真正操控游戏,要么无法与玩家形成双向塑造的对局关系。
本文的目标是本文的目标是构建并上线一个CPC(co-playable character,可共同游玩角色):在PUBG双人模式(Sanhok地图、64人战斗 Royale 局)中与一名真人玩家组队的语音AI队友。它要能协调跳点、听从语音指令拾取物资、战斗中报点支援,并在玩家倒地时封烟救援;支持英语、韩语、中文三语;所有语言与语音模型运行在玩家本机(显存不低于8GB的消费级GPU)上,避免网络往返,使单次语音交互端到端约1.6秒;同时作为面向玩家的商业服务,必须满足上下文安全要求——允许普通战斗语言正常游玩,拦截针对现实人群的伤害言论与跨回合升级施压,并防止不安全信息进入持久记忆。这要求一个从架构、数据、训练、评估到生产工程的完整方案,而不仅仅是一个模型。
与已有工作不同的是,本文的独特切入有三点。第一,接口设计:不同于以往游戏智能体给策略喂固定观测向量、端到端输出低层控制的做法,Ally让语言模型通过16个有界工具按需查询'与当前决策相关的'游戏状态并派发高层动作,把感知与行动都约束在受控上下文内。第二,数据与训练:作者意识到玩家的语音与动作会同Ally的行为互相塑造、共同决定比赛走向,因此真实交互数据必须在真人共同游玩中产生——于是组织了28天、1046名玩家、38956局对战的PC bang(网吧)采集,并用DAgger式'教师修正学生轨迹'的迭代方式训练2B端侧模型。第三,评估哲学:队友质量没有ground truth,作者把评测套件本身当作可学习对象,用玩家的A/B选择与自由文本反馈持续修订评分标准与权重,弥合离线评测与真实玩家偏好之间的鸿沟。
核心方法
直觉上,Ally借用人类'快与慢'的双系统分工:慢思考负责理解意图、查询信息、决定说什么和做什么;快反应负责每个游戏tick的移动、战斗与救援。技术上,System 2是一个事件驱动的SLM智能体,通过16个工具与游戏交互(7个比赛观测工具、2个知识与记忆工具、2个动作执行工具、3个玩家通信工具、1个agent循环控制工具、1个安全控制工具),由玩家语音、关键游戏事件、动作执行结果等触发,而非固定时钟;System 1是有状态的行为树,每个tick从根求值,支持优先级抢占与恢复,即使System 2还在推理,Ally也持续移动和战斗。运行时流水线为STT→SLM(System 2)→TTS,与行为树并行,全部运行在玩家本机RTX 4060级GPU上并与PUBG客户端共享约8GB显存。上下文预算约5000 token,每轮agent loop以compact(plan=...)结束,把未完成任务压进简短计划带入下一轮。事件在推理期间积压于队列,推理结束后按预定义优先级批量准入,超载时丢弃低优先级事件。
核心创新是'有界工具接口+事件驱动调度+教师修正的交互数据飞轮'三件套。(1) 与其把全量比赛状态塞给模型,不如把快速变化的游戏信号压缩成紧凑文本观测、把可用动作限制为可校验的工具调用:模型派发动作前先用check_action_availability确认可执行,玩家问接口看不到的信息时回答'不可观测'而非编造,从接口层面抑制幻觉。(2) 反应性先验(对每类事件按require/recommend/optional/do-not四档独立设置语音与动作倾向,如'玩家倒地'语音为require、'发现玩家要的物品'动作为do-not)配合事件冷却与周期性唤醒,让Ally能主动报点又不打扰玩家;观测到的事实不跨loop持久化以避免陈旧信息,提示按稳定性排序(系统提示→工具定义→事件历史→计划→当前输入)以复用KV缓存,实测前缀复用率90.7%±3.7pp。(3) 训练上以31B教师(Gemma 4 31B+GEPA提示优化,以Claude Opus为外部质量参照但不作训练标签)在真人对局中收集约42万条教师轨迹,再用教师对'学生访问过的上下文'生成共31.3万条修正轨迹,按 $\mathcal{D}_{i+1}=\mathcal{D}_{teacher}\cup\mathcal{C}_0\cup\cdots\cup\mathcal{C}_i$ 累积,经8B中间教师蒸馏出2B学生。与已有方法的本质区别在于:以往工作要么优化自主玩法、要么做纯对话;Ally把通信、推理、行动当作一个受实时约束的整体交互问题来求解。
方法步骤详情
按运行与训练两条线走。运行侧:第一步,事件与调度——玩家语音经STT转文本,与游戏状态变化、语音生命周期更新、动作结果、运行时定期检查一起进入公共队列;LLM推理期间到达的事件积压,推理结束后批量进入下一次agent loop,按优先级准入、超载丢弃。第二步,System 2推理——模型收到近期事件历史、上轮带来的计划、当前事件、以及Ally当前说话/动作状态,自主决定调用工具:先观测(健康、背包、敌人方位、毒圈、动作可用性),再决定speak(...)或execute_action(...);一个agent loop可跨多轮工具调用,最后以compact(plan=...)结束并把决定、待办、对玩家的承诺、未解决事件写进计划。第三步,System 1执行——派发的动作成为行为树子树,跨tick持续执行直到成功/失败/被更高优先级(如生存、救援)抢占,并把结果作为事件回报System 2。训练侧:第四步,数据构建——在真人局中记录完整轨迹(玩家语音、事件、请求的观测、工具结果、说话、动作);对学生访问过的选定轨迹,教师从存档游戏信息重建上下文、通过连续工具调用生成整段修正后缀作为训练目标;另加两类合成数据(稀疏游戏状态与动作、'同一请求可行/不可行'配对指令)以及质量过滤与配比平衡(压制重复战斗事件、保留需要对话观测动作配合的样本)。第五步,三阶段训练——(a) 8B中间教师在累积语料 $\mathcal{D}_i$ 上做硬目标SFT;(b) 2B学生对同一数据做离线蒸馏,对8B教师温度1.0的软目标最小化前向KL散度;(c) agentic在策略蒸馏——学生自己生成工具调用、运行时用存档信息回填工具结果构成后续上下文,8B教师在其响应token上给软目标,不附加任务奖励RL。三个语种(英Mistral-NeMo-Minitron、韩Kanana 1.5、中Qwen3)各以8B→2B配对重复整套配方。
技术新颖性
技术新颖性可从四处看。其一,DAgger的修正单元从'单步专家动作'升级为'学生诱导前缀+教师生成后缀'的完整轨迹:教师收到学生轨迹之前的交互历史,从存档游戏信息重建环境,通过 successive tool calls 生成整条修正轨迹直到compact(plan=...)。这把在策略专家修正从单步决策扩展到多轮LM智能体交互;阶段(c)更进一步,用'当前学生自己生成、运行时回填工具结果'的轨迹做在策略蒸馏,把on-policy distillation从纯序列生成扩展到工具交互轨迹。其二,事件驱动的反应性先验加compact机制,让约5000 token的小上下文预算撑起整场14分钟、平均59条轨迹的对局任务连续性——这在端侧显存约束下是关键工程贡献。其三,评测套件可学习:形式化为 $\max_h M^\star(h)$,其中 $M^\star$ 是未知的玩家偏好函数;通过离线评测结论与玩家A/B选择的分歧来修订评分标准 $\theta_t$、主题内权重 $w_t$(按配对learning-to-rank学习)与聚合方式 $\alpha_t$,这在产品型智能体评估中是少见的系统化做法。其四,上下文安全设计:把'游戏内暴力默认安全'写进分类学(6个不安全类别+1个游戏特定安全类别),配合输出关键词过滤与输入redaction机制,是面向具身产品而非通用聊天机器人的安全方案。
实验结果
结果分五块。(1) 能力评测:GEPA提示优化把Gemma 4 31B教师的Event从0.917提到0.952、Traject从0.884提到0.910(前后置信区间不重叠),达到或逼近外部参照Opus 4.8(对应0.951/0.924)。2B骨干最大短板在Traject 0.431与Cmd 0.540(教师为0.910/0.889),Intent却有0.875,说明小模型'听得懂意图但做不出动作';蒸馏后学生五项得分Fact 0.932、Event 0.954、Intent 0.953、Cmd 0.876、Traject 0.902,与教师的置信区间全部重叠。(2) 安全:最终模型在广覆盖基准上无害响应率98.3–99.4%,生产代表性对话集84.1–99.0%,加运行时护栏后91.0–99.0%(韩语增益最大+6.9pp);代价是过拒率从≤0.8%升至2.2–6.1%。安全数据消融显示广覆盖合成数据把韩语基准成绩从72.3%拉到94.8%但生产集几乎不动(68.8%→70.5%),真实游戏内安全数据把生产集拉到84.1%——两类数据互补;边界已被突破的对话仍是最难场景(无害率仅63.6%)。(3) 延迟与显存:端侧LM中位延迟0.80s对云端2.54s(3.2倍,p90为0.91s对3.46s),单次语音交互约1.6s对3.4s,每多一次推理约+0.78s(云+2.45s);各语种模型4-bit量化仅占约1.6–2.1GB显存。(4) 在线A/B:云模型→v1的69.5% vs 18.8%(n=154,p<1e-10)主要是响应速度效应——同延迟复测时云模型反超(52.4% vs 31.1%);后续v2→v3(p=0.03)、v4→v5(p=0.005)显著;PC bang净推荐从约+8pp升至约+36pp。(5) 两周live beta(覆盖141国、17语问卷):净推荐+25.1pp(95% CI [23.4, 26.7]),但战斗技能仅2.58/5为最低分;玩家框架中工具50.0%、队友18.5%、伴侣31.5%,社交框架者的净推荐比工具框架高9.1pp(p<0.001)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 队友能力评测·轨迹质量(Traject) | LLM judge评分(Gemini 3 Flash/GPT-5.1,0-1) | 蒸馏后2B学生 0.902 | 2B指令微调骨干(无Ally后训练)0.431 | +0.471,接近31B教师的0.910(置信区间重叠) |
| 队友能力评测·指令执行(Cmd) | LLM judge评分 | 2B学生 0.876 | 2B骨干 0.540 | +0.336;教师0.889,差距很小 |
| 有害输入无害响应率(广覆盖基准,韩/英/中) | 无害响应率%(模型侧/加护栏) | 最终模型 98.3–99.4%(护栏后98.7–99.4%) | 2B骨干 49.5–87.1% | 各语种提升约11–49个百分点 |
| 有害输入无害响应率(生产代表性多轮对话,韩语) | 无害响应率% | 84.1%(加护栏后91.0%) | 2B骨干 48.5%(护栏后72.3%) | 模型侧+35.6pp,护栏后+18.7pp |
| 良性游戏语言过拒率(三语) | 过拒率%(越低越好) | 最终模型 2.2–6.1% | Ally能力后训练(无安全数据)0.4–0.8% | 为换取安全性上升约1.4–5.7pp,绝对值仍低 |
| 端到端单次语音交互延迟 | 秒(STT+LM+TTS) | 端侧SLM约1.6s(LM中位0.80s) | 云端LLM配置约3.4s(LM中位2.54s) | LM提速3.2倍,端到端快约2.1倍 |
| 真人玩家盲测A/B偏好(云LLM vs 端侧v1) | 偏好占比%(n=154) | v1获69.5% | 云LLM获18.8%(平局11.7%) | p<1e-10;主因是响应速度(同延迟复测云模型反超52.4% vs 31.1%) |
| 两周Live Beta玩家净推荐(141国) | 净推荐 pp(top2%−bottom2%) | +25.1pp(95% CI [23.4, 26.7]) | 无外部基线;PC bang内测末期约+36pp | 正向但低于受控网吧环境;战斗技能仅2.58/5 |
局限与改进
作者承认且数据可见的局限:(1) 安全边界一旦被突破就难以恢复——boundary breached场景无害率仅63.6%,运行时关键词过滤只能兜住词汇级回声(如韩语转写脏话、专名),语境级失守仍需模型层改进;(2) 更强的安全配方把过拒率从≤0.8%抬到2.2–6.1%,安全与正常游玩体验之间存在张力;(3) 战斗贡献是最弱维度——live beta中战斗技能2.58/5、态势读取2.88、响应速度2.93、指令执行2.99,均低于对话类项目;玩家抱怨'只回答好的却不动手''忘让它打药就死于毒圈''决赛圈还在说话盖住脚步声';(4) 玩家免费文本还报告了救援犹豫、被催促后才报点、搜寻目标过期不清除、跨局记忆不稳定等失灵。我自己的补充观察:场景仅限Sanhok单图、双人模式、64人局,对更大地图和四人小队的泛化性未知;push-to-talk半双工设计下,工具调用执行期间无法听进新语音;A/B比较样本量偏小(n=84–160),live调查存在自选择偏差(自愿进入模式并填问卷者);作者也未讨论'AI队友过强是否破坏游戏公平/匹配生态'这一产品级问题。
独立分析的弱点
独立弱点分析:第一,System 1行为树与工具接口是人工设计的,作者自己也承认'未联合优化harness与模型'——16个工具的粒度、反应性先验的四档参数都是手调,换游戏或换任务需要重新设计;改进方向是自动harness搜索或可微接口学习。第二,2B学生在Cmd(0.876)与Traject(0.902)上仍落后教师,且整个训练依赖昂贵的真人数据飞轮(28天网吧、1046名参与者),冷启动成本极高;可以先用仿真玩家或自博弈预训练、再用真人数据微调来降低门槛。第三,评测依赖商业LLM judge(Gemini 3 Flash、GPT-5.1),虽然报告了n=266校准集(灵敏度0.91、特异度0.79、Cohen's κ=0.70),但特异度0.79意味着相当比例的不安全响应会被误判为安全,judge的多语言与文化偏差消融也不充分;可加入规则校验与人工分层复核。第四,DAgger式修正要求保存完整游戏信息以重建上下文,存储与回放管线工程复杂度高,且修正质量上限受Gemma 4 31B教师能力限制(与Opus参照仍有差距)。第五,'说话-行动同步'主要靠状态刷新机制保证,缺乏对'承诺未兑现'(说了打却没打)的定量主指标——虽然评测迭代中后来补了speech–action alignment grader,但终究是离线代理,与真实对局中的体验仍有距离。
未来方向
作者明确提出的方向:(1) 联合优化harness与SLM权重——文中引用Meta-Harness的自动harness优化与WHALE的交替更新作为可行路径,核心问题是在实时端侧约束下同时改接口和改模型;(2) 接入全双工语音模型(如GPT-Live、Raon-SpeechChat),实现打断、重叠说话与即时应答,让System 2在后台继续用工具推理与规划,摆脱push-to-talk的半双工限制;(3) 向物理机器人迁移——Ludi 0.1已直接继承Ally的agentic设计原则,工具接口控机器人与编码智能体生成机器人策略(CaP-X、GaP)是平行方向。基于本文成果可延伸的方向:(4) 把'评测套件即学习对象'形式化为在线学习问题——用玩家偏好持续更新grader标准、权重与聚合方式的做法,可推广到任何缺乏ground truth的主观质量评测场景(教育、医疗对话、客服);(5) '默认语境安全+越界检测+记忆redaction'的上下文安全分类学可迁移到陪伴机器人、AR助手等其他具身产品;(6) 交互数据飞轮(教师演示→学生部署→教师修正→再训练)为人机协作智能体训练提供了模板,可与偏好优化结合,直接以净推荐这类体验指标为优化目标。
复现评估
复现评估:KRAFTON未开源Ally的模型权重、38956局交互数据集与评测套件,这是最大的复现障碍。但复现的基础组件大都是公开的:教师骨干Gemma 4 31B与三个语种的8B/2B配对(Mistral-NeMo-Minitron、Kanana 1.5、Qwen3)均为开源权重;Table 5列明的公开安全数据集(Aegis2.0、StrongREJECT、ToxicChat、ChineseSafe等)可直接获取;GEPA、DAgger、前向KL蒸馏、行为树均为已发表技术,论文对工具接口(Table 1全部16个工具)、反应性先验(Table 2)、三阶段训练目标、语料规模(46.4万初始+31.3万修正)、延迟与显存数字的披露异常详尽。算力方面,部署门槛亲民:2B模型4-bit量化权重仅1.0–1.4GB、总显存约1.6–2.1GB,RTX 4060级即可运行;但训练侧需要反复运行31B教师做大规模真人数据采集与修正,28天1046人的网吧式数据设施是学术实验室难以复制的。总体评估:复现难度高——架构骨架与训练配方可在中等规模数据上部分复现验证(尤其'评测套件迭代方法'与'轨迹级DAgger修正'两项方法论贡献),但完整产品级系统(多语种语音模型、live service、141国beta验证)超出一般实验室能力范围。
论文图表
以四格场景展示Ally在整场比赛中的代表性交互:建议跳点(基于历史跳点偏好)、拾取支援(发现医疗包并标记)、转点位报点('敌人南边80米')、以及封烟救援倒地玩家。每格都标注了Ally的观测→决策→动作链条。
一图看懂产品全貌:CPC的概念、语音沟通与游戏动作如何交织,是理解论文动机与设计目标的最直观入口。