Agent 的“记忆”不只是把聊天记录放进数据库。它至少涉及三个不同问题:信息太多时怎样放进有限上下文,做过的任务怎样转成可复用经验,新旧信息怎样组织和更新。

MemGPT、Agent Workflow Memory(AWM)和 A-Mem 分别提供了不同角度。把它们区分开,比笼统地说“给 Agent 加长期记忆”更有帮助。

MemGPT:解决信息进入上下文的问题

模型一次能使用的上下文有限,外部存储却可以保存更多内容。MemGPT 借鉴操作系统的分级存储思路,通过虚拟上下文管理,在不同记忆层之间移动信息,并用中断管理控制流。论文讨论长文档分析和多会话对话两个领域。MemGPT v2

可以把它理解成“桌面与档案柜”的区别:档案柜里有一份资料,不代表此刻桌面上有它;桌面装不下全部材料,就需要决定什么时候存、什么时候取。这个类比用于理解调度,不表示底层模型真的拥有无限窗口,也不表示保存的每个细节都能无损取回。

例如,一个跨多次会话的项目助手,需要在讨论接口时取出相关接口约定,而不是把所有会议记录都塞进每一次请求。存储成功和当前回答用到了正确资料,是两件事。

AWM:记住做事的方法,而不只是事实

AWM 从任务经验中归纳可复用工作流,包含任务描述和抽象步骤,用占位符代替具体参数,再把工作流加入辅助记忆。它区分离线归纳和在线积累;在线积累也需要判断轨迹是否成功。AWM v1,第 2 节

例如,“查询订单 123 的状态”可以抽象成“根据订单号查询状态”。值得复用的是目标、操作次序与判断条件,而不是把上次页面上的坐标或订单号原样重放。这个例子是理解流程抽象的示意,不是论文实验的复述。

工作流进入上下文,属于系统提供了可参考的经验,不等于模型参数被训练更新。环境改变时,仍要重新观察当前页面和结果,不能把曾经成功的路径当成永远正确的脚本。

A-Mem:记忆之间也需要结构

A-Mem 借鉴卡片盒笔记方法,把交互形成包含内容、时间、关键词、标签和上下文描述等属性的笔记;新笔记可以与相关旧笔记建立联系,并推动已有记忆属性的更新。查询时再检索相关记忆。A-Mem v11,第 3 节

这关注的是记忆怎样组织,而不只是数据库怎样搜索。例如,“计划学习编程”和“开始学习 Python”可能有关联,但不能因此把“计划”自动改写成“已经掌握”。关联、推断和原始事实需要保持可区分。

结构化笔记有助于后续使用,却不意味着系统可以把所有往事完整召回,更不意味着模型生成的标签和摘要一定正确。

三种方向怎样放在一起理解

首要问题对应的思路
资料已保存,但这一步没有进入模型上下文检查记忆调度和上下文管理
类似任务反复从头探索检查能否归纳并复用成功流程
信息零散、关联混乱或不断变化检查笔记结构、链接与更新机制

它们不是三款可以只凭名称排名的同类产品,也不必互相排斥。一个系统可能同时需要资料存储、经验流程和上下文调度,但应先找出真正的失败点,再增加复杂度。

工程中怎样检验“记住了”

以下是从这些设计方向延伸出的工程建议,不是三篇论文共同给出的实验结论。

首先保留原始材料和来源。摘要可以帮助压缩,但关键结论应能追溯;新信息纠正旧信息时,要记录时间、有效范围和修改过程,而不是直接抹去旧证据。

其次分开测试保存、检索和使用:记录是否写入?检索是否返回了它?回答是否正确利用了它?同样一句“忘记了”,可能发生在不同环节。

最后加入冲突和删除样例。例如旧地址与新地址并存时应该用哪个;用户删除偏好后,原文、摘要和索引是否一起处理;其他账号能否检索到这条信息。能回答一道历史问题,只说明某次访问成功,不能代替正确性、权限与生命周期的检查。