世界书基础
世界书(World Info,也称 Lorebook)是一种动态的知识库系统。它允许你将大量的世界观、角色背景、物品设定等信息组织成独立的条目,只在对话中提到相关内容时才注入到 AI 的上下文中。这样既能让 AI 了解丰富的设定,又不会浪费宝贵的上下文窗口。
什么是世界书
想象你在创作一个奇幻世界的角色扮演故事。这个世界有几十个角色、多个地点、复杂的魔法体系。如果把所有信息都写在角色卡的描述里,会占用大量的 Token,而且大部分信息在当前对话中可能根本用不到。
世界书的解决方案是:把这些信息拆分成一个个独立的条目,每个条目设置触发关键词。当对话中出现了某个关键词,对应的条目才会被激活并注入到 AI 的上下文中。
例如,你有一个关于「精灵族」的条目。只有当对话中提到「精灵」「精灵族」「Elf」等关键词时,这个条目的内容才会被 AI 看到。
条目结构
每个世界书条目包含以下核心部分:
关键词(Keywords)
触发条目激活的词语列表。当对话中出现任意一个关键词时,条目就会被激活。关键词不区分大小写。
你还可以设置次要关键词(Secondary Keywords)。启用后,条目需要同时匹配主关键词和次要关键词才会激活,实现更精确的触发控制。
内容(Content)
条目被激活后注入到 AI 上下文中的文本。可以是角色描述、地点介绍、规则说明等任何信息。
激活条件
除了关键词匹配,每个条目还有多种激活控制选项:
- 启用/禁用:手动控制条目是否参与匹配
- 注入位置:控制内容注入到上下文的哪个位置(如角色描述之后、作者注释之前等)
- 注入深度:控制内容在聊天历史中的插入深度
- Token 预算:限制单个条目占用的最大 Token 数
扫描深度
扫描深度(Scan Depth)决定了世界书引擎会检查多少条最近的聊天消息来匹配关键词。
- 扫描深度为 2:只检查最近 2 条消息中是否包含关键词
- 扫描深度为 10:检查最近 10 条消息
较大的扫描深度能捕捉到更多上下文中的关键词,但也会激活更多条目、消耗更多 Token。你需要根据实际情况找到平衡点。
TIP
对于重要的核心设定,建议使用 Constant(常驻)模式而不是依赖扫描深度,确保它们始终可见。
激活策略
关键词匹配
最基本的激活方式。当扫描范围内的消息文本包含条目的关键词时,条目被激活。支持精确匹配和正则表达式匹配。
Constant(常驻)
设为常驻的条目会始终注入到 AI 上下文中,不需要关键词触发。适用于核心世界观规则、重要的角色关系等必须让 AI 时刻知道的信息。
概率激活
你可以为条目设置一个激活概率(0-100%)。即使关键词匹配成功,条目也只有在概率判定通过时才会被激活。这可以用来模拟随机事件或不确定的信息。
递归扫描
当一个条目被激活后,它的内容也会被纳入关键词扫描范围。这意味着条目 A 的内容中如果包含条目 B 的关键词,条目 B 也会被激活。这种链式激活可以构建复杂的知识关联网络。
世界书的绑定
世界书可以通过多种方式与角色和聊天关联:
- 角色绑定世界书:直接绑定到角色卡上,只在与该角色对话时生效
- 全局世界书:对所有角色生效,适用于通用的世界观设定
- 聊天世界书(Chat Lorebook):绑定到特定的聊天会话上。一个聊天可以同时绑定多个聊天世界书,它们会同时生效,各自的条目都会参与匹配
一个角色可以同时使用绑定世界书、全局世界书和聊天世界书,它们的条目会一起参与匹配。
Luker 的世界书改进
激活链路追踪
在调试复杂的世界书时,你可能会遇到「为什么这个条目被激活了?」的困惑。Luker 提供了激活链路追踪功能,让你可以清楚地看到每个条目是被哪个关键词、在哪条消息中触发的。
如果使用了递归扫描,你还能看到完整的激活链路——例如「消息中的关键词 A 激活了条目 1,条目 1 的内容中的关键词 B 又激活了条目 2」。
搜索插件自动创建条目
Luker 的搜索插件可以在预请求阶段自动搜索网络信息,并将搜索结果整理为世界书条目写入专用的共享世界书(__SEARCH_TOOLS__)。这些条目会根据信息的性质自动设置合适的关键词和激活方式,在后续对话中作为参考资料注入上下文。
记忆图自动创建条目
Luker 的记忆图插件通过世界书投影功能,会自动将记忆图中的节点投影为世界书条目(即「记忆图投影」)。这些条目由记忆图自动创建和管理,无需手动维护,使记忆图的长期记忆能够通过世界书的激活机制参与提示词构建。
预设关联世界书
Luker 支持将世界书与预设关联。切换预设时,关联的世界书会自动激活。这在不同的使用场景需要不同世界书配置时非常方便。
撤销支持
在 Luker 中,删除世界书条目后会弹出撤销提示(Undo Toast),允许你在短时间内撤销误删操作。