RAG如何让长篇小说不崩人设、不丢设定:AI-Novel-Writing-Assistant知识库召回链深度解析
【免费下载链接】AI-Novel-Writing-Assistant面向长篇小说创作的 AI Native 开源系统,用 Agent、世界观、写法引擎、RAG 和整本生产工作流,帮助新手从一句灵感走到完整小说。AI-native engine for end-to-end novel creation — from idea to full chapters, with structured planning, worldbuilding, and agent-driven workflows.项目地址: https://gitcode.com/gh_mirrors/ai/AI-Novel-Writing-Assistant
写长篇小说,最怕的就是 AI 写到第 50 章把第 3 章的人物设定忘了:主角性格突然反转、世界规则前后矛盾、伏笔石沉大海。AI-Novel-Writing-Assistant 用一条完整的 RAG(检索增强生成)召回链解决这个问题——把世界观、角色资料、拆书结论、写法样本变成可长期复用的资产,在每一章生成前精准"想起"该记得的东西,让长篇小说不崩人设、不丢设定。
一、为什么长篇创作最需要 RAG?
大模型的上下文窗口是有限的。几十万字的小说,不可能每次生成章节都把全文塞给它。传统的"续写工具"要么靠你手动复制粘贴前文,要么让模型自己"凭印象"写,于是出现三类典型问题:
- 🎭崩人设:角色语气、动机与前期设定漂移
- 🌍丢设定:世界规则、势力关系、地点细节前后矛盾
- 🕳️丢伏笔:早期承诺读者的事再也没有下文
RAG 的思路是:把资料提前向量化入库,每次写作前用"当前章节任务"去检索最相关的片段,只把真正有用的资料放进上下文。它不是"读全文",而是"按需取记忆"。
在 AI-Novel-Writing-Assistant 中,知识库不是一个孤立的"上传文件的地方",而是一条贯穿开书、规划、章节执行、审核修复的召回链。完整说明见官方文档 knowledge-and-rag.md。
二、先把资料放进"创作资料书架"
系统把知识库定义为可复用的创作资料书架,而不是一次性上传框。你可以往里放:
| 资料类型 | 典型内容 | 召回后的作用 |
|---|---|---|
| 设定文档 | 世界规则、力量体系、势力关系 | 正文生成时保持规则一致 |
| 参考作品 / 拆书结论 | 结构、卖点、节奏分析 | 迁移写法,不复制情节 |
| 角色资料 | 背景、说话方式、关系网 | 防止崩人设 |
| 写法样本 | 风格规则、反模板表达 | 控制叙述口吻 |
| 章节事实账本 | 已发生事实、未兑现伏笔 | 保证长篇连续性 |
新手不需要一上来就配齐所有资料——知识库是增强能力,不是开书前置条件。先跑通创作流程,再逐步补资料即可。
三、召回链全景:一章正文的 5 步"记忆"过程
当章节执行开始时,系统并不是拿章节标题去搜资料,而是走一条固定的召回链:
第 1 步:按章节任务构造查询
GenerationContextAssembler.ts 会把小说标题、章节标题、章节目标、本章必须推进的内容、目标冲突、出场角色、结构化大纲组装成一条贴近本章目的的查询。查询越贴近本章目标,召回越容易命中真正有用的资料。
第 2 步:向量 + 关键词双路召回
HybridRetrievalService.ts 同时发起两路检索:
- 向量检索:擅长"语义相近但用词不同"的资料,比如你写"他变得麻木",也能召回描述主角情感封闭的设定
- 关键词检索:擅长人名、地名、专有名词,保证"青云宗宗主"这种专名不会漏
第 3 步:RRF 融合排序
两路结果按 RRF(Reciprocal Rank Fusion)算法融合打分,谁的排名都靠前,谁的融合分就高。这一设计让"语义命中"和"关键词命中"互补,而不是互相打架。
第 4 步:可选 Reranker 重排
如果配置了 reranker(默认关闭),融合结果会再经交叉编码器精细重排。它只是"增强阶段"而非硬依赖——外部服务超时时会自动 fail-open,继续用融合结果,检索不会因此中断。
第 5 步:按预算截取最终片段
默认只保留 top 8 个片段进入上下文(finalTopK可配置)。系统刻意控制数量:对长篇小说来说,准确命中当前章节任务,比一次召回大量资料更重要。无关资料塞进上下文只会增加模型噪音。
四、资料来源分层:本书事实永远优先
这是防"崩设定"最关键的一条设计。RAG 召回的资料不是平权的,系统按可信度分了 6 层:
| 层级 | 示例 | 使用原则 |
|---|---|---|
| 本书事实 | 已写章节、事实账本、角色状态 | ⭐ 最高优先级,不被外部资料覆盖 |
| 本书规划 | 书契约、宏观故事、卷战略 | 指导下一步写作目标 |
| 用户资料 | 上传知识库、世界样本 | 补充事实和设定 |
| 拆书结论 | 参考作品结构、卖点分析 | 迁移方法,不复制情节 |
| 写法资产 | 风格规则、反 AI 规则 | 控制表达方式 |
| 临时对话 | 当前轮输入 | 只影响当前任务,长期生效需落库 |
核心规则一句话:外部资料用于补充,不用于推翻已经写入小说状态的内容。比如知识库里的参考角色再出彩,也不能压过本书角色的当前状态;参考资料里的世界规则再详细,也不能覆盖本书已建立的世界设定。
五、闭环才是长篇生产链的灵魂
召回链不只"取",还要"回"。每章执行完成后,系统会把新事实、角色变化、伏笔状态和质量问题回灌入账本:
- 自动导演准备书级、世界、角色和章节任务
- 章节执行读取这些资产 + RAG 召回资料
- 正文生成后提取事实、角色资源、伏笔变化
- 状态提交与账本同步写回项目
- 下一章读取新状态继续生成
这就是长篇生产链和一次性文本生成的核心区别——资料是活的,越写越"记得住"。
六、知识库"没生效"时的 6 步排查清单
如果你发现召回不命中,按这个顺序查,基本能定位问题(完整调试路径见 knowledge-and-rag.md):
- ✅ 确认文档上传成功
- ✅ 确认索引任务完成(上传 ≠ 可检索)
- ✅ 确认向量库可连接
- ✅ 用知识库的召回测试,验证能否被命中
- ✅ 检查文档标题、摘要是否包含角色名、地点名、设定名
- ✅ 检查当前章节任务是否真的需要这份资料
判断口诀:单文档召回能命中、但章节没用到,问题在章节任务查询或上下文组装;单文档召回也不命中,问题在索引、分块或关键词。
七、给新手的上手路径
- 📌 先创建小说跑通主流程,知识库可以后配
- 📌 上传资料前:一份文档只放一类内容、标题写清用途、参考作品/世界设定/写法样本分开存
- 📌 用召回测试验证资料可被找到,再绑定到具体小说
- 📌 不用用的资料及时归档,减少干扰召回
相关源码与文档延伸阅读:
- RAG 服务模块:server/src/services/rag/
- 召回链官方说明:docs/public/flow/knowledge-and-rag.md
- 知识库模块文档:docs/public/modules/knowledge-base.md
- 上下文组装设计:docs/wiki/rag/knowledge-and-context-assembly.md
RAG 的目标是让系统知道更多,而不是让外部资料拥有最高决策权。理解这条"召回—分层—预算—回灌"的完整链路,你就拿到了长篇小说不崩人设、不丢设定的钥匙。🔑
【免费下载链接】AI-Novel-Writing-Assistant面向长篇小说创作的 AI Native 开源系统,用 Agent、世界观、写法引擎、RAG 和整本生产工作流,帮助新手从一句灵感走到完整小说。AI-native engine for end-to-end novel creation — from idea to full chapters, with structured planning, worldbuilding, and agent-driven workflows.项目地址: https://gitcode.com/gh_mirrors/ai/AI-Novel-Writing-Assistant
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考