跳到主要内容

记忆与召回

本页说明帮助模型在长对话中记住内容的记忆功能:滚动式对话记忆、 关键词激活的记忆条目和向量召回。

对话记忆

每个聊天都保留一个滚动摘要,随着对话的增长由管线维护。当上下文移位策略 summarize 激活时,最早被排除的历史会被浓缩成本地抽取式摘要, 插入到当前用户输入之前 —— 因此即使原始消息超出了令牌预算,模型也能保留 早期事件的要点。摘要与聊天一起存储,重新加载后依然存在。

发送前你可以确切看到当前提示词的内容:实时上下文预览显示所选分词器、 上下文限制和预留的响应空间、被排除的块、被摘要的块以及应用的策略。 策略选择器请参阅设置

记忆条目

记忆条目是跨聊天持久存在的长期知识片段,独立于任何单一对话。每个条目都有:

  • 作用域 —— global 或绑定到一个角色。
  • 激活关键词 —— 对对话上下文进行不区分大小写的子字符串匹配。
  • 内容 —— 条目触发时注入的文本。

这是经典的 RAG 模式:通过关键词匹配触发检索,注入的片段满足模型对稳定 事实的需求 —— 角色细节、世界规则或进行中的剧情点 —— 而不会膨胀每个提示词。 与设定集条目一样,记忆块在提示词管线中按相关性排序,并计入令牌预算。

向量召回

向量召回是上下文移位策略 vector-recall。它不是纯粹按新旧程度裁剪上下文, 而是按与当前输入的语义相关性对设定集和记忆块排序,优先丢弃最不相关的块, 然后修剪较旧的历史。结果是:即使材料不是最新的,模型也能保留对当前消息 重要的内容。

该策略按生成设置选择,插件可以通过 SDK 添加更多策略。每种策略仍然遵守 最终由宿主控制的令牌预算 —— 插件无法绕过它。

选择策略

可用的策略有 truncate(丢弃最旧的未保护组)、summarize(浓缩被排除的 历史)、vector-recall(保留高相关块,按相关性和新旧程度修剪)和 manual (从提示词中排除特定消息,但不从历史中删除)。手动模式在每条消息上提供 一个操作来排除或恢复它,工具调用/工具结果对总是被一起处理。消息级控件 请参阅聊天,相关的关键词激活模型请参阅设定集