~/yomxxx/posts/2026-09-15-lifem-lifelong-experience-reuse-paper.mdx
Paper

$ cat 论文速读:LifeMem 把 Agent 的过往轨迹按工作流聚类,让它真正积累经验

-- 5 min read ·

记忆型 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 更工程化:它显式地聚类、显式地提取技能、显式地维护记忆单元结构。两者可以叠加,但后者的可审计性明显更好。

五、工程落地的四条建议

  1. 把轨迹当资产存,别只存摘要。 摘要便于人类阅读,但轨迹才是聚类和技能提取的原料。至少保留动作、观察、结果三元组的结构化版本。
  2. 记忆组织按工作流,不按时间。 时间序适合审计,不适合召回。相同工作流的轨迹应当被归并到同一个单元里。
  3. 慎重对待任务到达顺序。 如果你做的是持续在线的 Agent,课程顺序其实由用户行为决定,你控制不了。那就退一步:定期重跑聚类与技能提取,把顺序带来的偏差洗掉。
  4. 给记忆设一条淘汰线。 论文证明了积累会带来遗忘压力,那就必须回答「什么该被忘掉」。技能簇长期未被召回,就应该降权或归档,而不是永久留存。

六、局限

论文的重点是方法有效性,有几个问题它没有充分回答。技能的粒度如何自动决定——聚类的簇数是个超参数,论文给出了方法论但没有给出通用准则。另外,跨环境的定义在不同评测里不完全一致,从论文环境迁移到你的业务环境时,「环境」的边界需要你自己重新划分。最后,新标注的两千条轨迹服务于评测,实际生产中你没有这样干净的标注,回流轨迹的质量会因为任务失败、用户中途放弃而变得噪声很大。

结语

LifeMem 值得读的原因,是它把一个被工具化的问题重新拉回了方法论层面:Agent 的记忆不是「存哪儿」的问题,而是「怎么组织」的问题。按工作流聚类、提取可迁移技能、用代表轨迹补细节——这套结构不复杂,但它解释清楚了一件事:为什么很多 Agent 记忆系统在 Demo 里惊艳,在生产里退化成昂贵的日志堆。

Frequently asked questions

现有记忆型 Agent 的两个核心问题是什么?
一是经验无法跨环境迁移,在 A 环境学到的东西到 B 环境就失效,因为记忆里存的是具体动作序列而不是可迁移的抽象。二是灾难性遗忘,随着经验不断写入,早期学会的任务表现会持续退化,记忆越多反而越不稳定。
LifeMem 和其他记忆方案最大的差异在哪?
多数方案把记忆当成检索问题,按嵌入相似度召回最像的历史片段。LifeMem 把记忆当成归纳问题:它先按底层工作流对积累的交互轨迹做聚类,从一类轨迹里提取出跨实例稳定的技能,推理时召回的是技能加代表轨迹,而不是一堆表面相似但流程不同的碎片。
实验规模有多大?
论文在 10 个环境、超过一万三千个任务上做了验证,并新标注了约两千条交互轨迹用于支撑评测。这个规模的意义在于它覆盖了跨环境的任务流,使得「遗忘」与「迁移」这两个指标可以同时被测量,而不是只在单环境里看准确率。
任务到达的顺序为什么会影响学习效果?
论文分析指出任务流本身会影响学习,说明这种终身学习对课程顺序是敏感的。同样的任务集合,按不同顺序到达会得到不同的最终能力分布,因此工程上不能假设「任务集合一致就结果一致」,课程设计本身是超参数。
对工程落地最直接的启示是什么?
把轨迹当资产存下来,并按工作流而不是按时间或纯相似度组织。结构化相似、流程同源的轨迹合并进同一记忆单元,论文验证这能提升表现。反过来,把海量原始日志直接灌进向量库,既迁移不了也会加速遗忘。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.