记忆型 Agent 这件事,过去一年基本被简化成了一个检索工程问题:把历史交互切块、嵌入、塞进向量库,需要的时候按相似度召回几条拼进上下文。这套做法好实现,也常常看起来有效——因为它在单环境、单任务的评测里确实能涨分。
但只要你把 Agent 放到真实使用场景里,就会撞上两个更难的问题。这篇被 EMNLP 2026 主会接收的 LifeMem 论文,正是冲这两点去的。
一、两个被忽略的失败模式
第一个是迁移失败。 在 A 环境里学到的东西到 B 环境就不好用了。论文的判断是,根因在于记忆里存的是具体动作序列——「先点这个按钮、再填这个字段」——这种表示和具体界面强绑定,换个环境立刻作废。真正该被记住的不是动作,是动作背后的工作流。
第二个是灾难性遗忘。 随着经验不断累积,Agent 在早期学会的任务上表现持续退化。这不是简单的「上下文太长」,而是新写入的经验在检索层面把旧经验挤掉了,或者更糟——新旧经验互相矛盾却没有被识别。
这两个问题其实是同一个病根的两面:记忆的组织方式是扁平且表象的。扁平意味着没有结构去隔离不同环境,表象意味着没有抽象可以跨环境复用。
二、LifeMem 的方法:从轨迹聚类到技能提取
LifeMem 的流程可以拆成学习期和推理期两段。
学习期,它不直接写记忆,而是先对积累的交互轨迹做聚类——聚类的依据是底层工作流,而不是表面相似度。也就是说,两条轨迹哪怕操作界面完全不同,只要它们解决的是同一类流程问题,就会被分到同一簇。分好簇之后,从每一簇里提取可复用的技能(skill)。
推理期,面对新任务时,Agent 会先召回相关技能,同时把该技能对应的代表轨迹一并取出,用技能指明方向、用轨迹提供细节。
输入:交互轨迹集合 T,新任务 q
学习期
1. 对 T 按底层工作流聚类:T -> {C_1, C_2, ..., C_k}
2. 每个簇提取技能:C_i -> skill_i(跨实例稳定的步骤抽象)
3. 记忆单元 = { skill_i, 代表性轨迹样本 }
推理期
4. 召回:q -> 相关 {skill_i}
5. 引导:skill_i 给出流程骨架,轨迹样本补齐细节
6. 执行后把新轨迹回流到 T,触发下一次聚类
这个设计里最值得学的是**「技能 + 代表轨迹」的双层结构**。只有技能,会丢掉具体情境信息,导致执行时缺乏细节;只有轨迹,就又回到了跨环境失效的老路。两层合起来,抽象负责迁移,具体负责落地。
三、实验:规模与结论
论文在 10 个环境、超过 13,000 个任务上做了验证,并新标注了约 2,000 条交互轨迹来支撑评测。这个规模本身就有意义——只有跨环境,遗忘与迁移才能被同时测量。
核心结论有两条:
| 维度 | 结果 |
|---|---|
| 已学任务上的遗忘 | 显著降低 |
| 跨任务迁移 | 优于基线,具备有效复用 |
| 任务流顺序 | 会影响最终学习效果 |
| 结构化相似轨迹的合并 | 能提升表现 |
第三条和第四条是分析部分最有价值的发现,也最容易被忽略。
任务流顺序有影响,意味着这种终身学习对课程安排是敏感的。同样的任务集合,按不同顺序到达会得到不同的终态能力。工程上的含义很实在:你不能假设「任务集合一致结果就一致」,课程设计本身就是超参数。
把结构相似的轨迹合并进同一记忆单元能提升表现,则直接验证了「按工作流组织记忆」这个前提。反过来说,把海量原始日志不做归纳地灌进向量库,不只是浪费存储,它还会有害。
四、和已有记忆方案的关系
这和主流长上下文记忆工作不冲突,而是互补的。比如 ConvMem 那类把长上下文推理改写成层次卷积的做法,解决的是单次推理里如何压缩与回看上下文;LifeMem 解决的是跨会话、跨环境怎么积累与复用经验。一个在推理期压缩,一个在生命周期里归纳。
另外,它和「反思式」记忆方案的区别也值得点出。Reflexion 那一路是让 Agent 对自己的失败写一段自然语言反思存起来,靠语言模型的泛化能力隐式迁移。LifeMem 更工程化:它显式地聚类、显式地提取技能、显式地维护记忆单元结构。两者可以叠加,但后者的可审计性明显更好。
五、工程落地的四条建议
- 把轨迹当资产存,别只存摘要。 摘要便于人类阅读,但轨迹才是聚类和技能提取的原料。至少保留动作、观察、结果三元组的结构化版本。
- 记忆组织按工作流,不按时间。 时间序适合审计,不适合召回。相同工作流的轨迹应当被归并到同一个单元里。
- 慎重对待任务到达顺序。 如果你做的是持续在线的 Agent,课程顺序其实由用户行为决定,你控制不了。那就退一步:定期重跑聚类与技能提取,把顺序带来的偏差洗掉。
- 给记忆设一条淘汰线。 论文证明了积累会带来遗忘压力,那就必须回答「什么该被忘掉」。技能簇长期未被召回,就应该降权或归档,而不是永久留存。
六、局限
论文的重点是方法有效性,有几个问题它没有充分回答。技能的粒度如何自动决定——聚类的簇数是个超参数,论文给出了方法论但没有给出通用准则。另外,跨环境的定义在不同评测里不完全一致,从论文环境迁移到你的业务环境时,「环境」的边界需要你自己重新划分。最后,新标注的两千条轨迹服务于评测,实际生产中你没有这样干净的标注,回流轨迹的质量会因为任务失败、用户中途放弃而变得噪声很大。
结语
LifeMem 值得读的原因,是它把一个被工具化的问题重新拉回了方法论层面:Agent 的记忆不是「存哪儿」的问题,而是「怎么组织」的问题。按工作流聚类、提取可迁移技能、用代表轨迹补细节——这套结构不复杂,但它解释清楚了一件事:为什么很多 Agent 记忆系统在 Demo 里惊艳,在生产里退化成昂贵的日志堆。