Skip to content

第八章:新会话怎样找回偏好与旧事 ​

这周你重新开始整理简报,希望助手仍然知道“每条消息尽量简短,不能确认的内容明确写出来”。同时,你不希望上周一次性的“控制在一百字内”永远约束以后所有任务。

完整旧对话可以保存在历史中,但没有必要全部常驻新请求。我们需要把值得长期使用的少量信息挑出来,并在需要时找回详细过程。

本章产物是跨会话材料变化表。你要能解释信息怎样被保存、何时进入模型输入、怎样找回细节,以及错误偏好如何修正。

8.1 保存全部历史与精选记忆 ​

第七章的会话记录保留交流过程。长期记忆则是经过选择、面向后续任务的材料;两者有不同目的。

信息更合适的归属原因
希望未知说法明确标注稳定偏好很多后续简报都需要
上周 B 为什么被排除历史或相关文件细节只在特定追问中有用
本周只读给定三份材料本次约束不应自动变成永久范围
去重后再核对原公告的方法技能保存可复用做法,而非用户事实
图 8-1 教学示意:记忆与历史相互配合,不把全部旧对话常驻到新请求。 点击图解可放大
左右滑动查看图解细节
当前上下文精选记忆与历史检索分别承担即时判断长期信息和按需找回细节的责任

图 8-1 教学示意:记忆与历史相互配合,不把全部旧对话常驻到新请求。

挑选信息需要判断价值和适用范围。把临时要求写成长期偏好,会使新任务继承过期约束;一条信息很重要,也不意味着需要保留整段原始聊天。

8.2 Hermes 保存什么,怎样让新会话读到 ​

本版基础记忆使用两份精选材料:一份记录环境、约定等笔记,另一份记录用户偏好。它们通常称为 MEMORY 与 USER,有明确容量范围,由相应记忆工具维护。

会话开始时,这些材料作为快照进入系统提示。这样,新的任务不必先查询完整历史,就能从少量常用信息开始工作。

为什么不把全部历史做成记忆?除了输入容量与成本,还因为历史包含暂时约束、被否定的说法和过期状态。精选记忆表达的是希望持续适用的事实,历史则保留如何得出、修改和讨论过这些事实。

只用精选记忆也不够。它太短,无法替代原始过程。因此系统还需要历史检索和文件定位来补充细节。

8.3 写入成功与快照生效是不同时间 ​

这是本版一个值得具体理解的选择:基础记忆的会话起始快照,与磁盘上随后写入的新内容分开。

时刻保存的材料正在运行的会话
A 会话开始旧偏好A 带入旧快照
A 保存新偏好磁盘材料更新A 可以从工具结果知道刚发生的更新
早已开始的 B 继续磁盘已有新内容不应假定 B 的起始快照自动刷新
新建 C 会话仍是更新后的材料C 按会话加载规则带入新内容

这有助于保持系统提示前缀稳定,减少多轮中共同说明的频繁变化;代价是更新时机需要解释清楚。用户说“已经保存,为什么另一个窗口还不知道”,可能是在比较不同会话的快照,而非保存必然失败。

与之相比,每轮重新读取最新记忆可以更及时,却会引入提示变化、并发更新和适用条件的问题。没有一种加载方式自动解决所有需求,关键是让保存与生效的规则可观察。

图 8-2 回到统一输入图:判断某条记忆是否起作用,要看它有没有通过相应加载规则进入本轮请求。 点击图解可放大
左右滑动查看图解细节
已保存偏好和历史经过运行程序选择与组织进入实际模型请求,磁盘材料与本轮输入并不相同

图 8-2 回到统一输入图:判断某条记忆是否起作用,要看它有没有通过相应加载规则进入本轮请求。

8.4 不要只相信“我记住了” ​

模型说“以后会记住”,可能只是生成了确认文字。需要检查实际记忆动作和返回状态,才能知道保存发生到了哪一步。

在需要写入审核的配置下,提出修改、等待审核与已经写入,也不是同一状态。即使材料确实落盘,仍要按上一节确认哪个会话会读取它。

可以沿以下顺序观察:工具是否被调用,返回是成功还是待审核,目标材料是否包含新信息,当前任务使用哪份会话输入。每一步都有具体对象,避免笼统地归因于“模型又忘了”。

如果同一偏好在另一份持久身份下保存,新会话可能根本不是在读同一份材料。状态所属范围先于内容解释,第十一章继续讨论这一点。

8.5 记忆放满了,应该怎样处理 ​

容量限制促使系统精选信息,但不会自动保证留下的都正确。本版基础记忆写入超过限制时会返回错误,而不是默默无限扩张;接下来需要整理、合并或移除不再适用的条目,再尝试写入。

这与第六章的上下文压缩不同。上下文压缩整理当前任务所用的表示,精选记忆维护则要判断哪些事实值得长期保留。删除一条偏好还可能影响很多未来任务,不能只按字数最短来选择。

例如“偏好短简报”和“每条两三句即可”可能可以合并;“本周只读 A、B、C”不应继续占据长期记忆。若用户后来改变偏好,还要更新旧条目,避免两个相反要求同时常驻。

8.6 历史检索怎样补回过程 ​

用户问“上周为什么没有采用 B”,这不是一条稳定偏好,而是对过去过程的查询。可以按会话、时间和相关词检索历史,再核对对应材料与判断。

检索返回的是候选片段。命中“已经核实”四个字,还需要知道核实了什么、属于哪次任务、适用哪个时间范围。若把上周的已确认结论直接搬成本周事实,就混淆了材料来源与当前适用性。

这也是精选记忆与历史配合的意义:常用信息直接支持任务开始,详细过程按需找回。检索增加了查询与核实的工作,却减少把全部历史不断塞入模型输入的需要。

8.7 为新的一周选择材料 ​

请为教学周 W2 准备三样东西:可以沿用的稳定偏好,必须重新明确的本周目标,以及只在追问时检索的旧过程。

如果用户说“这次详细一点”,先把它当作本次要求;只有语境表明长期偏好发生变化时,才判断是否更新记忆。若用户说“以后每周都详细一点”,则需要处理与旧偏好的冲突。

你现在已经能够解释三个常见现象:历史接续不等于精选记忆生效;磁盘写入不等于所有会话立即刷新;找回旧结论不等于新任务已经验证。下一章进一步区分长期事实与可复用方法。

本章要点 ​

  • 历史保留过程,精选记忆保留相对稳定的信息,技能保存方法。
  • Hermes 基础记忆有容量与加载规则,会话起始快照和后续写入需要分别观察。
  • 确认文字、提出写入、等待审核、成功保存与本轮读到是不同状态。
  • 满容量、重复条目和偏好变化需要有依据地整理,不能只追求积累数量。
  • 历史检索提供候选过程,使用前还要核对归属、时间和适用条件。

理解题 ​

1. A 保存了新偏好,早已打开的 B 仍按旧偏好回答,是否说明写入失败?

不一定。先检查写入结果,再检查 B 的会话加载规则。B 可能仍使用起始快照,新会话 C 才载入更新;也可能保存还在审核,或两个会话属于不同持久身份。需要逐项区分。

2. 用户说“这周只要一百字”,应该立即改掉长期记忆中的简报偏好吗?

应先判断它是本次约束还是长期改变。“这周”通常指当前任务;直接永久化可能误导以后任务。可以在本轮保留要求,必要时根据用户后续明确表达再更新长期偏好。

3. 历史检索找到上周“B 不可信”,这周还要核对 B 吗?

需要看本周指的是不是同一材料、同一说法及同一来源状态。历史能提供线索和判断过程,但不是对未来所有同名内容的永久结论。应把旧依据放回当前任务条件中核对。

下一章:经验怎样成为可复用的方法。

社区学习手册 · 正文与原创图解 CC BY-SA 4.0 · 代码 MIT