上下文是本次模型调用可以直接看到的内容。摘要是运行时从一段历史中压缩出的新内容。长期记忆则保存在模型调用之外,需要检索后重新进入上下文。

三者的边界如下:

类型是否直接可见生命周期主要风险
当前上下文单次调用超过窗口、成本增长
会话摘要被加入后可见当前会话或恢复期遗漏与错误归纳
长期记忆否,需检索跨会话过期、污染、越界

记忆需要来源,而不只是一段文字

“项目使用 Zola”只有附带来源、时间和范围,才能在以后判断是否仍适用。

元数据用途
来源回到原始证据
创建时间判断新旧
作用范围防止跨项目污染
置信度区分明确事实与推断
失效条件配置改变时作废

用户偏好、项目事实、一次故障结论和工具使用方法也不应放进同一类记忆。它们的更新频率和适用范围不同。

摘要是有损转换

有损转换表示压缩后无法从结果完整恢复原文。摘要生成得再流畅,也可能删掉一个禁止条件、失败重试或未完成步骤。

因此摘要应保留指向原始事件范围的引用。恢复时若出现冲突,可以回读原始轨迹,而不是继续基于摘要猜测。

错误记忆实验

先保存一条“项目使用 Python 3.11”,随后把项目配置改成 Python 3.13。再启动新会话,观察:

  • 检索是否返回旧记忆。
  • 运行时是否检查当前项目文件。
  • 冲突时是否更新记忆。
  • 旧记录是否保留变更历史。

如果 Agent 直接采用旧值,问题不在模型记忆能力,而在记忆系统缺少失效策略。

注入也可能进入记忆

工具读取的网页含有操作性指令,若摘要器把它写成长期偏好,攻击会跨会话存在。记忆写入需要来源信任检查,记忆读取后仍要作为低信任数据处理。

长期保存不会提高内容权威。它只延长了内容存在的时间。

本次抓包的边界

测试时隔离了部分技能和扩展,数据适合分析核心 Prompt 与工具循环,不适合比较四款 CLI 的长期记忆质量。因此本文描述的是后续运行时实验设计,不把未观察到的功能写成产品结论。

一套可检查的记忆系统应让每条事实回答三个问题:从哪里来、在哪里有效、什么时候失效。

版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。

(采用 CC BY-NC-SA 4.0 许可协议进行授权)

本文标题:12. 上下文、摘要和长期记忆不是一回事

本文链接:https://www.sshipanoo.com/blog/ai/agent-runtime-lab/12-上下文摘要与长期记忆/