知识与 RAG 召回链
知识库、拆书、写法引擎、世界样本和角色资料不是孤立模块。它们会在不同阶段进入自动导演和章节执行上下文,帮助系统保持设定、风格和长篇连续性。
哪些资产会被使用
| 资产 | 主要用途 | 常见进入阶段 |
|---|---|---|
| 知识库文档 | 事实资料、设定、参考文本、用户上传资料 | 章节执行、拆书复用、创作中枢问答 |
| 拆书结果 | 作品结构、人物、卖点、节奏、写法经验 | 开书方向、写法参考、章节上下文 |
| 写法引擎 | 叙述风格、语言规则、反模板表达 | 正文生成、审核、修复 |
| 世界样本 | 世界规则、势力、地点、边界 | 世界搭建、章节上下文 |
| 角色库 | 角色基础信息、形象资产、关系 | 角色生成、章节上下文、漫画工坊 |
| 伏笔/事实账本 | 已发生事实、读者承诺、未兑现伏笔 | 章节执行、审核、状态回灌 |
资料来源分层
RAG 不是一个单独资料池。不同资料的可信度和用途不同:
| 层级 | 示例 | 使用原则 |
|---|---|---|
| 本书事实 | 已写章节、事实账本、角色状态、世界状态 | 最高优先级,不能被外部资料覆盖。 |
| 本书规划 | 书契约、宏观故事、卷战略、章节任务 | 指导下一步写作目标。 |
| 用户资料 | 上传知识库、世界样本、专门设定文档 | 用于补充事实和设定。 |
| 拆书结论 | 参考作品结构、卖点、人物和写法分析 | 迁移方法,不复制情节。 |
| 写法资产 | 风格规则、反 AI 规则、样本文本特征 | 控制表达方式。 |
| 临时对话 | 创作中枢当前轮输入 | 只能影响当前任务,长期生效需落库。 |
[!CHECKPOINT] 本书事实优先
如果外部知识库资料和本书已发生事实冲突,章节执行应优先遵守本书事实。参考资料用于补充,不用于推翻已经写入小说状态的内容。
RAG 在哪些阶段使用
| 阶段 | 是否使用 RAG | 说明 |
|---|---|---|
| 候选方向 | 可能使用拆书/资料摘要 | 用于理解题材、读者期待和参考方向。 |
| 书契约 | 主要使用候选和宏观故事 | 关键目标来自用户选择,不应被外部资料覆盖。 |
| 世界搭建 | 可能参考世界样本和知识库 | 帮助生成规则、势力和地点。 |
| 角色生成 | 可能参考世界、题材和角色资产 | 角色必须服从本书方向。 |
| 卷战略 | 使用书契约、宏观故事、角色阵容 | RAG 只作辅助,不替代主线规划。 |
| 节奏板/章节清单 | 使用卷战略和章节任务资料 | 重点是结构一致性。 |
| 章节执行 | 明确使用任务驱动 RAG | GenerationContextAssembler 会根据章节目标构造查询并召回资料。 |
| 审核/修复 | 使用章节 runtime package | 修复器读取写作上下文、审核问题和 RAG 片段。 |
阶段召回重点
| 阶段 | 更应该召回什么 | 不应该让什么主导 |
|---|---|---|
| 候选方向 | 题材趋势、读者期待、拆书卖点、用户明确参考 | 不应让参考作品直接决定新书主线。 |
| 世界搭建 | 世界样本、设定文档、地点/势力资料 | 不应把世界样本原样复制成新书设定。 |
| 角色生成 | 本书方向、世界边界、角色库经验 | 不应只按参考作品角色模板套壳。 |
| 卷规划 | 书契约、宏观故事、已定角色关系 | RAG 只能辅助,不应覆盖卷级承诺。 |
| 章节细化 | 卷窗口、节奏节点、章节范围 | 不应用外部资料跳过节奏板。 |
| 正文生成 | 当前章节任务、本书事实、必要外部资料、写法规则 | 不应召回大量无关资料塞满上下文。 |
| 审核修复 | 正文、任务单、审核问题、本书约束 | 不应因为参考资料不同就改掉本书事实。 |
章节 RAG 查询如何构造
章节执行不是用章节标题直接搜资料。系统会根据章节任务组装查询:
- 小说标题。
- 章节标题。
- 章节目标。
- 章节期待。
- 本章必须推进内容。
- 目标冲突。
- 出场角色。
- 结构化大纲。
这些信息来自章节任务单和上下文包。查询越贴近本章目标,召回越容易命中真正有用的资料。
向量检索与文本检索
| 检索方式 | 适合内容 | 常见问题 |
|---|---|---|
| 向量检索 | 语义相近但用词不同的资料、长文档、拆书结论 | 文档未索引或向量库不可用时无法命中。 |
| 文本检索 | 人名、地名、专有名词、固定术语 | 用户没有写清关键词时可能漏掉。 |
| 混合召回 | 同时需要语义和关键词 | 需要合理的文档标题、分块和元数据。 |
分块和元数据为什么重要
知识库不是上传文件就一定能召回。分块、标题、摘要和元数据会影响命中:
| 信息 | 影响 |
|---|---|
| 文档标题 | 帮助识别资料主题和来源。 |
| chunk 文本 | 决定向量语义和文本检索命中。 |
| facets | 让题材、卖点、角色名、章节锚点等过滤更精确。 |
| source type | 区分上传文档、拆书发布、世界样本等来源。 |
| document version | 避免同名资料混在一起。 |
资料越长,越需要清晰标题和稳定分块。百万字原文如果没有可靠索引,章节执行只会看到有限片段。
知识库不命中时怎么查
- 确认文档上传成功。
- 确认索引任务完成。
- 确认 Qdrant 可连接。
- 查看单文档召回测试。
- 检查文档标题、摘要和关键段落是否包含角色名、地点名、设定名。
- 检查当前章节任务是否真的需要这份资料。
[!WARN] 召回不是越多越好
把无关资料塞进上下文会增加模型噪音。对长篇小说来说,准确命中当前章节任务,比一次召回大量资料更重要。
召回过多时怎么处理
| 现象 | 可能原因 | 推荐处理 |
|---|---|---|
| 章节写偏到参考作品 | 参考资料权重过高或任务单过弱 | 强化章节任务和本书事实,减少参考召回。 |
| 模型复述资料摘要 | 召回片段太长或缺写作目标 | 收窄查询,保留与本章冲突相关的片段。 |
| 角色行为像参考角色 | 拆书角色信息未转成可迁移规则 | 使用写法/结构结论,避免直接召回人物细节。 |
| 专名混入正文 | 文本检索命中源作品专名 | 审核和反 AI 规则应拦截专名泄露。 |
| 当前设定被外部资料覆盖 | 本书事实优先级不清 | 检查上下文包中本书状态是否完整。 |
写法资产如何进入正文
写法引擎通过 style binding 进入章节上下文。章节执行会把绑定的写法档案、可迁移风格规则和反 AI 约束放进 context package。生成后还会检查是否泄露源作品专名、地点、标题或标志性桥段。
写法资产适合解决:
- 叙述口吻不稳定。
- AI 味太重。
- 章节语言和目标类型不匹配。
- 参考作品的写法经验需要迁移。
写法资产不适合直接复制参考作品内容。它应提取可迁移规则,而不是复刻专名和桥段。
拆书结果如何复用
拆书结果发布到知识库后,可以作为后续创作召回资料。适合复用的内容包括:
- 题材卖点。
- 人物弧线。
- 章节节奏。
- 读者期待。
- 世界规则。
- 写法特征。
拆书结论进入后续章节时,应服务当前小说,不应强行把参考作品情节搬进新书。
调试路径
当用户说“知识库没生效”时,按这个顺序查:
| 步骤 | 看什么 | 判断 |
|---|---|---|
| 1 | 文档是否存在 | 不存在说明没有上传或被归档。 |
| 2 | 索引状态 | 未完成索引时不应期待向量召回。 |
| 3 | 单文档召回测试 | 能否用明确关键词命中。 |
| 4 | 当前章节任务 | 任务是否真的需要这份资料。 |
| 5 | 上下文包 | RAG 片段是否进入生成上下文。 |
| 6 | 审核报告 | 是否因为冲突被后续审核/修复压掉。 |
如果单文档召回能命中,但章节执行没有使用,问题通常在章节任务查询或上下文组装;如果单文档召回也不命中,问题通常在索引、分块、标题或关键词。
与章节执行的优先级
| 冲突场景 | 优先级 |
|---|---|
| RAG 资料和已写章节冲突 | 已写章节和事实账本优先。 |
| 写法规则和章节任务冲突 | 章节任务优先,写法规则调整表达方式。 |
| 拆书结论和本书角色冲突 | 本书角色状态优先。 |
| 世界样本和本书世界冲突 | 本书世界优先。 |
| 用户当前明确指令和旧资料冲突 | 当前指令可触发修订,但需要落库后才长期生效。 |
RAG 的目标是让系统知道更多,而不是让外部资料拥有最高决策权。
维护规则
新增会进入章节上下文的资料来源时,要说明它属于本书事实、规划资产、用户资料、拆书结论、写法资产还是临时对话。没有优先级说明的资料来源,容易在生成时覆盖本书事实。
如果资料来源会影响审核或修复,也要说明它在质量判断中的权重。 这样后续排查召回问题时,才能判断资料是缺失、过量还是优先级错误。
资产闭环
章节执行完成后,系统会把新事实、角色变化、伏笔状态和质量问题回灌。后续章节再组装上下文时,会读取这些状态。
闭环路径是:
- 自动导演准备书级、世界、角色和章节任务。
- 章节执行读取这些资产和 RAG 资料。
- 正文生成后提取事实、角色资源和伏笔变化。
- 状态提交和账本同步写回项目。
- 下一章读取新的状态继续生成。
这就是长篇生产链和一次性文本生成的核心区别。