大语言模型长篇写作一致性方案:AI小说生成器从设定库到状态轮
2026/9/20 14:52:40 网站建设 项目流程

简介:这是一款面向写作者与AI应用开发者的多功能小说生成器,基于大语言模型辅助完成长篇故事的世界观搭建、角色设计与情节编排,尤其重视叙事连贯性和设定一致性。压缩包共48个文件,约498KB,涵盖Python核心程序、配置与依赖清单、Markdown说明文档、图标资源及Git仓库文件,其中包含核心生成、一致性校验、提示词定义、界面交互等模块,便于直接运行或二次开发。已有276人学习/浏览,说明其在创意写作场景中受到一定关注。借助该项目,用户可获得一套完整的本地部署方案与可扩展的生成框架,既能通过命令行快速生成内容,也能参考其模块化设计理解大模型写作工具的实现思路。

1. 长篇故事写崩了,问题不在文笔,在“设定失控”

刚开始用大语言模型辅助写小说的人,多半经历过同一种尴尬:写短篇惊艳,写长篇翻车。开头三章悬念拉满、人设立体、世界观宏大,到了第七章人物开始说“符合性格”的话,第十四章时间线前后矛盾,第二十章连主角手里的神器是“蓝色的”还是“透明的”都对不上。这不是模型变笨了,而是长篇小说创作对信息管理的需求,远超出了普通对话式AI的天然能力范围。

我前前后后试过不少号称“小说辅助”的AI工具,用下来最深的感受是:绝大多数产品只是给模型套了一个“写小说”的指令外壳,底层还是一个“逐段生成”的逻辑。问答式上下文窗口再大,你也没法在连续生成两万字之后,还指望模型牢牢记住前文埋下的一条伏笔、一个配角的口头禅、一套功法体系的升级代价。它总有注意力漂移的时候。

这也是我决定自己动手折腾“基于大语言模型的多功能小说生成器”的直接原因。目标很明确:让AI不仅能写,还能记住自己写了什么;不仅生成流畅的段落,还能在十万字的体量里保持设定、人物、时间线、因果链大体一致。这篇文章不聊理论,把我拆解需求、设计机制、搭建流程、实测效果、踩坑心得的全过程写出来,给同样被长篇一致性折磨的写手和工程师一点参照。

2. 模型很聪明,但它天生“记不住昨天”:先理解核心限制

在讨论生成器架构之前,得先说清楚一个底层事实:大语言模型本身并不具备永久记忆。它的上下文窗口相当于一个“工作台”,你这一次对话里给它多少材料,它就只能在这个材料范围内进行推理。问题是写完一段后,前文的信息会逐渐被挤出活跃上下文,尤其是当故事推进到几万字以后。

这时候你可能会说:那我把前文摘要塞回上下文不就行了?确实,很多AI辅助写作工具就是这么干的——维护一份“记忆摘要”,写之前先把它注入提示词。但这个方案有一个隐形陷阱:摘要本身就是一种信息压缩,压缩就必然失真。当你把第三十章的情节压缩成两百字,放进第六十章的写作上下文时,角色当时微妙的情绪变化、场景中一个看似不起眼的道具、某个配角说过的半句话,全都会在压缩中丢失。丢失了这些,后续情节就可能在不经意间偏离。

我的生成器在设计第一条原则时,就是这个思路:**不要替代模型记忆,而是建立一个模型随时可以“查档”的外部体系。**具体来说,在每次生成新段落之前,先由程序从“设定库”中检索与该段落最相关的设定条目、人物卡、伏笔记录,把它们拼装进上下文中,而不是靠模型自己回忆。

这个思路并不复杂,但它解决的是本质问题。写作不是生成一串通顺的话,而是要让每一句话都与story世界里“已经发生过的一切”自洽。既然是检索,那关键就在于两个问题:设定库怎么建、检索怎么做。这是后面几节的核心内容。

3. 给AI装一套“写作协同台”:从设定锚点到连续性校验

3.1 三层设定锚点:让长故事有一个“不动的地基”

工具的第一层机制,是建立三层设定锚点。

第一层叫“世界观硬规则”,我把它设计为一个不可随意覆盖的基础文档。比如你写的是一部修仙小说,那么灵气复苏的年份、修真境界的等级名称、每层境界突破的精神代价,都必须写死。任何章节生成之前,这部分都会被完整注入上下文。为什么?因为世界观一旦漂移,故事的地基就塌了。前期主角还是炼气期,中期突然出现一个金丹期反派,后期又冒出一群“大乘老祖”——这在爽文里常见,但如果这是硬核设定系的读者,会非常出戏。

第二层是“人物卡动态档”,每个主要角色都单独建卡,里面不只有姓名、外貌等静态属性,还包括“当前目标”“正在隐瞒的秘密”“与主角的关系状态”“语气刁蛮的方式”等动态变量。每次生成涉及该角色的段落时,程序只抽出该角色的卡片,而不是所有角色卡全塞进去,这样既省token又减少干扰。

第三层是“伏笔回收清单”。这个设计我很满意:每埋一个伏笔,就往清单里记一条,内容包括伏笔内容、出现章节、计划回收章节。后续每次写作时同样做检索匹配,让模型看到“与本章内容相关的未回收伏笔”。好处是一目了然,到了该收线的时候,作者一眼就知道哪些线已经铺了很久。

3.2 状态轮与偏好档案:让故事逻辑不随写作进程漂移

除了设定锚点,我还在生成器中加入了一个“状态轮”设计。每一轮生成结束时,程序会要求模型回报当前的角色状态快照:主角所在位置、与谁在一起、目前持有道具、刚完成的事件、情绪余波。这些快照会被写入临时状态文件,在下一轮生成时作为“上一幕结束时的世界状态”重新注入。

这么做的好处非常明显:章节之间衔接的“逻辑接力棒”是结构化的,而不是请模型“根据上一章内容继续写”。前者是程序在管理状态,后者是让模型猜状态。实际情况中,让模型猜状态的成功率在十轮之后会显著下降,而结构化状态快照基本能够保证章节交接不掉链子。

还有一个容易被忽略的细节:模型对“不”字的认知有偏好。你告诉它“这个角色不是开朗的”,它在生成时反而更容易描写这个角色的开朗外向。因此,人物卡里尽量避免否定式描述,改用正面表述——“沉稳寡言,惜字如金,内心敏感”,而不是“不爱说话,不外向”。这是我在连续测了一个星期后总结出来的教训,非常有用。

在生成流程的末端,还有一道连续性校验程序。每次新章节完成后,会抽取关键实体(人物名、地名、道具名、时间词)和历史库做比对,检查有没有出现近义词替换、张冠李戴、时间倒错等情况。比如第八章出场时叫“黑水剑”,第十三章莫名成了“玄水剑”,这种会被自动标记出来,提示作者确认是否需要修正。

4. 三步启动一个长篇项目:从设定库到长线追踪

这套工具的完整工作流,我用一个具体案例来演示。假设我现在要写一本3000章体量的大长篇。

4.1 第一步:用引导式问卷搭建初始设定库

项目初始化时,先不要急着写正文,而是先回答一组问卷(可以自动生成,也可以手动填)。我用的是半自动方式——程序根据题材类型(西幻/仙侠/科幻/悬疑)给出不同的基础模板,我只需要在其中填空或改写。

比如西幻模板里会有:魔法体系的能量来源与限制、种族分布与文明状态、王国权力结构、主角与世界的冲突点、世界观本源秘密。填完之后,生成器会自动将内容分类归档,生成“硬规则”“人物初版”“道具铭牌”几个版块。其中一个关键流程是,硬规则区的内容会被标记为“不可被模型自由改写”的约束条目,每次写作时它都会出现在生成指令的固定位置上。

很多人在这一步会走上“越填越细”的歧路,恨不得先把一百万字的世界观写完再动笔。实际上,设定库建立应该遵循“够用就好”的原则,只要世界观边界和核心人物立好,剩下的细节在写作过程中随写随补,不然会把自己拖死在设定考试上。

4.2 第二步:按“幕”推进而非按“章”推进

大部分AI写作工具是按“章”生成的,一次生成一整章的内容。但这带来一个隐患——章节之间缺少一个中间层的规划。我的做法是引入“幕”的概念:三到六章组成一“幕”,每次启动新幕之前,仍然先做一幕规划,再规划章回。一次生成6~10章的内容。

幕规划要包括三件事:本幕的核心目标、角色变化预期、伏笔埋设计划。随后再拆解为章级细纲,每章细纲里写明本章起点状态、触发事件、转折点、结尾钩子。这套规划文件在幕内的每一次生成中都会作为核心上下文注入,模型的自由度被收敛在既定轨道内,但细节呼应有充分的发挥空间。

以前用通用对话式AI时,你需要靠“前情提要”来暗示模型,我现在基本不需要了。幕规划就是最精确的前情提要。

4.3 第三步:长线追踪全靠“结构化卡片”

为了不让几千章之后的剧情变成无头苍蝇,我给每个角色、组织、地点都建立了一张“长线追踪卡”,卡的更新是在每次生成结束后自动完成的。

举个例子:一个叫“曙光教会”的组织,追踪卡上会记录它的公开教义、内部派系、首领终极目的、目前掌握的封印法器、与主角的冲突现状。如果新章节中出现了曙光教会的戏份,程序会把这张卡拉取进上下文;如果章节中教会的某位高层第一次正式露面,生成后系统还会反向提示我:“是否需要在追踪卡中添加该人物的性格关键词?”

长线追踪最大的价值,是让我在写到第800章的时候,依然能检索第157章埋下的一个设定细节。这种跨距检索能力,是人脑和纯对话式AI都不具备的,也是这套生成器真正的护城河。

5. 大逻辑不崩,小细节才见真功夫:实测和特性盘点

工具搭好之后,我拿不同题材做过几轮实测,这里挑两个有代表性的结果说说。

第一个是古风权谋题材,总长度约20万字。这种题材对逻辑性的要求极高——权谋的优势和劣势、人物间的盟友与叛变关系、时间线上的计谋环环相扣。用这个生成器写完第一卷后,我做了个测试:随机抽了三个章节的细节,问模型“这章的伏笔是否与之后的某处呼应”,它能相对准确地把关联段落标出来,虽然偶尔会有一两个没对上,但整体上可以做到“指哪打哪”的追溯效果。

第二个是科幻多线叙事,三条叙事线交错进行。这个题材最容易翻车的点是时间线。状态轮里存了每条叙事线各自的时间戳和位置信息,生成时会用“同时刻另一条线发生的事”作为背景对照,确保了三条线在时间维度上是同步的,而不是各自平行走到黑。

实测之外,还有几个容易被忽略但是比较重要的功能细节值得一说。

5.1 对话人格一致性:比想象中难,也比想象中重要

小说里的对话是角色性格的最直观体现。很多AI写作工具的角色对白听起来都一样——都像AI自己。我的方案是,在人物卡中单独设一个“对白风格区”,专门存角色常用的口头禅、句式偏好、话题禁忌。每次进入该角色的对话场景,程序会把这几条“对白规则”前置到生成指令中,效果十分显著。比如一个喜欢讽刺的反派,生成的台词会更容易夹带反讽;一个话少的主角,对白会明显变得简洁简短,不再长篇大论。

5.2 内容回流沉淀:每一次创作都是在为长线做积累

这里还要提一下“内容回流档案”机制。每写完成一个新章节,我还会额外跑一个后台程序,把新章节里出现的人名、地名、新设定条目、疑似伏笔提取出来,自动登记到设定库和伏笔清单中。相当于每一次创作都是在反向打磨设定库,文档不会长期停留在一个过期版本上。这对长线写作是很有价值的,不然写了几百章之后,想靠人力维护设定库,几乎是不可能完成的任务。

6. 我可是踩了不少坑:四个高频问题的排查经验

好用归好用,这个项目折腾下来,踩过的坑也不少。写出来供你用类似架构时避雷。

第一个坑是“模型从别的角色嘴里说出主角的技能”。这个问题出在检索拉取环节:当多个角色出现在同一场景时,系统把所有人的技能列表一次性全部注入,模型在生成时出现了信息串线。后来我把检索粒度从“角色级”降到“信息单元级”,并且在提示词中明确标注“该信息只属于某角色,禁止挪用于其他角色”,情况才稳定下来。所以,如果你想自己做类似系统,信息隔离至少要写到指令级别。

第二个坑是“越改越乱的prompt”。早期我在调试时,遇到生成不符合预期,第一反应就是往提示词里加限制句,结果越加越长,模型输出的文风也逐渐变“怂”——什么都不敢写,净说正确的废话。改了三个版本之后,我狠下心来把所有限制句全部删掉,回到最简的表达:场景目标、硬性约束、输出要求。意外的是,改回去之后输出质量反而上升了,这也让我意识到,限制不是越多越好,模型的自由度需要被保留,否则写作质感会直线下降。

第三个坑是本地化部署时的资源与效果权衡。如果你想把这套流程跑在本地,问题就变成了要选多大的模型。我之前尝试在显卡上跑13B级别的基座模型,生成速度能接受,但逻辑推理能力明显偏弱,长线一致性也明显不如更大参数的模型。后来我把“日常草稿生成”和“重点设定推理”做了分工——草稿用速度快的模型,在关键剧情节点上调用大型模型处理,相比之下平衡了不少。没有单卡能兼顾一切,用混合架构是更务实的选择。

第四个坑还是出在“后处理安全网”上。连续性校验程序在初版时太机械,导致大量误报,比如角色“眼神变冰冷”也会被判定为人物性格突变,闹了不少笑话。后来我为校验规则增加了几个“合理变化白名单”,并把判定输出从硬报错改成“提示性建议”,这套后处理才真正好用起来。这个案例给我的启发是:工具的价值在于辅助作者发现问题,而不是取代作者做判断。

7. 写在最后:别指望AI替你思考,但可以指望它替你记忆

用这个生成器写了大概几十万字之后,我最大的体感变化不是“写得快了”,而是“我敢写长了”。一个复杂的世界、一堆有前史的角色、几条连环嵌套的伏笔,过去写到中段自然会撞墙,现在只要设定库维护得当,后段依然能从容落笔。

当然要泼一盆冷水:这套工具并不会让一个没有故事构思的人突然变作家。它能把你的构想以一致、严谨的方式扩展成几十万字的文本,但“构想”这件事本身还是要你来完成。大语言模型写作最准确的定位,不是提笔代写,而是帮你把思想变成图文、把设定变成故事的能力放大器。

如果你也想做一套属于自己的小说生成器,我的建议是:不要急于堆功能,先把设定库建好,把连续状态维护好,把伏笔追踪跑通。把这三件事做好,你的长篇故事就已经赢过了八成半途而废的AI写作尝试。实测下来,这套方案是目前我用过的所有方法里,逻辑一致性最接近原生写作水平的路径,值得一试。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询