中文 ENG

Agentic World Middleware — 脑暴笔记#1

Author Lens

最开始,我只是想做一个 RAG + Agent 项目练练手。GPT 推荐了 AI DM 跑团这个方向,因为游戏天然有三个特征:规则约束强、状态连续性强、行动后果强。看到这里的时候,我突然意识到:对啊,这不只适用于跑团,它似乎可以延伸到很多 RPG 游戏里。再往前想,这不就是 B-RPG 之前基于 Creation 引擎通过堆料做出来的动态世界吗?想到这里,我脑海里瞬间冒出了《上古卷轴5》的台词:“听说你解决了奥杜因,我们总算不用天天害怕龙从天而降了。”想到这里,我真切地感到了一种激动:如果 AI 不只是让 NPC 会聊天,而是让整个世界能够记住、理解、传播并回应玩家行为,云端的通用AI能够理解人造规则,同时在长程任务中对决策和环境的变化能良好的保持一致性的话。于是过了一会,这份 draft 就出来了。

Agentic World Middleware 脑暴笔记

这不是技术方案。这是一堆还在成型的判断。很多可能会被推翻,但我想先把这个 idea 的核心动机、问题意识和可能边界写清楚。

  • 项目代号: Agentic World / WorldLayer / Mythos Runtime
  • 大概方向: Game AI Infra / RPG Middleware / Agentic World State Layer
  • 一句话定位: AI 时代下的 B-RPG 新解法:让游戏世界不只是播放预写反应,而是能够语义化地理解、记忆、传播和响应玩家行为。
  • 第一应用场景: AI DM / 单人跑团 / 文字 RPG
  • 长期想象: 可接入 RPG、CRPG、开放世界 RPG、沉浸式模拟、叙事模拟游戏的世界状态中间层
  • 核心问题: 当玩家完成某项伟业后,世界里的不同人、阵营、地点和任务线,如何以一致、可追踪、非全知的方式感知并反应?

为什么要做这个

我一开始只是想做一个 RAG + Agent 的练手项目。游戏是一个很好的场景,因为游戏天然有规则、世界观、角色、任务、状态和长程交互。RAG 可以解决通用云端 AI 如何理解特定规则和知识的问题,Agent 可以解决长程任务中 AI 如何持续执行、维护目标和调用工具的问题。

但继续想下去之后,这件事好像不只是“做一个 AI DM”或者“做一个 NPC 聊天机器人”。

真正有意思的问题是:AI 能不能改变 RPG 世界的构造方式?

过去像《上古卷轴5》《辐射4》这样的 B 社开放世界,已经很擅长制造一种“世界活着”的感觉。玩家加入某个阵营、杀死某个敌人、完成某个任务后,守卫、村民、商人、敌对势力会说出不同台词,任务线也会发生变化。

但它的底层实现机制其实是通过 Creation 引擎做充足的堆料去实现的:

玩家行为
→ 游戏事件
→ 任务阶段 / flag / global variable
→ 条件对话 / 脚本 / 场景触发
→ 世界产生预写反应

这套方法很强,也很稳定。但它的问题是:动态性被锁死在开发者提前写好的条件里。

如果开发者没有为某个复杂行为写反应,世界就不知道。
如果 NPC 没有对应台词,NPC 就沉默。
如果某个伟业影响了多个阵营,但系统没有写传播逻辑,世界就像失忆一样。

AI 时代的新机会可能在这里:

能不能在传统游戏状态系统之上,加一层 Agentic World Middleware,把玩家行为转译成结构化世界事件,再由系统自动推导影响、更新状态、传播传闻、生成 NPC 反应上下文?

这不是要让 LLM 直接接管游戏。
而是让 LLM / Agent 在一个受控的世界状态层中工作。


核心直觉

AI NPC 不是终点。
真正有价值的是 AI World。

一个 NPC 会说话,只是表演层变强了。
但一个世界会记忆、会传播、会产生结构性反应,才是 RPG 体验真正改变的地方。

我想要的不是:

玩家说一句话

NPC 用 LLM 回一句话

而是:

玩家完成一个行动

系统理解这个行动的世界意义

世界状态发生受控变化

相关 NPC 获得不同版本的信息

传闻在地点和阵营之间传播

不同角色基于自己的知识、利益和性格产生反应

后续任务、对话、价格、敌意、声望被改变

也就是说,这个项目的目标不是“更会聊天”,而是“更像一个世界”。


一些还在想的问题

  • 这个 middleware 的最小边界是什么?只管世界事件和状态,还是也管 NPC 对话?
  • 它应该叫 World Agent、WorldLayer、Narrative Middleware,还是 Agentic World Runtime?
  • 第一版是做 AI DM,还是做一个独立的村庄 demo?
  • 世界状态应该用 JSON entity tree、关系图谱,还是 event-sourcing?
  • NPC 的知识边界怎么建模?亲眼看见、听别人说、传闻、推测、误解是不是要分层?
  • 玩家行为如何被转译成标准事件?杀死敌人、救人、偷窃、谈判、背叛、完成任务,这些事件需要统一 schema 吗?
  • LLM 可以修改哪些状态?哪些状态必须由规则系统或游戏引擎决定?
  • 传闻传播要做到多复杂?是简单广播,还是按照地点、阵营、社交关系、可信度传播?
  • 如果 NPC 得到的是错误传闻,它应该怎么反应?
  • 如何避免这个系统变成昂贵、延迟高、不可控的 prompt wrapper?
  • 它最终应该是一个框架、一个服务、一个 SDK,还是一个设计范式?

它不是 NPC 聊天机器人

现在很多 AI 游戏项目都在做 NPC 对话。这个方向当然有价值,但它很容易变成一个表层 demo:

角色设定 + 当前环境 + 玩家输入 + LLM 回复

这可以让 NPC 看起来更生动,但它没有真正改变世界系统。

我更想做的是中间层:

Game Event
→ Semantic Interpretation
→ State Diff
→ Validation
→ Knowledge Propagation
→ Reaction Context

NPC Agent 可以接在它后面。
AI DM 可以接在它后面。
任务系统、阵营系统、传闻系统、对话系统也可以接在它后面。

所以它更像一个 infra:

不是替代游戏引擎,而是给游戏引擎外挂一个语义化世界反应层。

传统游戏引擎负责确定性事实:

玩家在哪里
谁死了
血量多少
物品有没有
任务阶段到哪
战斗结果是什么

Agentic World Middleware 负责软反应:

这个事件重要吗
谁应该知道
谁会害怕
谁会利用这个消息
哪个阵营会改变策略
哪些 NPC 会形成新的态度
哪些后续任务可以被打开

可能的系统心跳

一个最小可行的心跳可能是:

1. 捕获事件
玩家杀死龙 / 救下村民 / 偷走圣物 / 背叛阵营

2. 标准化事件
转成 World Event Schema

3. 解释影响
Agent 判断该事件对玩家声望、地区安全、阵营关系、NPC 态度的影响

4. 生成状态变更
系统产生 State Diff,而不是直接改写世界

5. 校验变更
Validator 检查 schema、权限、规则和事实一致性

6. 写入世界状态
通过 event log / state store 持久化

7. 传播知识
不同 NPC、地点、阵营获得不同信息版本

8. 生成反应上下文
为 NPC dialogue、quest hook、faction reaction 提供结构化上下文

这里最重要的是:
LLM 不能直接“说世界变了”。它只能提交可验证的变更。

这是它和纯 prompt 游戏的分界线。


一个想象中的例子

玩家在溪木镇外独自杀死了一条龙。

传统系统可能是:

PlayerKilledDragon = true
GuardDialogue_Dragonborn = enabled

Agentic World Middleware 想做的是:

{
  "event_type": "heroic_deed",
  "actor": "player",
  "location": "riverwood_outskirts",
  "action": "killed_dragon",
  "witnesses": ["riverwood_guard_01", "villager_lia"],
  "direct_effects": {
    "riverwood_security": "+15",
    "player_local_reputation": "+25"
  },
  "knowledge_propagation": [
    {
      "target": "riverwood_residents",
      "knowledge": "player_killed_dragon",
      "confidence": 0.9,
      "tone": "awe"
    },
    {
      "target": "whiterun_guards",
      "knowledge": "rumor_player_killed_dragon",
      "confidence": 0.6,
      "tone": "skeptical"
    },
    {
      "target": "dragon_cult",
      "knowledge": "possible_dragonborn_detected",
      "confidence": 0.5,
      "tone": "threat_assessment"
    }
  ],
  "reaction_hooks": [
    "guard_respect_dialogue",
    "bard_song_seed",
    "cult_spy_encounter",
    "merchant_discount_riverwood"
  ]
}

同一件事,不同人知道的版本不同。

村民可能说:

我亲眼看见他站在火焰里,那条龙倒下的时候,整个山谷都在震。

守卫可能说:

我听说你在溪木镇外干掉了一条龙。如果这是真的,那雪漫领确实欠你一份敬意。

邪教徒可能不会当面说什么,但开始派人跟踪玩家。

这就是“世界感知”的关键:
不是所有 NPC 同步拿到一个全知 flag,而是信息以不同可信度、不同情绪、不同利益关系进入不同角色的认知系统。


这个项目的不可替代性

这个项目有搞头,但不可替代性不来自“接大模型”。

接 LLM、做 RAG、做 NPC 回复,这些会越来越便宜,甚至会被平台化。

真正的不可替代性在于:

1. 事件抽象
把复杂玩家行为抽象成可计算、可传播、可审计的 World Event。

2. 状态边界
区分硬状态、软状态、知识状态、传闻状态,避免 LLM 随口改世界。

3. 知识边界
NPC 不是全知的。每个 NPC 只能基于自己看见、听说、相信的内容反应。

4. 传播机制
世界不是瞬间同步的。消息会沿着地点、阵营、社交关系和利益网络传播。

5. 可验证变更
所有状态更新都通过 diff、schema 和 validator,而不是直接生成文本。

6. 调试与回放
游戏开发者能知道某个 NPC 为什么这么反应,能回放世界状态变化链。

如果这些东西做出来,它就不是一个 demo,而是一个可复用的世界状态中间件。


现实里正在发生的事

这个方向不是凭空想象出来的。现在已经有一些相邻轮子:

  • NVIDIA ACE:面向游戏内 AI companion / advisor / agentic interaction,已经提供 Agent API、Chat API、RAG API。
  • Inworld:从 AI character engine 往 AI Runtime 发展,强调多模型 pipeline、实时交互、NPC 模板和开发者工具。
  • Convai:Dynamic Context、Narrative Graph、Prompt-to-Action 都已经很接近“NPC 能感知环境并按叙事目标行动”。
  • Mantella:给 Skyrim / Fallout 4 接入 LLM NPC 对话,是非常值得参考的 B 社游戏 AI mod。
  • Generative Agents / AI Town:证明多 Agent、记忆、反思、规划和社会模拟可以形成比较自然的虚拟社区。
  • Orchestrated Reality:提出 canonical JSON world state、singleton world-agent、Plan-Diff-Validate-Apply,这和我想要的世界状态层非常接近。

这些项目说明方向成立。
但它们大多集中在 NPC 交互、角色模拟、对话运行时,或者还停留在 research demo。

我想切的空位是:

面向 RPG 的、可接入游戏系统的、可验证的 Agentic World State Middleware。


第一版不要做太大

最小 demo 应该非常小:

一个村庄
5 个 NPC
3 个阵营
1 个主线事件
3 种信息传播路径
5 类状态变化
若干条 NPC 差异化反应

例如:

场景:灰石村
阵营:村民 / 商会 / 秘教
事件:玩家在矿洞中杀死怪物并救出失踪矿工
结果:
- 村民感谢玩家
- 商会想雇佣玩家
- 秘教开始警惕玩家
- 酒馆开始传播不同版本的故事
- 下一个任务入口被打开

这个 demo 的重点不是画面,而是调试面板:

World Event Log
World State Diff
NPC Knowledge Graph
Rumor Propagation Trace
Reaction Context Preview
Validator Result

别人看到这个面板,才会知道这不是“AI 在胡说”,而是一个真正有结构的世界反应层。


可以用到哪里

第一阶段:

AI DM
单人跑团
文字 RPG
Web RPG Demo

第二阶段:

独立 RPG
CRPG 原型
叙事模拟游戏
沉浸式模拟
小型开放世界 demo

更远以后:

Unity / Unreal 插件
Godot 插件
NPC Agent Runtime
World State SDK
Narrative Debugger

但不应该一开始就说“任何游戏都能接”。
更准确的第一定位是:

narrative-heavy games 的 Agentic World Middleware。

也就是那些强依赖角色、任务、阵营、世界反应和长程叙事连续性的游戏。


和 AI DM 的关系

AI DM 是一个非常好的第一个应用。

AI DM 负责:

叙述场景
扮演角色
控制节奏
处理玩家输入
生成剧情反馈

Agentic World Middleware 负责:

维护世界事实
解释事件影响
更新 NPC 认知
传播传闻
提供反应上下文
约束 AI 生成

所以结构可以是:

Agentic World Middleware

AI DM

单人跑团体验

这有一个好处:
AI DM 项目可以成为 middleware 的 showcase,而 middleware 本身又可以从 AI DM 中抽象出来,变成更通用的 infra 项目。


需要警惕的问题

这个项目容易掉进几个坑。

第一个坑是太抽象。
如果只有“AI 时代 RPG infra”这种说法,会很虚。必须有一个可以跑、可以展示、可以 debug 的小世界。

第二个坑是太像 prompt wrapper。
如果只是把一堆世界设定拼进 prompt,然后让模型生成 NPC 反应,那不可替代性很弱。必须有 schema、state diff、validator、event log、knowledge boundary。

第三个坑是泛化过早。
不要一开始就做 Unity 插件、开放世界、语音 NPC、3D 场景。第一版应该是文字世界 + 调试面板,把核心抽象打穿。

第四个坑是让 LLM 管太多硬规则。
血量、物品、死亡、位置、任务阶段这些事实应该由状态系统掌控,LLM 只负责解释意义和建议变更。

第五个坑是过度追求“真实模拟”。
真实社会传播、阵营博弈、NPC 心智都可以无限复杂。但 MVP 只需要证明一件事:同一世界事件可以产生可验证的状态变化,并被不同 NPC 以不同知识边界消费。


后续扩展

如果第一版成立,后面可以扩展很多方向:

  • NPC Knowledge Graph:每个 NPC 知道什么、相信什么、误解什么。
  • Rumor Engine:传闻按地点、社交关系、阵营渠道传播。
  • Faction Reaction System:阵营根据玩家行为调整态度、策略和任务。
  • Quest Hook Generator:世界事件自动生成后续任务入口。
  • Narrative Debugger:展示 NPC 为什么这么说、状态为什么这么变。
  • World Replay:回放整个世界状态变化过程。
  • Authoring Tool:让设计师定义事件类型、状态字段、传播规则和反应模板。
  • AI DM Integration:接入跑团系统,让 DM 不再靠上下文硬扛长期一致性。
  • Game Engine Adapter:未来适配 Unity / Godot / Unreal。

现在的项目判断

这个 idea 是有搞头的。

但它不是一个“炫技 AI 项目”,而是一个很需要边界控制的 infra 项目。
它的价值不在于生成更多文本,而在于重新定义:

AI 时代的 RPG 世界如何记忆玩家、理解事件、传播知识,并以一致、可验证、非全知的方式产生反应。

如果最后能做成,它可以支撑 AI DM,也可以支撑 NPC Agent,还可以支撑更复杂的 RPG 世界原型。

我现在的判断是:

不要造 NPC 聊天轮子。
不要造完整游戏。
先造一个小而硬的 Agentic World Middleware。

让世界先学会记住,再学会反应。
这可能才是 AI 时代 RPG 最有意思的新解法。