Skip to content

从 D&D 到 AI 故事模拟引擎:让 NPC 自主行动,让世界记住发生过什么

Published: at 08:00 AM

从 D&D 到 AI 故事模拟引擎:让 NPC 自主行动,让世界记住发生过什么

如果把 AI 写小说理解成“给模型一个设定,让它接着写”,就很难解释为什么有些 AI 游戏能让玩家在一个世界里连续冒险数百回合,也很难解释为什么同样的模型有时能扮演一个有秘密、有立场的 NPC,有时却会让所有角色说话都像同一个客服。

《龙与地下城》(Dungeons & Dragons,D&D)提供了一个更有价值的参照。D&D 不只是奇幻世界、职业、装备和骰子。它还有一个持续运行的世界、一组需要被遵守的规则、一群有各自动机的角色,以及一位负责解释规则、扮演 NPC、控制节奏和处理玩家行动后果的 Dungeon Master(DM)。

LLM 加入之后,DM 的部分工作可以交给 AI:理解玩家意图、扮演角色、提出事件、生成场景和对白。但如果只把 DM 做成一个很长的 System Prompt,游戏很快就会遇到记忆丢失、人物性格漂移、物品凭空出现、NPC 知道不该知道的事情、规则前后不一致等问题。

真正值得研究的方向不是“让模型更会讲故事”,而是把它做成一个 AI Story Simulation Engine(AI 故事模拟引擎):程序负责保存世界事实和执行确定性规则,AI 负责理解、推理、角色扮演、提出可能性和文学表达。它既可以驱动 RPG,也可以成为长篇小说的底层创作工具。

本文重点分析已经公开的产品、开源项目和研究工作,并从中提炼 AI 系统设计方法。项目功能以公开仓库和官方文档为依据;项目自述的能力不等于经过独立测试的质量结论。

一、先区分三类产品:AI Dungeon Master、互动小说和小说工作台

它们看起来都在“让 AI 写故事”,但目标和系统边界并不相同。

类型用户做什么AI 主要负责什么系统必须维护什么
AI Dungeon Master / RPG扮演角色,描述行动DM、NPC、规则解释、场景叙述角色卡、物品、地图、任务、战斗、世界状态
互动小说选择行动或分支生成后果、分支、角色互动故事节点、选择历史、分支状态、剧情条件
AI 小说工作台设计和创作作品构思、规划、角色模拟、写作、编辑作品设定、人物弧光、情节图、伏笔、章节和版本

三类产品可以共享记忆、人物、世界和事件模型,但不能把它们的评价标准混在一起。

RPG 需要回答“玩家做了这件事,世界会发生什么”,所以规则判定、资源管理和玩家行动边界很重要。互动小说强调选择是否真正改变后续体验。长篇小说则不需要每件事都由读者选择,作者还要控制主题、叙事视角、节奏、信息披露和语言风格。

因此,AI DM 的目标不是直接等同于 AI 小说作者。一个擅长即兴回应玩家的 DM,不一定擅长构建几十万字小说的主题结构;一个擅长规划章节的 Writer,也不一定能实时处理玩家绕过预设路线的行动。

二、值得实际体验或阅读代码的产品

1. Friends & Fables:把 AI DM、D&D 5e 战斗和虚拟桌面放在一起

Friends & Fables 是目前最接近“在线 AI D&D 平台”的商业产品之一。官方介绍包含 AI Game Master、世界构建工具、战术回合制 5e 战斗、任务、地图、多人组队和语音朗读。

它的产品价值在于把几个原本分散的部分整合起来:玩家不只是和聊天机器人对话,还能在世界地图和战斗地图中行动,使用法术、物品和能力,接受任务,并与其他玩家一起参与战役。官方称 AI Game Master Franz 会根据玩家选择调整故事,并负责叙事和规则裁决。

从 AI 架构角度,值得观察的是 DM 如何把自然语言行动映射到游戏状态,以及叙事、地图、战斗和任务系统如何共享同一份 Campaign Context。商业产品的内部实现并未公开,因此不能仅凭产品页面断言它使用了哪一种 Agent 框架或记忆算法。

适合:想直接体验 AI DM 产品形态、多人 RPG 和 D&D 规则整合的人。

2. AI Dungeon:自由叙事与长期记忆机制

AI Dungeon 是较早把 LLM 用于开放式互动冒险的产品。它的特点不是严格模拟 D&D,而是让用户通过输入行动持续改变故事。

它的官方文档对记忆设计有比较清楚的说明:

这几种信息并不是同一种记忆。摘要负责保留整体进展,Memory Bank 负责找回具体事件,Plot Essentials 负责稳定的核心事实,Story Cards 负责按需注入局部知识。官方也明确指出,模型上下文长度和生成成本是记忆系统必须面对的约束。

这套设计值得借鉴的地方,是不再把“记住故事”理解成无限增加 Prompt,而是将压缩、索引、检索和常驻信息分开处理。

适合:研究开放式互动叙事、上下文管理、长期记忆产品化。

3. Narrative Engine:自托管的长期 AI Dungeon Master

Narrative Engine 是一个 MIT 许可的自托管 TTRPG 引擎,支持 OpenAI-compatible API 和本地 Ollama 模型。它面向跨多次会话的 Campaign,提供世界设定、规则文件、NPC、物品、地图和扩展机制。

这个项目尤其值得关注,因为它不只是一个聊天前端。用户可以把世界 Lore、Ruleset 和可选物品数据作为文件导入 Campaign;系统负责分块、索引和后续召回。规则文件定义 GM 的行为方式、叙事风格、NPC 行为和事件协议,记忆和世界资料则由引擎负责管理。

截至 2026 年 11 月初,仓库仍在积极迭代。近期更新包括 GM operating system 规则集、Prompt Injection 管理和 NPC/世界状态相关修正。它的具体机制应以当前代码和文档为准,不宜把 README 中的“永不遗忘”等产品措辞理解为已经解决了所有长程一致性问题。

适合:研究自托管 AI DM、可配置规则集、长期 Campaign 和本地模型接入。

4. Project Lunar:独立 NPC 心智与反应式世界

Project Lunar 是开源的本地优先叙事 RPG 引擎,而不是一个固定剧情的单体游戏。作者可以创建世界、NPC、地点和阵营,玩家通过行动经历由 LLM 叙述的冒险。

它有几个很值得研究的设计:

它还采用了偏叙事的战斗机制:不完全依赖传统 HP 和 Mana,而是让模型结合行动合理性、创造性和情境评估结果。这种设计适合强调故事表达的互动体验,但如果目标是严格的 D&D 规则模拟,就需要另外引入确定性的规则系统。

最值得借鉴的不是某一个 Prompt,而是 NPC 有自己的私有状态、知识边界和秘密计划。人物不再只是等待玩家提问的对话接口。

适合:研究自主 NPC、知识边界、事件驱动记忆和动态世界。

5. AI-GM-Engine:让 LLM 主持游戏,但不让它随意改写事实

AI-GM-Engine 的实现思路很直接:用规则规范和一个小型 Python Helper,让不同 LLM 扮演 Game Master,同时记录跨回合的世界状态。

项目将骰子、数学、记录合并和检查交给 Python Helper。Helper 负责计算,但不替 GM 决定故事。它的设计原则可以概括为:

  1. 世界不会只围绕玩家运转。
  2. 原因必须先于依赖它的结果确定。
  3. 叙述不能反过来改变已经确定的状态。

第三点尤其重要。模型可以说“你从口袋里拿出一把钥匙”,但如果状态记录中没有这把钥匙,叙述本身不应该让物品凭空出现。AI 可以描述事实,不能通过语言直接创造权威事实。

项目使用可读的存档和规则文件,支持继续 Campaign。其 README 也指出,规则文件和世界背景本身会占用上下文窗口;这说明即使使用长上下文模型,世界资料的装载和压缩仍然是工程问题。

适合:研究 LLM 与确定性代码之间的职责边界,以及如何让游戏状态可追溯。

6. NovelClaw:从互动 RPG 转向长篇创作工作区

NovelClaw 更接近长篇小说生成工作台,而不是 D&D 引擎。它将长期写作组织成会话、运行检查、稿件审阅、Storyboard 和 Memory Banks,强调写作、审核和记忆控制是持续的工作区,而不是一次性 Prompt。

它的价值在于把“生成一章”扩展成一个可检查、可继续、可复用故事状态的过程。对于小说系统,记忆不仅要供模型检索,还要让作者知道模型依据了什么、上一轮生成了什么、当前稿件和故事资料是否已经同步。

适合:研究长篇写作中的持续会话、记忆工作区和生成过程检查。

7. SillyTavern:角色卡、Lorebook 和多角色对话的可组合前端

SillyTavern 不是完整的 AI DM 或小说引擎,但它的角色卡、Group Chat 和 World Info/Lorebook 很适合研究角色扮演上下文如何组织。

它的 World Info 支持关键词触发、正则匹配,以及全局、角色、Persona 和单次 Chat 等不同作用域。生成回复时,系统会按配置顺序把匹配到的 Lore 条目插入上下文。

这是一种相对轻量的“按需上下文注入”机制:不是每次把整个世界观都发给模型,而是根据当前对话选择相关资料。缺点也很明显:关键词触发不等于理解了故事语义;如果人物状态和关系变化没有被独立维护,Lorebook 仍然可能停留在静态设定层。

适合:研究角色扮演前端、角色定义、动态 Lore 注入和模型兼容性。

三、真正的 AI 特色:从“一个模型扮演所有人”到“世界中有多个认知主体”

很多 AI RPG 的早期做法,是给一个模型一份世界设定,再要求它同时扮演 DM、主角、配角、旁白和规则裁判。这种方式启动成本低,但很容易出现角色声音趋同、知识边界混乱和剧情完全由最近一次 Prompt 决定的问题。

更有意思的做法,是把世界中的角色看作不同的认知主体。它们不一定需要各自部署一个模型,但必须有独立的状态、记忆、目标和可见信息。

1. NPC Agent 不应该只是 Character Prompt

一张传统角色卡通常包含姓名、外貌、性格、背景和说话风格。它能让模型模仿一个角色,却不一定能让角色持续地像一个人一样行动。

一个可运行的 NPC 至少需要几类状态:

状态含义示例
Identity相对稳定的身份和经历身份、职业、成长背景
Traits性格倾向和价值观多疑、重承诺、厌恶权威
Goals长期目标与短期目标保护家族、争取职位
Beliefs对世界和他人的判断误以为盟友已经背叛
Knowledge亲眼所见、听闻、推断知道仓库失火,但不知道纵火者
Relationships对其他人物的关系认知信任、亏欠、嫉妒、恐惧
Emotional State当前情绪和压力愤怒、疲惫、羞愧
Private Plans不公开的打算私下联系敌对阵营

这些字段不能全部当成永久事实。性格和经历相对稳定,目标和情绪会变化,信念可能被证据推翻,关系会受到具体事件影响。系统还需要记录每次变化的来源:是谁做了什么、NPC 当时知道什么、它如何解释这件事。

NPC 的下一步行动不应该由“当前场景需要什么剧情”直接决定,而应该从它的目标、信念、资源、风险和当前局面中推导出来。DM 可以控制叙事节奏,但不应随意替人物抹掉自己的动机。

2. 角色必须有自己的知识边界

角色一致性不仅是说话风格一致,更重要的是它不能知道不该知道的事情。

例如,A 在密室里与 B 讨论一项阴谋,C 当时不在现场。之后 C 可以通过线索、传闻或他人告知逐步获知,但不能因为模型看过完整聊天记录,就直接把秘密当作 C 的知识。

这要求区分至少四种内容:

这四种状态不能混成一份“故事摘要”。Project Lunar 的 witness filtering 是一个很具体的工程例子;在小说创作中,它还可以延伸到谣言传播、情报不对称、误会和悬念管理。

如果一个人物在没有证据的情况下突然猜中真相,可能不是聪明,而是作者和读者之外的模型上下文泄漏到了角色认知中。

3. NPC 应该能在主角不在场时行动

“世界是活的”不等于每个 NPC 每秒都要调用一次 LLM。那样既昂贵,也没有必要。

可以按事件和重要性采用不同的模拟频率:

这种分层模拟可以减少模型调用,也让“后台人物行动”有明确触发条件。比如主角离开城市三天,商会会因为债务到期采取行动;被主角拒绝的盟友可能改变立场;一个没有被及时处理的威胁可能已经造成后果。

这比让 DM 每隔几轮随意生成一个“世界新闻”更可信,因为事件有行动主体、目标、资源和因果链。

4. 多 Agent 的价值是认知和职责分离,不是 Agent 数量

在系统设计中,“一个 Agent 对应一个人物”听起来很自然,但并不意味着每个 NPC 都需要一个独立的模型实例。

可以将 Agent 分成两层:

角色层:每个重要人物有独立的角色状态、记忆、目标和知识视图。执行时可以共享同一个模型服务,通过不同的上下文和工具调用模拟不同角色。

职责层:DM/Director 负责场景和节奏;NPC Simulator 负责角色行动提案;World Simulator 负责世界事件;Rules Engine 负责规则判定;Narrator 负责叙述;Memory Manager 负责提取和检索;Continuity Reviewer 负责检查事实和因果。

这种分工比“创建几十个 Agent,然后让它们互相聊天”更容易控制。Agent 的数量应该由需要独立维护的状态和职责决定,而不是为了追求 Multi-Agent 的形式。

四、AI 叙事引擎的核心技术模块

1. Intent Parsing:把自然语言转成行动意图

玩家可能输入:“我不直接进门,先绕到酒馆后面,看看有没有人从仓库出来。”

系统需要把它理解成一组可执行意图,而不是把整句话直接交给 Narrator 自由续写:

LLM 擅长把自然语言映射成结构化意图,但不能独自决定最终状态。程序可以检查角色位置、行动成本、时间消耗和可用资源;规则系统再决定是否需要检定。

2. World State:事实由系统维护,而不是由模型“记住”

世界状态至少包括人物、地点、物品、资源、任务、阵营、时间和事件。它应该有明确的权威来源。

例如:

LLM 可以提出状态变更,例如“角色把钥匙交给守卫”,但变更应该经过验证,再写入权威状态。不能让模型在叙述里说钥匙已经交出,就自动把数据库中的钥匙删除。

推荐采用事件记录和当前状态并存的设计:

这样既能快速读取当前世界,也能解释某个状态为什么变成现在这样。

3. Memory:不要把所有历史都塞进上下文窗口

长期叙事的记忆可以拆成多个层次:

记忆层保存什么何时使用
Working Context当前场景、最近几轮互动每次生成
Episodic Memory具体事件、对话、行动结果需要回忆某次经历时
Semantic Memory世界设定、人物关系、稳定知识需要理解人物或世界时
Character Memory某个角色亲历、听闻和相信的事情NPC 做决定时
Story Summary较长时间跨度的阶段摘要跨章节或跨 Session
Canonical State物品、位置、生命状态、任务等权威事实规则判定和状态校验

这里需要特别区分“记忆”与“事实”。模型生成的摘要可能漏掉细节,也可能把推断写成事实。摘要可以帮助检索,但不能替代原始事件和权威状态。

AI Dungeon 的 Memory Bank 和 Auto Summarization、Project Lunar 的分层记忆、Narrative Engine 的长期 Campaign 管理,分别体现了产品层面的不同实现方向。

一个可行的检索流程是:

  1. 根据当前场景识别人物、地点、事件和目标。
  2. 检索相关的角色记忆、世界资料和历史事件。
  3. 过滤角色没有资格知道的信息。
  4. 将高优先级事实、近期上下文和相关记忆组装成有限 Prompt。
  5. 生成后抽取候选记忆和状态变更。
  6. 对候选记录去重、校验、关联证据,再写入存储。

Embedding 相似度只是检索手段之一。对于“谁在什么时候把戒指交给谁”这种事实,实体、时间和关系查询往往比语义相似度更可靠。

4. Plot Director:AI 负责规划,但不能把故事写成固定状态机

DM/Director 的工作不是每回合都生成一个更大的敌人,而是判断当前故事处于什么状态:

Director 可以提出若干候选事件或场景计划,再由规则、世界状态和人物动机筛选。它应该能调整计划,而不是为了完成预设大纲强迫人物做出不符合动机的行为。

小说创作尤其要允许计划被新发现改变。人物的意外选择可能比原定剧情更有价值。系统应记录计划变化和受影响的后续节点,而不是把临时生成的建议自动升级为 Canon。

5. Narrator:叙事不是状态更新的副产品

Narrator 的任务是把已确定的行动和结果写成读者能够体验的场景。它可以选择叙事视角、描写密度、句子节奏、信息披露顺序和对白潜台词。

这里应该明确分离两种输出:

同一个事件可以写成紧张的动作场景,也可以写成克制的心理描写;事实不变,叙述体验不同。

对于小说,文学质量不能被规则引擎取代。人物状态正确、事件逻辑完整,只能说明故事没有明显的结构错误,不代表文字有感染力。Narrator 需要有作品自己的 Style Sheet、叙事视角和文学目标,而不是把“准确复述模拟结果”当成唯一任务。

五、AI 与传统规则引擎应该怎样分工

D&D 式系统最容易犯的架构错误,是让 LLM 同时承担规则裁判和故事叙述。语言模型是概率性生成系统,适合处理模糊意图和开放表达,不适合成为 HP、骰子、库存、金钱和状态转移的唯一权威。

建议采用以下分工:

任务推荐执行者原因
理解玩家行动LLM自然语言意图复杂且多样
提出角色行动LLM + Character State需要结合动机、信念和情境
选择检定类型LLM 提案 + Rules Engine 校验需要理解语义,也要遵守规则
骰子与数值计算确定性代码结果必须可复现
背包、金钱、生命值数据库/状态引擎不能由叙述随意改变
NPC 知识边界数据和访问过滤防止全知视角泄漏
事件因果关系结构化事件模型 + Reviewer保证后续事件有依据
章节和场景写作LLM Narrator需要文学表达
伏笔与读者信息Story Graph + LLM 分析既有结构关系,也有叙事解释

一个关键原则是:LLM 可以提出动作和解释,但不能单方面成为世界事实的写入者。

也不应该把所有规则都写成死板的硬约束。游戏规则中的骰子、资源和战斗结果通常需要确定性;人物的动机、情绪和创意选择则需要保留弹性。系统必须区分“违反规则”和“出乎预料但合理”。

例如,一个胆小的人物在关键时刻选择牺牲自己,不能因为 Character Sheet 上写着“胆小”就被判定为不合法。系统应检查此前的经历、关系、压力和选择成本,让人物变化有依据,而不是把人物标签变成状态机。

六、研究工作给出的信号:角色模拟可能比直接续写更有效

这不只是工程师的架构偏好,也有研究工作在探索类似方向。

1. Multi-Agent Based Character Simulation for Story Writing(In2Writing 2025)

这篇论文提出一个两阶段故事生成系统:

  1. Role-play:让由 LLM 驱动的角色 Agent 按时间顺序演绎故事。
  2. Rewrite:再把角色模拟结果整理、改写,使其符合预先给定的叙事计划。

它与“根据大纲直接生成下一段正文”的常见方法不同:先让人物依据自己的角色状态互动,再把互动结果转化成符合整体结构的故事文本。论文报告称,该方法生成的故事比两个 LLM 基线方案更受评估者偏好。

值得注意的是,这并不证明角色 Agent 越多越好,也不意味着模拟出来的对话可以直接作为小说正文。它支持的是一个更具体的判断:在某些故事生成任务中,先模拟人物行动,再做叙事整理,可能比直接从大纲续写更有效。

论文:Multi-Agent Based Character Simulation for Story Writing

2. Agents’ Room(ICLR 2025)

Agents’ Room 将复杂叙事任务拆分成多个子任务,由不同的专用 Agent 协作完成。论文还发布了 Tell Me A Story 数据集和面向长篇叙事的评估方法。研究报告显示,专门化协作生成的故事在专家评估中优于基线系统。

它对工程设计的启发是:小说写作不是一个单一能力。构思、人物、情节、叙事表达和评估可以有不同的职责和中间产物。Agent 的拆分应围绕任务和输出,而不是只把一个 Prompt 复制成多个角色名称。

3. DOME(NAACL 2025)

DOME:Generating Long-form Story Using Dynamic Hierarchical Outlining with Memory-Enhancement 研究长篇故事中的动态分层大纲和记忆增强。

它的两个关键机制是:

它说明长篇故事的规划不能完全固定,也不能完全放任模型自由续写。大纲需要在较高层面保持方向,在较低层面根据新情况调整;记忆则应该能表达时间和关系,而不仅是自然语言摘要。

七、从这些项目中可以提炼出的架构

如果要构建一个既支持 RPG、互动小说,也能辅助长篇小说创作的系统,建议把底层设计成共享的 Story Simulation Core,而不是为每一种产品重新做一套记忆和人物系统。

                    Story World
       世界设定 / 地理 / 历史 / 规则 / 阵营
                         |
          +--------------+--------------+
          |                             |
   Character System              World Simulation
   人物状态与认知                  事件与环境变化
   目标 / 信念 / 关系              时间 / 资源 / 因果
   私有记忆 / 秘密计划              阵营 / 地点 / 事件
          |                             |
          +--------------+--------------+
                         |
                 Story Director / DM
            情节规划 / 冲突 / 节奏 / 行动提案
                         |
                Rules & State Engine
            规则判定 / 状态校验 / 事件提交
                         |
                  Narrative Engine
             视角 / 场景 / 对话 / 文学表达
                         |
                 Story State Update
          记忆 / 人物弧光 / 关系 / 伏笔 / 时间线
                         |
                   Next Turn

这个架构有几个重要边界:

World State 是权威事实层。 模型不能通过叙述直接改写它。

Character State 是人物认知层。 每个人物知道什么、相信什么、想要什么,应该独立维护。

Story Director 是规划层。 它决定当前有哪些值得发生的冲突和选择,但不应该替人物决定所有行为。

Narrative Engine 是表达层。 它负责把结果写得好看,而不是为了让状态字段完整而牺牲文学性。

Memory Manager 是跨回合连续性层。 它负责把事件、人物和关系变化整理成可追溯记忆,并在正确的时间召回。

同一套 Core,三种运行模式

模式输入Director 的职责输出
RPG玩家行动判断行动后果、世界响应和任务进展互动叙事、战斗和状态变化
Interactive Fiction玩家选择选择分支、生成后果和新选择分支故事与新场景
Novel Writing作者目标和章节计划推演人物行动、提出情节候选场景草稿、章节正文和审核证据

小说模式与 RPG 模式的关键区别是:RPG 以玩家行动为主要驱动;小说模式以作者的创作意图为上层约束,但允许人物模拟产生作者原先没有想到的可能性。作者可以选择、修改或拒绝这些可能性。

八、真正困难的地方:AI 叙事系统还没有解决什么

1. 长期记忆不等于长期理解

记忆库里有一条记录,不代表模型在正确的时机会检索它;检索到了,也不代表模型会正确理解它。摘要可能把“人物怀疑某人”压缩成“某人是叛徒”,一次错误写入就可能在后续几十轮不断放大。

所以需要保留原始事件、来源、时间、主体和置信状态。模型生成的摘要应当是索引和辅助材料,而不是事实的唯一副本。

2. 多 Agent 可能放大错误,而不是提高智能

如果 Writer、DM、NPC 和 Reviewer 都从同一份错误记忆出发,它们可能互相确认错误。Agent 数量增加也会带来更多上下文、更多状态同步和更多模型调用。

多 Agent 的收益必须通过任务拆分和对照评估证明。不能只看系统是否有多个 Agent,而要看它是否减少了角色知识泄漏、提高了人物行为差异、改善了长程剧情一致性。

3. 自主 NPC 不等于每个角色都要有完整人生模拟

并不是每个路人都需要独立目标规划和长期记忆。系统应根据人物重要性、与当前事件的关联程度和叙事价值分配模拟预算。否则成本会快速增长,故事也会被大量无关的后台活动拖慢。

4. 规则正确不代表故事精彩

一个完全遵守世界规则、时间线和人物状态的系统,也可能写出非常平庸的故事。模型可能不断选择最安全、最常见的情节,让所有人物趋于合理但无趣。

创意需要多种可能性、价值冲突、意外选择和审美判断。系统可以帮助发现逻辑漏洞,但不能把“没有漏洞”误当成“值得阅读”。

5. 不能把人物弧光变成固定状态机

人物的变化经常是反复的、迟缓的,甚至表面和内心相互矛盾。一个人可能已经知道自己错了,却仍然按照旧习惯行动;也可能为了某个人做出一次突破,但并没有从此彻底改变。

人物模型应该记录变化的证据和张力,而不是强迫人物按照“胆小—勇敢”“自私—无私”这样的单向标签推进。

九、如果要做一个真正有价值的 AI 小说引擎,应该先实现什么

不建议一开始就追求完整的开放世界、实时 NPC 群体模拟和多人战斗。先把几个最能影响长篇创作质量的能力做扎实:

  1. Canonical Story State:人物、事件、时间、物品、关系和世界规则有结构化记录,且每次变化都能追溯来源。
  2. Character Knowledge & Belief:人物知道什么、相信什么、误解什么分开维护,避免模型全知视角泄漏。
  3. Independent Character Goals:主要人物有自己的目标、资源、秘密和行动计划,能够在主角不在场时合理变化。
  4. Event & Causal Graph:记录事件之间的因果、依赖、触发条件和后果,支持调整大纲时发现受影响的情节。
  5. Dynamic Story Director:根据人物行动和世界变化提出新的剧情可能性,同时保留作者对关键方向的控制。
  6. Literary Narrator:把模拟结果转化为具有视角、节奏、情绪和风格的文学文本,不能退化为状态报告。
  7. Continuity & Creative Review:分别检查事实连续性、人物行为可信度和文学表达;审核结果应给出证据与修改建议,而不是只给一个分数。

评估也应该分层进行:

其中,前五项可以通过结构化测试、模拟场景和对照实验发现一部分问题;文学质量仍然需要人工阅读和判断。不能用自动指标替代作品本身。

结语:让 AI 不只是续写故事,而是参与故事世界的运行

D&D 的启发不是给小说加上等级、装备和骰子,而是把故事理解为一个持续运行的世界:人物有自己的目标,行动会产生后果,信息不会自动共享,世界不会因为主角暂时离开就停止变化。

AI 的真正特色也不只是它能生成自然语言,而是它可以在同一个系统中承担多种认知工作:理解行动、模拟人物、提出事件、检索记忆、规划冲突、解释规则和生成叙述。要让这些能力可靠协作,就必须把模型的概率性判断与程序的确定性状态管理分开。

对于小说创作,最有价值的变化可能是:先让人物基于自己的目标和认知做出选择,再让 Narrator 把这些选择写成文学。 作者不再只是让模型沿着大纲补字,而是可以观察人物之间的冲突如何产生新情节,再决定哪些变化值得成为作品的一部分。

这不是让 AI 接管作者。相反,世界模拟可以提供更多意料之外但有依据的可能性;作者仍然决定作品的主题、方向、取舍和最终表达。一个好的故事引擎应该扩大创作空间,而不是把文学创作变成一场自动执行的工作流。

参考资料与项目

开源项目

商业产品与官方文档

研究论文