玩家对酒馆老板说:“北边的粮仓昨晚烧了。”老板叹了口气,说这个冬天要难熬了。三分钟后玩家想买一袋面粉,价格一分没涨;走出门,街上的人依旧在闲逛,仿佛什么也没发生。老板刚才说的每一个字,都没有落进世界里。

这是许多“会聊天的NPC”的典型状态。PA真人AI大模型方向要讨论的,是这一步之后的事:怎样从“说得像”走到“做得到、记得住、改得动世界”。

对话只是接口

把大语言模型接到NPC身上,最先获得的是表达能力:语气、方言、性格、即兴回应。但表达能力回答的是“怎么说”,不回答“为什么这么做”“做了以后世界怎样”。聊天机器人的循环是读入上下文、输出文字;游戏的循环是读取世界状态、决策、执行动作、世界更新,再被别的系统读取。

硬接在一起的后果很熟悉:NPC承诺给你钥匙,背包里却没有;说自己在赶路,坐标从没移动。

中央立方体代表世界状态,四角是对话、记忆库、计划树、工具箱模块,箭头首尾相连形成闭环。
游戏大模型不只会聊天,还要让对话、记忆、规划与工具围绕世界状态循环运转。

NPC Agent:有目标、记忆、计划和行动

让NPC从“应答机”变成“智能体”,至少要补上四样东西。

  • 目标:店主想在天黑前卖完存货,卫兵想抓住偷苹果的孩子。目标决定NPC在没有玩家搭话时还会做什么。
  • 记忆:发生过什么、谁欠谁人情、玩家上次做了什么。斯坦福2023年的Generative Agents研究给出了一个经典架构:自然语言记忆流,加上定期“反思”得出高层结论,再由检索驱动规划;消融实验显示,观察、规划、反思三个部分对角色的可信度都有贡献。需要注意,那篇论文里的智能体规模是25个。
  • 计划:把目标拆成一串可执行的步骤,并在环境变化时重排。
  • 行动:真正调用游戏里存在的动作,比如移动、交易、喊话、锁门。

行动最容易被忽略,也最能区分聊天与智能。相关观点可参考NPC越来越会说话以后,为什么“会聊天”仍然不是智能角色的终点。而长期记忆本身足以单独成篇,见AI桌游主持人长期跑团的记忆问题

工具调用:通过受控接口改变世界

工具调用的意思是:模型不能直接改写世界,它只能提交一份“想做什么”的请求,由游戏侧的接口接收、校验、执行。请求会被拒绝,比如“把粮价改成1”超出了店主的权限,或者“召唤十个守卫”超出事件预算。

{
  "tool": "adjust_price",
  "args": { "item": "flour", "delta_pct": 12, "reason": "granary_fire" },
  "actor": "npc_innkeeper_03"
}
// 规则引擎校验:权限、区间(示例:单次涨幅不超过20%)、冷却
// 通过后写入世界状态,并广播 price_changed 事件

这种结构在商业实践里也能看到。据NVIDIA技术博客,KRAFTON为《PUBG》的可协作角色PUBG Ally采用分层设计:行为树负责移动、瞄准、战斗,按游戏tick运行;语言模型负责推理与说话。角色通过“观察工具”读取实时对局状态,并把工具返回的结果当作“唯一真相”。这样战斗动作不必等模型思考,模型也不会凭想象编造对局信息。

PA真人的设计思路与此一致:模型负责“提议”,规则层负责“提交”,见PA真人AI大模型怎样同时管理NPC、玩家、地图和世界状态中的“唯一事实源”。

感知事件写入记忆目标重排工具调用世界状态更新
本文以酒馆NPC得知粮仓被烧为例,展示游戏智能体从听见消息到改变世界的最小闭环。

“世界模型”的两种含义

游戏圈里“世界模型”一词至少指两件事,混用会造成很多误会。

第一种是游戏内部的世界状态模拟:一个结构化的、可查询的、有规则约束的世界,包含实体、位置、物品、关系、任务和事件日志。NPC与玩家共同读写它,它是“世界为什么是这样”的答案。大语言模型只读取其中一个视图,提出行动建议。

第二种是生成式世界模型:根据历史画面和玩家操作,直接预测下一帧。GameNGen(2024年)用扩散模型在单块TPU上以约每秒20帧模拟DOOM;Decart与Etched的Oasis(2024年)生成类似Minecraft的画面,官方自己指出长时程记忆很短;微软研究院的Muse(2025年)基于《Bleeding Edge》的人类对局数据训练,强调一致性、多样性和持久性;DeepMind的Genie 3(2025年)可以由文字生成实时可导航的世界,720p、每秒24帧,一致性可保持数分钟,官方承认连续交互仍是分钟级。

两类模型各有位置,不能互相替代。生成式的擅长“看起来像”,但视觉记忆有限,状态难以精确维持;内部世界状态擅长“账对得上”,却没有画面。对需要数小时游玩的游戏,更现实的方向是让结构化状态承担持久与规则,生成模型承担表现。

一条完整链路:酒馆NPC得知粮仓被烧

回到开头。以下是一次示例流程,所有数值都是示例参数。

  1. 感知:玩家告诉老板“粮仓烧了”。系统不直接信任这句话,而是在世界状态里查询:粮仓实体的状态确实为“焚毁”,事件时间为昨晚。
  2. 记忆写入:生成一条事件记忆——“粮仓焚毁,来源:玩家”,重要度评分8/10(示例),并关联实体“北仓库”“老板”“玩家”。
  3. 目标重排:老板原来的目标是“卖完存货”,现在新增“保住库存、控制损耗”,优先级提升。
  4. 计划:生成三步计划:提高面粉与麦酒的价格,停止赊账,向北门卫兵打听起火原因。
  5. 工具调用:调用调价接口,涨幅12%(示例),通过区间校验;调用“暂停赊账”标记;调用“前往北门”移动指令。
  6. 世界状态变化:价格表更新,老板离开柜台,酒馆进入“无人看店”状态,相应写入事件日志。
  7. 其他NPC反应:邻近商人读取到“面粉价格上涨”的事件,触发各自的囤货目标;北门卫兵被询问后,把“可疑纵火者”的传闻写进自己的记忆,并可能传给其他卫兵。

整条链路里,语言模型出现了三次:理解玩家的话、拆解计划、润色台词,决定“能不能发生”的始终是规则层。

三类系统的对比

维度 聊天机器人NPC Agent 游戏世界模型
核心输出文字回复 动作与文字 持续更新的世界状态
是否有目标没有,被动应答有,可自主行动 不适用,服务于全体角色
记忆依赖上下文长度 记忆流、事件与关系 状态账本与事件日志
能否改变世界 不能 通过工具调用间接改变 本身就是世界的记录
评测难度 对话质量 行为可信度,难自动化 一致性与可回放性

延迟、成本与评测,仍然没有好办法的部分

延迟是第一道门槛。战斗、移动这类决策以帧为单位,不能等大模型。分层结构(实时靠行为树与规则,规划和对话交给模型,允许异步)是目前比较稳的解法。具体如何按任务分配不同大小的模型,属于游戏AI为什么越来越需要模型路由的话题。

成本是第二道:每个NPC每次决策都调用大模型,规模一大就难以承受,小模型本地化与缓存是常见方向。

评测则最棘手。非确定性系统无法用固定脚本断言对错,KRAFTON自己也坦承玩家体验最重要却最难评估,靠的是自动评测、线上A/B与大量真实玩家反馈。叙事一致性方面,2026年的NCP-Bench基准显示,主流模型在玩家刻意捣乱的互动叙事里,事实矛盾率仍在约四成到近七成之间(该基准下、单一来源),因此外部状态账本几乎是必需品。

PA真人游戏大模型研究组目前的看法,是与其问模型能不能扮演NPC,不如先划清规则层与模型各自的决定权。更多思路可在PA真人AI大模型栏目中找到,趋势层面的梳理则见AI游戏正在从智能NPC走向可以持续运行的动态世界模型