AIGC标识 AI-Native游戏开发(6):叙事图自增长

0. 系列文章导航

3句话,AI给我生成了一个galgame
AI-Native游戏开发(1):为什么选择图数据库
AI-Native游戏开发(2):角色美术生产链
AI-Native游戏开发(3):角色声音生产链
AI-Native游戏开发(4):场景与BGM生产链
AI-Native游戏开发(5):剧情台词生产链
AI-Native游戏开发(6):叙事图自增长

1. 生产的反面是选题

前五篇的每一次生产,起点都是一个明确的任务:这个角色出立绘、这节剧本配音、这章发布。任务的来源大致两类:人工指定,或上游产物链的级联推导。这套机制运转良好,但它有个隐含前提——有人知道该做什么

项目初期这不是问题:世界观刚建立,写什么都在视野内。随着叙事图增长,一个新问题浮现:世界观越大,人越记不住缺口在哪。某个配角建了人设却始终没有事件;某条信息埋了却从未被剧情利用;某两个角色共同经历了两件事却连关系边都没有——这些缺口没有任何一张待办清单记录,它们不是「没做的任务」,是「没想到的任务」。

传统创作里这个职能由作者的记性、大纲笔记和责编承担。AI Native 流水线里,我们让它由图的结构承担:缺口不在人脑里,在图的形状里——没有关系的节点、断裂的时间线、密度失衡的区域,本身就是可计算的信号

这就是自增长的出发点:生产的输入不该只是人的灵感,还应该是图算出来的结构事实。

flowchart LR G[(知识图谱)] -->|只读| A[10 种图算法检查] A -->|结构化建议<br>每项含可执行语句| J[建议文件<br>按轮次归档] J -->|逐条人工审阅| V{采纳?} V -->|通过| W[单事务写回图库<br>失败整体回滚] V -->|驳回| N[仅记录留痕] W --> G N -.-> G

闭环五步:发现(图算法)→ 提议(结构化建议)→ 裁决(人工)→ 入库(幂等写回)→ 再发现(聚焦新一轮)。AI 全程没有直接写图权——这点先按下,第 3 节展开。

2. 给世界观做体检:十种检查

自增长工具的核心是一组图算法检查,每种针对一类结构性缺口。按性质分三组看:

时间性检查:世界的时间轴连续吗

  • temporal_gaps(时间缺口):扫描事件时间线上的大间隔。角色弧里的「叙事空白期」——Day 10 之后直接跳到 Day 17,中间七天这个人从世界上消失了?未必是错(可以刻意留白),但值得被点名让作者决定:是补桥接事件,还是确认留白是有意的。
  • narrative_density(叙事密度):按时间段统计事件密度,找过密与过稀的区间。过密处玩家疲劳,过稀处节奏塌陷——节奏问题在事件层就能预警,不用等剧本写完才察觉。

结构性检查:世界的关系网健康吗

  • character_arcs(角色弧完整性):每个角色的事件序列是否成弧——有起点、有发展、有着落。检出三种病态:从未出场(建了人设零事件)、中途消失(前紧后断)、弧线不闭环(发展了没收束)。
  • implicit_relations(隐式关系):两个角色共同参与了两个以上事件,却没有任何关系边——他们显然认识,图却不知道。这是最典型的「人看不出来、图一眼看穿」:共现统计跨越全库,人脑只记得最近写的那几场。
  • event_chains(事件链断点):没有因果或时序边连接的孤立事件。事件之间的关系若全靠时间戳隐含,剧情推进时就少了显式的「因为所以」可查。
  • subgraph_connectivity(连接广度):核心角色的事件数、地点数、关系数是否与其叙事地位相称。主角连接五六个地点、配角只窝在一个场景里,如果不是人设使然,就是世界还没长开。
  • info_depth(信息深度):Info 节点按「谁知道 / 玩家知道多少」分层,检查分层分布与孤立信息——一条埋下去从未被任何实体关联的 Info,等于没有埋。
  • relationship_evolution(关系演化):人物关系是否记录了随时间的变化。第 0 天的敌人和第 30 天的敌人如果只有一条静态关系边,后续剧情想吃「关系变化」的红利时就没有依据。

统计型检查:世界的承重分布

  • scene_utilization(地点利用率):各 Location 承载的事件数——过载的地点(什么事都发生在咖啡店)与空置的地点(建了场景没人去)。
  • bridge_scenes(枢纽场景):连接三条以上人物线的高价值场景——这些是天然的「多线交汇点」,后续剧情设计的高杠杆位置。

用序章的角色走两个例子。character_arcs 扫出场名单:陆择的弧在一章内收束(轻浮日常 → 车祸 → 任务悬置),结构上完整;但小夏只出现在咖啡店一个场景块里——如果长篇规划里她应该再现而图上再无事件,检查会标记「角色弧未展开」。一条建了人设却零事件的 Character,同样逃不掉这行报告——它比任何人的记性都可靠。info_depth 则可能捞出被遗忘的资产:伊芙交付的试炼规则(六个试炼、每个约三十天)是一条天然的 Info,它挂在夹缝事件上;假如后续章节的剧本从未引用它,一条埋了没用的设定线,检查让它重新可见。

十个检查里有个诚实的细节:统计型的两种(利用率、枢纽场景)通常不产出写库建议,它们的产出是「给你看看分布」的仪表信息。不是所有检查都要变成任务——有些检查的价值就是让人看一眼世界的形状。

还有一条范围上的自我约束贯穿十种检查:只看叙事基础层,不做语义判断。检查能发现「两个角色同场出演却没有任何关系边」,但不会建议「应该是什么关系」;能发现「这段 Info 没被任何事件关联」,但不会编一段利用它的剧情。原因和第 3 节的「理由只陈述事实」一致:结构分析是可靠的是因为它是纯图查询——数节点、数边、看间隔,零幻觉;一旦让它顺手生成内容,可靠性立刻降到生成水平,而生成,生产链里有专门的 skill 在更好的语境下做。体检工具只下诊断,不开药方——药方是人和生产链的事。

3. 建议与执行分离:AI 可以提议,入库必须过人眼

检查跑完之后的产物,是落盘的建议文件:一个 JSON 数组,每项包含——来自哪种检查、优先级、理由(发现了什么结构性事实)、建议内容(补什么事件 / 建什么边)、以及一段开箱可执行的图查询语句(采用幂等的「存在则更新、不存在则创建」写法)。

五个字段各司其职,值得逐个看一眼:

  • 来源检查:这条建议从哪种算法来——审阅人可以按「我对这类检查的信任度」快速分拣(比如普遍更信任隐式关系这类硬统计,而对密度类建议多存一分怀疑)。
  • 优先级:结构问题的严重度排序——角色弧断裂通常比场景利用率异常更紧急,但最终排序权在审阅人手里,这个字段只是默认顺序。
  • 理由只陈述图上的结构事实,不编故事。「角色 A 与角色 B 共同参与 2 个事件但无关系边」是事实;「因此应该补一条旧识关系」就越界了——后者是创作判断,属于人。理由字段的纪律是:机器只报告形状,不解释意图。
  • 建议内容:人读的版本——补什么、连到哪。
  • 可执行语句:机器的版本——采纳时原样执行。

理由与内容的分离,就是事实与判断的分离——这条纪律贯穿在整个自增长工具里,也是它和「让 AI 自主写剧情」的设想之间最本质的区别。

三个设计决定值得展开:

其一,自增长工具只读图、绝不写图。 它跑十种检查、读遍全库、产出建议,然后停手。写库的是人——在治理后台的叙事审批页里逐条审阅,点通过,那段语句才被单事务执行(任何一条失败,整体回滚)。这与第 1 篇「人工审批是现实验收闭环」首尾呼应:叙事基础层是整个世界的事实底座,对它的任何修改都必须过人的眼睛——AI 的角色是提案者,不是立法者。生产链上 AI 有写权(写的是产物与状态,有级联与审批兜底);世界观层 AI 无写权(写的是「世界曾经发生什么」,错了没有状态机能救)。

其二,建议自带可执行语句,是流程效率的关键一招。 「补一条角色 A 与角色 B 的关系边」若只停在自然语言,人工执行时要自己翻 id、拼语句、防错——摩擦大到宁可不做。把「采纳」的成本压到一次确认,建议才真的会被采纳。AI 生成、人审核的模式里,降低人的裁决成本与提高 AI 的生成质量同样重要

其三,落盘留痕,防重复、可审计。 每轮建议按日期与轮次归档;每条的审阅结论(通过/驳回)单独留痕,同一条建议不会被反复端上来。驳回的记录也是资产——它标记着「AI 觉得该补、人觉得不该补」的位置,攒多了就是校准检查策略的依据。

4. 聚焦与多轮:图越大,体检越要局部

一个立刻会出现的问题:图会一直长,检查结果会不会膨胀到不可读?

会——如果每次都全图体检。所以流程设计成聚焦 + 多轮迭代:每轮体检可以传入聚焦锚点(某个角色、某个实体),检查范围收窄到锚点的一两跳邻域;下一轮默认聚焦上一轮新入库的节点——刚补进来的事件、刚建的关系,立刻检查它们与既有世界的咬合度。

这个节奏很像医疗:全身体检一年一次,专项复诊随时做。新入库的节点是最需要复诊的——它们是 AI 建议经人采纳的产物,与作者手写的实体相比,更可能有「结构合格但语境突兀」的问题,聚焦复查把这类问题拦在早期。

拿序章演示聚焦的形状。以「陆择」为锚点的一跳邻域大致长这样:

graph LR CM((陆择)) --> E1[酒店醒来] CM --> E2[骤雨车祸] CM --> E3[夹缝试炼] E2 --> L1[马路路口] CM --> L2[酒店客房] CM --> R1[顾盈] CM -.->|同场却无关系边| R2[小夏] E3 -.-> I1[试炼规则·信息] style R2 stroke-dasharray: 5 5 style I1 stroke-dasharray: 5 5

虚线标出的是这个子图里的「可疑处」(示意,实际命中以图上数据为准):与小夏同场出演却没有关系边(隐式关系检查的典型命中);试炼规则这条信息只挂在夹缝事件上、未被后续引用(信息深度检查的典型命中)。聚焦一轮,产出的建议就围绕这几处,而不是全库的几百条。

于是轮次有了自然的推进逻辑:第一轮看全局 → 采纳一批建议 → 第二轮只看新增 → 再采纳 → 再聚焦。每轮的检查范围是上一轮行动的直接后果,迭代本身成了收敛过程——图每长一截,就体检一截,而不是攒到病入膏肓再大修。落到文件上,每轮建议按「日期 + 轮次 + 主题」归档,轮次号自动接续——回头看,这份归档就是世界观的生长日志:第几轮补了哪条线、驳回了什么,全都有据可查。

5. 与生产链的回路:拒绝产出的地方,就是自增长的方向

第 5 篇留了一个扣子:提纲 skill 在事件素材不足时拒绝产出,报告缺口清单。现在接上:那份缺口清单,就是自增长检查的现成目标

两条链合起来是一个完整的心智模型:

生产链的「拒绝产出」 自增长的「结构体检」
触发 推进剧情被素材卡住 主动例行 / 按需聚焦
视角 定点:这一节缺什么 全局:世界哪里空
缺口形态 精确、带语境(本节缺 X 与 Y 的冲突事件) 统计性、跨全库(两角色共现多次却无关系边)
方向 自下而上(需求倒逼补全) 自上而下(结构引导生长)
产出 缺口报告(不写图) 建议文件(过审后写图)

前者是需求驱动的定向补全,后者是结构驱动的全局体检;一个自下而上,一个自上而下,在叙事基础层会合。作者的工作流由此变得很轻:推进剧情 → 被拒绝 → 看缺口报告 → 跑一轮自增长(聚焦该角色)→ 审几条建议入库 → 重新推进剧情。「卡住」不再意味着翻设定文档找灵感,而是跑一次图体检。

还有一条入口侧的互补工具值得一提:叙事提取器——把新写的世界观文本(角色小传、事件纪要)离线解析成实体与关系批量导入。它与自增长构成叙事基础层的进出两口:提取器管「把人的创作搬进图」,自增长管「图长完之后找下一步」。两口都通向同一张图,也都受同一套审批约束(提取器产出的导入语句同样要人过目执行)。

6. 克制的边界:为什么只动基础层

十种检查全部限定在叙事基础层——Character、Event、Location、Info、Choice 与它们之间的关系边。美术链、声音链、剧情链的生产节点,一个都不碰。为什么?

因为产物链的缺口不需要图算法来找。第 1 篇讲过:status=0 的节点就是天然的任务清单——「这个角色还没出三视图」「这行台词还没配音」,调度系统每次查询都看得见,编排代理按依赖顺序自动认领。产物层的缺口是平面清单,状态机全权负责。

叙事层的缺口则完全是另一回事:它们没有状态(世界事实无进度可言),无法被「待办查询」发现,只能被结构分析发现——角色弧断没断、关系网密不密、时间线连不连。这些判断需要跨越几十个节点的全局视野,正是人脑的短板、图算法的长板。

所以分工是干净的:进度问题归状态机,结构问题归图算法。让图算法去查「哪个立绘没生成」是用牛刀杀鸡,还引入了第二套真相来源;让状态机去查「角色弧是否闭环」则根本不可能——状态机只见节点,不见网的形状。自增长工具的自我克制(不碰生产层)不是能力边界,是架构边界的自觉。

7. 系列终章:全景与诚实的账本

六篇写完,把整套架构摊开:

flowchart TD subgraph N["叙事图(世界本身·无状态)"] C[角色] --- E[事件] --- L[地点] C --- I[信息] E --- CHO[选择] end subgraph P["生产图(四条链·status + sync 级联)"] direction LR PA[角色美术链] PV[角色声音链] PS[场景与BGM链] PL[剧情配音链] end subgraph M["治理"] AP[人工审批中心<br>10→11] ED[编排代理调度] end RT[Godot 运行时<br>纯 JSON·零图依赖] GW[自增长<br>10 种检查+建议] N ==>|事件驱动需求| P P ==>|剧情反向回灌需求| P P -->|待审 10| AP AP -->|批准 11| P ED -->|按 status 调度| P P ==>|全章就绪·投影| RT GW -.->|只读+建议| N N -.->|人工采纳写回| N

最后交一本诚实的账——这套系统里,人不可替代的位置:美术审批(气质对不对)、音色采用(像不像这个人)、定稿审(这个角色会不会说这种话)、逐句听审(这句配得好不好)、叙事建议裁决(这条线该不该补)、BGM 挑选与归档、章节发布(对外交付的门)。数一数,全是判断密集型动作——它们共同的特点是无法写成规则、也无法训练出可靠的评估器,只能由品味负责。

以及被证明不划算、已被放弃或降级的自动化:图像识别自动验收(判不了气质)、音频指标自动验收(指标全绿≠听感合格)、BGM 全自动生成(人工两分钟优于自动两天)、立绘批量备货(库存是负债)、双引擎热备(音色不可迁移,备份是幻觉)、声学标签控情绪(模型不认私有约定)、结构化剧本单人机共用格式(人不用就是僵尸)。

这份账本反过来定义了这套流水线的真实形态:AI Native 不是「AI 做完一切」,而是把人留在判断力最贵的位置上,把其他一切交给可级联、可调度、可审计的图。知识图谱存世界,AI 做生产,自动规则做能做的验收,人做最终的裁决——六篇全部机制,都是这句话的注脚。

8. 展望:自动验收还欠什么

概念稿里「图像识别查发色、音频分析查削波」的自动验收愿景,本系列一路降级到了「点状存在、主体人工」。终章交代欠账与还账的条件:

  • 图像侧:多模态模型判「图里有没有出现要求的眼镜 / 着装 / 无角色」已接近可用,可以预期先补上「硬性规格项」的自动预检(把明显不合格的拦在人工审批之前,省人的时间)——但「气质对不对」不在此列,那个位置永远是人。
  • 音频侧:技术指标(削波、静音、时长)随时可加,但真正卡脖子的「情绪到没到位、音色像不像」仍无可靠判据。在有判据之前,宁可保持诚实的人工。
  • 剧情侧:规则校验(时间冲突、地点矛盾、前置事件不满足)是图查询的天然领地,最有希望在自增长框架里长出来——十种检查已经覆盖了结构层,向一致性层延伸是自然路径;而且它与现有检查共享同一套「只读 + 建议 + 人工采纳」的骨架,新增一个检查种类的边际成本极低,这正是把自增长做成可扩展框架而非固定功能列表的回报。

自动化的还账顺序也由此清晰:先做「机器有唯一正确答案」的,后做「机器只有统计倾向」的,永远不做「只有品味知道答案」的。每还一笔账的验收标准也始终如一:它有没有真实减少人工的总时间——按这条标准,账本上每一次「放弃自动化」,都和每一次「新增自动化」一样,是这条流水线朝同一个方向的前进。

回到系列标题,那句话最终拆成了三个兑现了的承诺:知识图谱存世界(叙事图记「世界是什么」,生产图记「被做到哪了」;文件存产物,图存真相),AI 做生产(组装规格、调用生成、推进状态——按需、增量、幂等),人做判断(审批卡在错误传播半径最大的位置;AI 可以提议,入库必须过人眼)。而图算法体检让这套系统有了时间维度上的生命——发现 → 生成 → 验收 → 入库 → 再发现。AI 不再只是内容生成器,而是一个能看着自己参与构建的世界、说出「下一步该往哪里长」的系统。

世界在图里,游戏是它的投影。

系列完结。返回系列目录

posted @ 2026-09-01 23:27  CrazyJinn  阅读(3)  评论(0)    收藏  举报