大纲写到第三章就接不上,通常不是模型突然变笨,而是两件事混在一起:设定根本没进这一次请求,或者设定进了但被长输入稀释掉。这两种情况的处理方向相反——前者要补,后者要删。在没有量过单次请求里设定字数之前,删设定一般只是把断点从第三章挪到第五章。可以先做的是:把人物卡、前情摘要、世界观背景分项数一遍字数,再判断该分层还是该改投喂顺序。
写到大纲第三章接不上,先别删设定,先量一次输入:把人物卡、前情摘要、世界观背景分项统计字数,看总量和各自占比。总量偏大时优先做分层——核心三条每章必带,支线按章加载,背景资料不进上下文;再改投喂顺序,用“本章任务单+必要前情”代替“整本设定+整章要求”。改完拿同一章重跑两次,看人物称呼与前情是否稳定,仍漂移的项再继续砍。字数阈值需要结合所用模型和你界面上显示的上下文窗口确认。
先确认现象:在生成结果里标出设定丢失的具体位置
不要凭“感觉不对”判断设定没被读到。把第三章生成结果逐句过一遍,重点看三个观察点,每个观察点对应的原因不同:
- 人物称呼是否变化:该叫“师兄”的变成了“前辈”,或者同一个角色在相邻段落里换了名字。这类问题通常指向人物卡没进这次请求,或者人物卡写得太长、关键关系被埋在中段。
- 前情事件是否被改写:已经死掉的角色重新出场,已经成立的结盟被写成初次见面。这类问题多半是前情摘要没带上,或者摘要只写了事件、没写事件的结果状态。
- 时间线是否错位:上一章是当夜,第三章被写成“三月之后”。这类问题往往是设定读到了但没被约束,说明前情里缺少明确的时间锚点。
区分“没读到”和“读到了没用上”,可以用一条只要求复述、不允许续写的请求来试探。让 Pagekin 在当前设定和输入下回答:本章已经出场的人物有哪些、各自和主角是什么关系、上一章结束时的状态是什么。如果复述本身就缺项,说明设定没有进本次输入,先查配置里设定是否真的挂在这次请求上;如果复述正确但续写跑偏,说明设定读到了,问题在使用环节,应该靠本章任务单去约束,而不是继续往输入里堆设定。
数一数每次到底喂了多少字:大纲、人物卡、前情各占多少
统计口径要先定死,否则前后两次数字没有可比性。建议只统计“设定部分”:人物卡、前情摘要、世界观背景、风格样例;指令文字、本次的具体要求、已经生成的正文都不计入。字数统一用字符数(含标点,不含多余空行),或者统一用 token 数,整张表只用一个口径,不要混用。中文与 token 的换算比例和分词器有关,需要结合你所用模型确认,不要拿固定系数硬套。
如果设定是以文本文件维护的,可以直接在本地统计;如果是在界面里逐栏填写的,把各栏内容复制到临时文件再统计,避免手数:
LC_ALL=zh_CN.UTF-8 wc -m character.md backstory.md world.md
python3 - <<'EOF'
import pathlib
for p in ["character.md", "backstory.md", "world.md"]:
t = pathlib.Path(p).read_text(encoding="utf-8")
print(p, len(t), len(t.replace("\n", "")))
EOF
把每次请求当成一条记录,而不是每章一条记录——同一章反复重跑会产生多条记录,这正好用来对比。表头可以先这样建:
| 请求序号 | 章节 | 人物卡字数 | 前情字数 | 背景设定字数 | 风格样例字数 | 设定合计 | 是否出现截断或报错 |
|---|---|---|---|---|---|---|---|
| 1 | 第三章 | ||||||
| 2 | 第三章(重跑) |
填两三次之后,通常会看到一个明显偏大的分项,比如背景设定远多于人物卡。接下来要砍的不是总量,而是那个偏大的分项。
把设定分层:哪些每章必带,哪些只在相关章节出现
分层只用一个判断标准:删掉这条设定,本章会不会写错?会写错就必带;只在某几章会写错就按章加载;不会写错就不进上下文。按这个标准,设定可以分成三层:
| 层级 | 典型内容 | 加载方式 |
|---|---|---|
| 核心必带 | 主角目标、本章核心对立关系、不可违反的硬设定(已死亡、身份暴露、禁忌) | 每次请求都带,控制在三条以内,一人一行写清称呼与关系 |
| 按章加载 | 只在相关章节出场的配角、支线、地点、组织 | 写进本章任务单,本章结束就不带;建议给每条支线标注适用章节号 |
| 不进上下文 | 世界观年表、灵感碎片、废弃版本、长篇风格参考 | 留在本地文档里备查,不放进请求 |
分层之后,人物卡也要瘦身:保留“称呼、与主角关系、本章态度”三栏,背景故事挪到按章加载层。设定里出现两个版本的设定时,先合并成一个,不要让模型自己选。
改成分章投喂:先给本章任务,再给必要前情
同样的设定总量,投喂顺序不同,连贯性会有差别。建议把“整本设定 + 整章要求”换成“本章任务单 + 必要前情”,任务单放在设定之后、用户要求之前。章节任务单至少包含这些字段,具体配置位置以 Pagekin 界面上的实际字段为准,字段名可能不同,对应关系需要你自己核对:
- 本章序号与时间锚点(如“紧接上一章当夜”)
- 本章目标,一句话
- 本章出场人物,每人一行:称呼 + 与主角关系 + 本章态度,只列本章出场的
- 必须承接的前情,不超过三条,写结果状态而不是过程
- 本章不能发生的事,用于挡住提前揭露和角色复活
- 输出格式与篇幅要求
投喂顺序可以先按这个骨架落:
[固定设定] 核心三条:主角目标 / 本章对立关系 / 硬设定
[本章任务单] 序号、时间锚点、目标、出场人物、禁止项、输出格式
[必要前情] 上一章结束时的状态,三条以内
[衔接锚点] 上一章最后一段原文(可选,帮助接住语气和场景)
[本次要求] 只写第三章大纲,按任务单字段输出
上一章结尾原文建议只放最后一段,放整章会把前情挤掉。任务单里的禁止项写得越具体越好,“不要提前揭露身份”比“注意人物逻辑”更容易被遵守。
验证:同一章重跑两次,看人物称呼与前情是否稳定
改完不要立刻往下写第四章,先用同一份任务单把第三章重跑两次,两次之间不改任何输入。两次结果一致,说明当前输入结构基本够用;两次结果在称呼或前情上仍然不同,说明输入里还有让模型自由发挥的空间,此时优先砍内容,而不是继续加规则。
| 轮次 | 人物称呼是否正确 | 前情是否被改写 | 时间线是否一致 | 漂移项 | 下一步处置 |
|---|---|---|---|---|---|
| 第一次 | |||||
| 第二次 |
仍然漂移时,砍内容的顺序建议是先背景设定,再风格样例(保留一段即可),然后是按章加载里本章用不到的支线人物卡,最后才压缩前情摘要。压缩前情时优先保留结果状态和时间锚点,删掉过程描写。如果两次重跑在称呼上稳定、只在前情上偶尔改写,问题多半在摘要写法,把“谁对谁做了什么”改成“截至本章开头,谁处于什么状态”通常更有效。篇幅和上下文窗口的实际上限,需要结合你所用的模型和界面提示确认。