
事件→扩散:一种叙事原子的工程化模型
在个人看来,事件→扩散模型可以作为叙事原子的工程化表达。
一、事件的正式定义
事件 = 任何对背景信息层产生扩散(写入状态)的节点。
判断标准:是否有状态写入——不是从后果反推,而是正向判断该节点是否改变了背景信息层中的任何字段。
此定义的特点:
- 主体不限:角色行为、自然事件、偶然事件均可
- 不要求意图:地震不是角色意图,但它改变世界状态
- 不要求选择分叉:放弃本身也是状态写入
- 不纠结变化大小:只看是否有新状态写入
以此绕过了叙事学中事件的三个经典争议:变化说、选择说、意图说。
二、扩散机制
事件(Event):发生了什么 叙事的最小行为单元。一个事件是可执行的动作,携带角色、背景等参数信息。
扩散(Diffusion):结果如何 事件完成后,结果向背景信息层传播。扩散不是叙事终点,而是连接事件与事件的因果桥梁。
背景信息层(Context Layer) 每个故事都有角色背景、事件背景、世界观背景等信息。事件完成后,对应结果扩散到对应背景内,影响下一事件的发生。
实例说明: A 对 B 说出"我喜欢你" 扩散到关系层:B 对 A 的关系状态 = 羞涩接受 影响下一个事件:B 回答"才不是因为可怜你才答应的"
三、骨骼与渲染:双层架构
骨骼层(事件→扩散→事件→扩散→……) 叙事者通过事件链推进故事行为。每个事件的扩散结果写入背景状态,触发或约束下一事件。这是叙事的因果骨架——删则断裂。
渲染层(留白、描写、氛围、抒情、闲笔) 删而不影响因果链的内容属于渲染层。渲染寄生在事件间隙——存在于上一事件的扩散已完成、下一事件尚未触发的时间窗口。其功能不是推进剧情,而是控制叙事节奏。
事件+扩散负责"发生了什么",渲染负责"怎么发生的"。
四、删则检验的精确化
检验对象不是文字本身,而是世界背景的状态条目。
判断流程:读取一段文本 → 识别是否有信息写入世界背景字段 → 该字段在后续事件中是否被引用?是=事件分量,否=渲染分量。
以下雨为例:
- 若下雨导致角色无法出门进而触发下一事件 → 下雨必须写入世界天气状态字段 → 事件分量
- 若下雨仅是背景氛围描写,无后续因果依赖 → 不写入 → 渲染分量
同一段文字中事件与渲染可共存:窗外下起了雨中,天气状态变更是事件分量,雨声描写是渲染分量。
五、世界背景的工程化表达
参考酒馆(SillyTavern)世界书框架,采用结构化自然语言条目。
条目结构:key(触发键)/ content(自然语言状态)/ priority(优先级)/ triggers(触发条件)
在模型中的作用:事件执行 → 扩散写入条目 content → 下个事件触发时匹配条目注入 AI 上下文 → AI 基于世界状态生成渲染层。
与酒馆的根本区别:动态膨胀。世界背景不是预设的静态结构,而是随着叙事推进持续膨胀和演化的活体系统。膨胀来源分为事件扩散自动变化和作者人为操作两部分。
六、故事时间与叙事时间的分离
事件→扩散模型描述的是故事时间(histoire)——因果依赖不因叙事技巧而改变。倒叙、插叙、多线并行等属于叙事时间(recit)层面的操作。
因此核心模型无需修改,只需增设呈现层:底层因果图按故事时间排列,上层呈现顺序控制叙事时间编排。
- 倒叙:因果链不变,上层标记为倒序展示
- 插叙:插叙段作为独立子事件链,挂载到主链间隙
- 多线并行:多条因果链各自推进,交叉点标记同步依赖
- 嵌套叙事:内层故事作为外层事件节点的子图
本文由 AIGC 调研生成,仅做研究笔记和参考,真实性需要自行考证。