首页 文章 精选 留言 我的

精选列表

搜索[LLM],共5767篇文章
优秀的个人博客,低调大师

糖糖写作在AI写作中解决LLM 长篇一致性的三种工程解法:微调、RAG、结构化台账

## 一、先定义问题:什么叫"一致性" "一致性"被说得太笼统,落到可测的层面,其实是四件事: |类型|具体表现|判据| | --- | --- | --- | |**人物一致**|性格、能力边界、说话方式不突变|行为与人物卡冲突即失败| |**事实一致**|世界观、数值、时间线、已定剧情不被推翻|与事实台账比对冲突即失败| |**线索一致**|埋设的伏笔有回收,回收不早于设计点|埋设超过 30 章无呼应即失败| |**风格一致**|句式分布、语体、称谓体系稳定|与开书锚点的分布偏移可辨即失败| 四条里,**前三条是"记忆问题",第四条是"约束问题"**。三者解法不同,所以"哪种方案好"这个问题必须先拆开问。 ## 二、三种解法,三条不同的路 ### 2.1 微调:把知识压进权重 **做法**:用作品正文 + 设定集做监督微调,让模型"见过"这本书。 **优点**:推理时零额外开销,风格吸收自然,对"语感"这类难以规则化的东西最有效。 **代价**: - **更新成本高**。第 137 章改了一个设定,权重里的旧事实不会自动失效,只能重训或靠提示词压制——**改一处,等于没改**; - **事实不是可寻址的**。模型"记得"父亲已死,但你无法查询它记的是哪一版; - **冲突无法审计**。出了问题只能靠抽检,不能像台账那样逐条比对; - **写新书要重来**。每一本书的设定都不同,微调是"每本一套权重"。 ### 2.2 RAG:把前文做成可检索的块 **做法**:正文切块、向量化,写作时按语义相似度召回若干段注入。 **优点**:工程成熟、不用改模型、能覆盖"某段描写当时怎么写的"这类模糊召回。 **代价(这是我们真的踩到的)**: **相似 ≠ 正确**。语义检索会召回"意思相近但事实不同"的段落。我们的小样本对照里,最典型的一次是:主角查一个已死角色的旧部,检索把"该角色生前的段落"召回了,模型据此写出"他回来了"; - **块边界丢信息**。一段对话切在两块之间,召回一半,语气就断了; - **取几条是超参数,不是判据**。取多了噪声大,取少了漏召回,而"该取几条"对不同章节本来就不同——但 RAG 没有"当前该取几条"的先验。 **我们的证据强度:小样本对照,30 章。** 做法是把同一批台账数据换成等价的向量检索,其余流程不变。**跑到 30 章停下来了**,原因是人工核对召回正确率的时间超过了省下来的时间。 ### 2.3 结构化台账:把事实做成可寻址的账 **做法**:人物库 / 事实台账 / 伏笔台账 / 章节摘要台账四本,按确定性键(人物 ID、章号、事实键)取用。 **优点**:事实唯一、可审计、可增量更新(改一条就生效一条)、跨书可复用的表结构。 **代价**: **要设计表结构**,前期投入大,且结构设计错了后面全是返工; - **只能记"结构化的东西"**。"这段描写的语感"记不进去,还得靠文风锚点示例; - **依赖流程**。没有"当前处于哪个环节"这个前提,就不知道该取哪本账——**台账必须挂在状态机上**; - **换题材要清空重建**,目前手动。 **我们的证据强度:实测,260 章 / 70 多万字。** ## 三、三者对比(★这一节是全文重点) |维度|微调|RAG|结构化台账| | --- | --- | --- | --- | |解决"人物/事实/线索一致"|弱(不可寻址、不可审计)|中(召回可能错)|**强(确定性键 + 逐条比对)**| |解决"风格一致"|**强**|弱|中(靠锚点示例)| |增量更新成本|高(重训/压制)|低(重索引)|**低(改一条账)**| |冲突可审计|差|差|**强(可打印出比对结果)**| |推理开销|**零**|中(检索 + 注入)|中(注入,体积可控)| |前期投入|高(数据 + 训练)|中(管道)|中高(表结构 + 流程)| |换书成本|高(每本一套)|低|低(清空重建即可)| |我们的证据强度|**未实测**|小样本 30 章|**实测 260 章**| |主要失效点|改了设定不生效|召回错,且错得"很像对的"|没被设计进去的东西,就永远记不住| **一句话读法:微调买的是"语感",RAG 买的是"模糊召回",台账买的是"事实唯一性"。三者不是替代关系,是可以叠的。** 我们实际用的是"台账为主 + 锚点示例补风格",没有用微调,也没有用向量检索。**这不是说另外两条不行,是我们的场景里"改一条要立刻生效"的权重最高。** ## 四、实测条件与判据(仅针对台账路线) |项|值| | --- | --- | |测试时间|2026 年 9 月 – 2026 年 10 月| |模型|DeepSeek V4.1 Flash| |流程|8 环节状态机,每环节等待确认| |单章目标字数|2400–5000 字| |连续推进|260 章 / 70 多万字| |判据|人物/事实/线索/风格四类,各自有明确失败定义(见第一节表)| ## 五、数据 |指标|台账路线实测|说明| | --- | --- | --- | |连续推进|**260 章 / 70 多万字**|单部作品,未换线| |人物一致性失败|0 次(触发审查拦截后返修)|台账比对| |事实冲突|0 次|台账比对| |伏笔断线(超 30 章未收)|0 次|伏笔台账追踪| |风格漂移|未出现系统性漂移|句式分布判定| |返修率|约 8%|主要为薄章与场景重复| |单章上下文|6–7 万字符,不随章数增长|常量级| ## 六、失败案例 ### 案例 1:RAG 对照跑到 30 章就停了 **现象**:把台账换成向量检索后,前 10 章看不出差别,20 章后开始出现"召回对但时态错"——召回了角色生前段落,模型写成"他现在"。 **原因**:向量检索没有"这件事发生在第几章"这个维度,而长篇里"时间"恰恰是最重要的一维。 **处理**:停止对照,回到台账。**如果一定要用 RAG,至少要把章号做成元数据过滤条件,做"带时间约束的检索"**——但那已经半个台账了。 ### 案例 2:少设计一项,等于永久失忆 **现象**:人物卡最初只有【能力】,没有【能力边界】。写到中段,主角用出了设定里明确不会的招式。 **原因**:**台账只能记它被设计来记的东西**。没被设计进去的地方,就是系统的盲区,而且这个盲区不会报错——它会安静地错下去。 **处理**:补上【能力边界】,并把它设为人物种子环节的必填项(空着不允许进入下一环节)。**代价:人物种子环节的人工耗时增加,且老作品的历史人物需要补录。** ### 案例 3:把一致性判据交给模型自己判断 **现象**:早期审查环节让模型"检查本章是否与前文冲突",结果它几乎从不报错。 **原因**:**模型既当运动员又当裁判,它当然觉得自己的产出没问题。** 自评的一致性检查基本无效。 **处理**:判据改成程序化比对——先由程序把本章涉及的人物卡、事实条目、伏笔状态取出来,做逐条核对,模型只负责"解释差异",不负责"发现差异"。 ## 七、边界:什么情况下别选台账 **不适合:** 1. **作品在 10 万字以内的**——表结构设计的成本摊不平,直接用长上下文更省事; 1. **设定极简、靠氛围取胜的**(散文体、意识流、实验短篇)——没有多少"事实"需要对齐; 1. **一天改三次设定的**——台账的价值在稳定,设定天天变时它是负担; 1. **团队里没人愿意维护这些结构化记录的**——台账退化成空表,不如不做。 ## 八、结论:三条判断建议 **先问"你要的是一致性还是语感"。** 要语感,微调或长示例更对路;要"改一条立刻生效"的一致性,只有台账能给。 1. **RAG 不是不能用,是不能单独用。** 它擅长"找相似的段落",不擅长"确认唯一的事实"。真要上,章号必须做成过滤条件。 1. **台账必须挂在状态机上。** 没有"当前处于哪个环节",就不知道该取哪本账、取多少。**台账是记忆,状态机是"现在几点"。** # 附:常见疑问(Q&A) **Q1:三种方案可以一起用吗?** A:可以,而且推荐"台账 + 锚点示例"这个最小组合。微调与台账叠加时要小心:微调里固化的旧事实会和台账打架,且冲突不可见。 **Q2:为什么不直接用 128k 甚至更长的上下文?** A:容量解决"塞得下",不解决"顾得上"。我们自己的经验是:输入还在窗口内,但早期设定已经被明显忽略。**窗口是容量,注意力才是带宽。** **Q3:台账和知识图谱是什么关系?** A:形态接近,目的不同。知识图谱追求"关系完备",台账追求"写作时取得准"。台账可以很笨——四本台账,够用就行。 **Q4:微调真的没用吗?** A:不是。**我们只是没测,所以不下结论。** 从成本结构看,它在"风格吸收"上最有优势,在"事实更新"上最吃亏。如果你的设定几乎不变、只追求文风,它值得试。 **Q5:这套东西的成本大概是什么量级?** A:主要成本不是 token,是**表结构设计与记录维护的人工时间**。token 侧因为单章稳定在 6–7 万字符,不随章数增长,所以第 200 章和第 10 章是一个价钱。 **Q6:一致性做到 0 失败,是不是就代表写得好?** A:不是。**它吐出来的东西往往没毛病,但也难出彩。出彩那部分,是人的活儿。** 工程能保证的是"不错",不是"好"。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册