第 13 章
调试怎么看
把调试顺序固定下来——Debug → Prompt Package → 模型回复。先看命中,再看分层,最后看回复。
本章重点
本章重点:把调试顺序固定下来 —— Debug → Prompt Package → 模型回复。
信息
到这一章,基本就不是「会不会填词条」的问题了,而是「出了问题你会不会查」。
真正常见的情况其实是:
- 条目写了,但不知道有没有触发;
- 触发了,但不知道进了哪一层;
- 也进去了,但回复看起来还是不对。
现在调试主要看哪两个地方
现在最值得看的,是这两个地方:
| 工具 | 看什么 |
|---|---|
| Worldbook Debug | 世界书这一轮有没有命中、有没有注入、进了哪个分区。现在它一般在 Chat 页左侧小箭头里。 |
| Prompt Package | 这一轮最终是按什么结构打包给模型的。它会把预设、角色卡、世界书、记忆、最近聊天、输出格式规则分层展示出来。 |
重点
先看命中,再看分层,最后看回复。 不要一上来就盯着模型回答发愣。正确顺序永远是:先看 Debug,再看 Prompt Package,最后看模型回复。
调试顺序,看这张图最省事
回复不对
↓
先看 Worldbook Debug
├─ 确认有没有命中
└─ 确认进了哪个提示层级
↓
再看 Prompt Package
↓
最后看模型回复
Worldbook Debug 怎么看
Worldbook Debug 负责回答这些问题:
- 这一轮命中了几条;
- 哪些被注入;
- 哪些没注入;
- 命中来源是直接命中还是递归;
- 进了稳定区、当前状态区、动态区,还是输出协议区;
- 旧逻辑里有没有进角色定义前 / 后 / 聊天深度;
- 有没有因为命中上限被丢掉。
你可以把 Debug 当成:世界书这一轮的处理日志。 如果它这里都没命中,那就先别急着怪模型——第一步就还没发生。
Debug 里最值得看的内容
新手先不用一下子看所有东西,先重点看这几个:
- 有没有命中:先确认这条世界书有没有出现;
- 有没有注入:命中了不等于一定进 prompt,如果超过命中上限,它可能会被丢掉;
- 进入了哪个分区:稳定区 / 当前状态区 / 动态区 / 输出协议区 / 角色定义前后 / 聊天深度;
- 是不是递归带出来的:如果你开了递归,要看它是用户直接命中的,还是被别的词条带出来的;
- 有没有被截断或丢弃:如果被丢掉,要看原因,常见原因是命中太多、超过上限。
什么是 Prompt Package
Prompt Package 是你最接近「真相」的地方。因为它看的不是猜测、感觉、推断,它真正看的是:这一轮最终打包给模型的提示词结构。
现在它会更清楚地分成类似这样的层:
预设规则
角色定义前世界书
角色卡
稳定世界书
角色定义后世界书
长期记忆与用户资料
当前状态区
本轮相关记忆
本轮命中世界书
聊天深度世界书
设定问答提示
最近聊天记录
输出格式规则
本轮用户输入
你要看的不是「字多不多」,而是:这条内容有没有在正确的层里。
Prompt Package 最适合确认什么
- 角色定义前是不是真的在角色卡前:如果你写的是硬规则,要确认它是不是在角色卡前;
- 稳定区是不是在角色卡后:稳定区更像角色卡后的长期补充,不要误以为它在角色卡前;
- 当前状态有没有单独出来:当前地点、当前关系、当前章节,最好能在当前状态区看到;
- 动态世界书是不是只出现在本轮:关键词和递归临时命中的东西,通常应该在本轮命中世界书里;
- 输出协议是不是靠后:状态变量、TTS、结尾格式,最好在输出格式规则里;
- 最近聊天记录有没有思维链:现在思维链可以保存在聊天记录里,也可以前端展开查看,但构建下一轮 Prompt 时,
<think>...</think>不应该再进 Prompt Package。
提示
如果 Prompt Package 的最近聊天记录里没有
<think>,说明思维链清理是正常的。
调试时的标准顺序
以后排错可以照这个走:
- 第一步:先输入一个明确触发词(比如「我推门走进听雨咖啡。」);
- 第二步:看 Worldbook Debug,确认「听雨咖啡」有没有命中;
- 第三步:看它进入哪个分区(比如稳定区 / 动态区 / 角色定义前 / 聊天深度 0);
- 第四步:看 Prompt Package,确认它最后真的出现在对应层里;
- 第五步:最后才看模型回复,确认模型体感是不是和上面一致。
如果世界书没命中,先查什么
先查最基础的,不要一上来就查深度、顺序、递归(因为还没命中时,那些都还没开始起作用):
- 主关键词写错没有;
- 关键词是不是太窄;
- 这条有没有启用;
- 世界书总开关有没有打开;
- 触发类型是不是设成了关键词触发;
- 用户输入里到底有没有出现关键词。
如果命中了但没进 Prompt,先查什么
先查(这时重点看 Debug):
- 每轮最多命中条数是不是太小;
- 这条是不是被后面的截断规则丢掉了;
- Debug 里有没有显示未注入;
- 是否有更高优先级的条目挤掉了它。
如果进了 Prompt 但模型还是没按它写
这时再看内容本身,可能原因有:
- 词条内容太长,重点不明显;
- 词条内容太像背景,没有明确要求;
- 它放错了层;
- 输出格式规则没有放到输出协议区;
- 当前预设或角色卡有冲突;
- 模型这一轮遵循度不稳定。
例子
如果你想让模型每轮输出状态变量,但你把这条写在角色卡或者稳定区里,它可能会当成背景设定,不一定每轮执行。更适合放到:输出协议区。
本章最后的排错口诀
重点
- 没命中,看关键词。
- 命中了没进,看 Debug。
- 进了还不对,看 Prompt Package。
- Prompt 也对还不稳,再看预设和模型遵循度。
下一步
到这里,说明书就会从「会配置」进入「会排错、会整理、会长期使用」。下一章是实战案例——把前面所有概念串起来。