PlugMem:让Agent记忆告别“经历”,拥抱“经验”(UIUC、清华、微软联合研究)

PlugMem 是一种新的 Agent 记忆模块,它将 Agent 的记忆从存储“经历”转变为存储可复用的“知识和经验”,从而在不同任务中表现更好。

原文标题:UIUC清华微软联合提出PlugMem:当Agent记忆告别「经历」,开始存储「经验」

原文作者:机器之心

冷月清谈:

UIUC、清华大学与微软研究院联合提出了PlugMem,一种面向LLM Agent 的任务无关记忆模块。PlugMem 关注Agent的长期记忆应该存储什么,才能真正帮助它在不同任务中做出更好的决策。与主流的“存经历、再检索”范式不同,PlugMem将记忆的基本单位定义为“可决策的知识”,并将Agent的长期记忆拆分为情景记忆、语义记忆和程序记忆三类。系统构建了一个以命题和处方为节点的知识中心记忆图,Agent检索的是“我已经学会了什么”,而不是“我曾经做过什么”。实验表明,PlugMem能够同时适用于长时对话记忆、多跳知识问答和Web Agent决策等不同类型的任务,并在提升任务表现的同时,显著降低Agent侧的记忆token消耗。PlugMem 的核心在于将经历抽象为可复用的语义与程序性知识,为构建可迁移、可积累经验的通用Agent提供了新的设计基线。

怜星夜思:

1、PlugMem 将 Agent 的记忆分为情景记忆、语义记忆和程序记忆,你认为这种分类方式全面吗?是否还存在其他类型的记忆对于 Agent 也很重要?
2、PlugMem 强调 “知识” 作为记忆的基本单位,而非 “文本” 或 “轨迹”,你认为这种转变对 Agent 的长期发展有什么影响?
3、PlugMem 在 WebArena 实验中展现了良好的可迁移性,你认为这种可迁移性在哪些实际应用场景中最有价值?

原文内容


随着大语言模型 Agent 开始在对话、问答与复杂交互环境中长期运行,“记忆该如何设计” 正在成为一个绕不开的核心问题。 




  • 论文标题:PlugMem: A Task-Agnostic Plugin Memory Module for LLM Agents 

  • 论文链接:https://arxiv.org/abs/2603.03296

  • 微软研究院官方博客:https://msft.it/6017Qc9vv

  • 作者单位:UIUC、清华大学、微软研究院 

  • 研究方向:LLM Agent・长期记忆・知识抽象・任务泛化 


UIUC、清华、微软研究院联合提出: 

一种 “可插拔” 的通用 Agent 记忆模块 PlugMem 


来自 UIUC、清华大学与微软研究院的研究团队,近日提出了一种面向 LLM Agent 的任务无关记忆模块 PlugMem。该工作试图回答一个在 Agent 研究中反复出现、却始终没有统一答案的问题: 


Agent 的长期记忆,究竟该 “存什么”,才能真正帮助它在不同任务中做出更好的决策? 


在当前主流设计中,大多数 Agent 的记忆仍停留在 “存经历、再检索” 的范式:

 

要么把对话、轨迹、网页观察等原始内容直接存下来,要么在此基础上做简单压缩或检索增强(如 RAG、GraphRAG)。 


问题在于,这类方法在任务切换时往往失效: 


一个在长对话中表现良好的记忆机制,放到 Web Agent 或多跳问答中,几乎无法直接复用。 


一个典型的失败场景:

Agent 记住了 “经历”,却忘了 “经验” 


作者在论文中给出了一个极具代表性的隐含例子: 


  • 在长期对话中,Agent 多次与用户讨论饮食偏好 

  • 在网页任务中,Agent 多次成功完成 “搜索 — 筛选 — 下单” 的流程 


但当 Agent 面临一个新任务时(比如推荐菜谱,或在陌生电商页面购物): 


  • 原始对话记录太长、太杂,直接检索会引入大量无关上下文 

  • 完整网页轨迹高度依赖具体页面结构,几乎无法迁移 


真正对决策有帮助的,其实只是两类高度抽象的信息: 


  • 「用户是素食者、对乳制品过敏」(事实性知识) 

  • 「在电商页面中寻找最低价的一般流程」(可复用的行动策略) 


但这些信息,往往并不存在于任何一条原始记忆中,而是分散在大量经历里。 


PlugMem 的核心判断: 

决策相关信息,应该以 “知识” 为单位被存储 


基于这一观察,PlugMem 提出了一种与主流 Agent 记忆设计明显不同的思路: 


记忆的基本单位,不应是 “文本” 或 “轨迹”,而应是 “可决策的知识”。 


具体来说,系统将 Agent 的长期记忆明确拆分为三类: 


  • 情景记忆(Episodic):原始交互与行为轨迹,作为可追溯证据 

  • 语义记忆(Semantic):从经历中抽象出的事实性命题(knowing that) 

  • 程序记忆(Procedural):可跨任务复用的行动处方(knowing how) 



与 GraphRAG 等方法不同,PlugMem 构建的并不是 “实体图” 或 “文本图”, 而是一个以命题(proposition)和处方(prescription)为节点的知识中心记忆图。 


换句话说,Agent 检索的不是 “我曾经做过什么”,而是 “我已经学会了什么”。 


一个关键技术细节: 

同一套记忆结构,如何同时支持三类任务? 


论文中一个很有说服力的点在于: 


PlugMem 在 不做任何任务特化修改 的情况下,被直接用于三类差异极大的任务: 


  1. 长时对话记忆(LongMemEval) 

  2. 多跳知识问答(HotpotQA) 

  3. Web Agent 决策(WebArena) 


在每种任务中,系统会动态判断当前更需要哪一类记忆: 


  • 回忆具体经历 → 使用情景记忆 

  • 推理事实关系 → 使用语义记忆 

  • 执行复杂操作 → 使用程序记忆 


而检索与推理始终围绕知识级节点展开,而不是原始文本。 


评估与分析:

实验在回答哪些问题? 


PlugMem 的实验设计,围绕三个明确的问题展开。这三个问题,分别对应 Agent 记忆系统中最关键、也最容易被混用的三个层面:通用性、因果结构,以及可迁移性。 


RQ1:同一套记忆机制,

能否同时适用于不同类型的 Agent 任务? 


第一个问题关注的是 PlugMem 的适用范围。 


作者将同一个 PlugMem 实现,直接用于三类结构差异极大的任务: 


  • LongMemEval:强调跨轮次对话中的事实一致性 

  • HotpotQA:强调多跳知识检索与组合推理 

  • WebArena:强调交互式环境中的程序性操作 


这些任务对记忆的需求并不相同: 


有的依赖对过往事实的回忆,有的依赖知识之间的关联,有的则依赖对行动策略的复用。 


实验结果显示,在三类任务中,PlugMem 都能够在提升任务表现的同时,显著降低 Agent 侧所消耗的记忆 token 数量。这表明,将记忆表示为知识级单元,有助于在不同任务中稳定提升单位记忆的决策价值。 



这一结果为后续分析提供了基础前提:记忆的组织方式,会系统性地影响其在不同任务中的有效性。 


一个中间视角:

如何比较不同任务中的 “记忆效率”? 


在进一步分析之前,作者引入了一个统一的评估视角,用于衡量记忆系统在不同任务中的性价比。 


具体而言,论文将记忆的作用表述为:在给定状态下,记忆对 Agent 正确决策概率所带来的信息增益,并将这一增益归一化到所使用的记忆 token 数量上。由此得到的 “信息密度” 指标,使得不同任务、不同记忆设计可以在同一尺度下进行比较。 


这一评估框架,为后续的消融分析和跨任务比较提供了统一坐标系。 


RQ2:结构化、检索与推理,

各自在记忆系统中起什么作用? 


第二个问题关注的是 PlugMem 内部各组件的作用分工。 



作者通过系统性的消融实验,分别移除结构化模块、检索模块和推理模块,观察性能与记忆消耗的变化。实验结果呈现出清晰的分工关系: 


  • 检索模块决定记忆是否能够被有效利用 

当检索被移除后,记忆几乎无法在决策中发挥作用。 


  • 结构化模块决定检索到的内容质量 

在缺少结构化的情况下,系统更容易检索到冗余、粒度不合适的原始信息,从而限制性能提升空间。 


  • 推理模块主要影响记忆使用效率 

移除推理模块后,性能变化相对有限,但记忆 token 消耗显著增加,表明其主要作用在于压缩与整合。 


这组实验明确区分了三个常被混为一谈的概念: 


检索让记忆 “可达”,结构化让记忆 “可用”,推理让记忆 “省着用”。 


RQ3:Agent 记忆能否作为可继承的经验,

在新任务中继续发挥作用? 


第三个问题关注的是记忆的可迁移性。 


在 WebArena 中,作者将任务划分为 online 与 offline 两个阶段: 


Agent 只允许在 online 阶段写入记忆,而 offline 阶段则在基本冻结记忆的情况下进行评估。 


这一设置刻意避免了通过重复试错积累熟练度的可能性,重点考察已有记忆是否能够支持新任务中的决策。 


实验结果表明,即使在 offline 阶段,PlugMem 仍能显著提升任务成功率,尤其是在涉及多站点组合操作的任务中。这表明系统中存储的程序性与语义知识,能够被新的 Agent 实例直接复用,而不依赖于具体的交互轨迹。 


小结 


通过这三组问题,实验逐步澄清了 PlugMem 所刻画的 Agent 记忆形态: 


  • 记忆以知识为基本单位 

  • 决策相关信息可以在不同任务间复用 

  • 结构化与检索决定 “能否用”,推理决定 “如何高效地用” 


在这一意义上,PlugMem 的实验不仅验证了方法本身,也为理解 Agent 长期记忆的设计与评估提供了一组清晰的分析视角。 


总体来看,PlugMem 从记忆的基本单位、组织方式与评估视角三个层面,系统性地重审了 Agent 长期记忆这一问题。通过将经历抽象为可复用的语义与程序性知识,并在多类任务中进行统一评估,作者展示了一种更接近 “经验继承” 而非 “历史回放” 的 Agent 记忆形态。这一思路,也为后续构建可迁移、可积累经验的通用 Agent 提供了新的设计基线。


作者简介:


杨可,清华大学本科、UIUC计算机三年级博士生,主要研究AI agents、语言模型、信息检索与算法审计。本项目由其承担领导与主要写作工作,为排序第一作者,并与陈子曦、何宣、蒋积泽共同作为共同第一作者。该成果由UIUC、清华大学与微软研究院合作完成,并接受Michel Galley、汪成龙博士建议,得到高剑峰、韩家炜、翟成祥教授指导。



© THE END

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

个人理解,这个指标的核心在于“信息增益”。它衡量的是记忆对agent决策的帮助程度。如果一个记忆系统能够显著提高agent的决策准确率,那么它的信息增益就高。然后再除以token数量,就可以得到单位token所带来的信息增益,也就是“信息密度”。这个指标的缺陷在于,它很难准确衡量“信息增益”。决策的正确与否受到多种因素的影响,很难确定有多少增益是由记忆带来的。

多站点操作确实是Web Agent的一大难题。我猜测PlugMem的程序记忆起到了关键作用。它可能将常见的操作流程(比如“搜索-筛选-购买”)抽象成通用的行动处方,然后Agent可以根据不同网站的页面结构,灵活地调整这些处方。这就像是学会了做菜的通用步骤,然后根据不同的食材和调料,做出不同的菜肴。

我持不同意见,我觉得最难的不是提取,而是记忆之间的关联。现实世界的知识是相互关联的,而不是孤立存在的。如何将不同类型的记忆关联起来,形成一个完整的知识体系,才是PlugMem真正需要解决的问题。比如,情景记忆中的一次失败经历,如何转化为语义记忆中的教训,并最终指导程序记忆中的行动策略?

“信息密度”这个指标确实很有意思,它试图将记忆的收益和成本统一起来,方便我们比较不同记忆系统的优劣。我觉得它最大的意义在于,提醒我们不能只关注记忆容量,还要关注记忆的有效性。传统的评估方法往往只关注记忆容量,而忽略了记忆中可能包含大量冗余和无用的信息。

我觉得这个问题可以从另一个角度来看。PlugMem可能并没有直接解决页面结构差异的问题,而是通过大量的训练数据,让Agent学会了适应这些差异。这就像是人类在浏览不同网站时,虽然页面布局各不相同,但我们仍然可以很快地找到自己需要的信息。Agent也可以通过大量的“经验”积累,形成一套适应不同网站的“肌肉记忆”。所以说,数据才是王道!

个人觉得,PlugMem在多站点操作中的优势,可能来自于它对语义知识的利用。Agent可以学习到不同网站之间的语义关联,比如“商品名称”、“价格”、“购买按钮”等,然后根据这些语义知识,在不同的页面上找到对应的元素。这就像是掌握了网页的“通用语言”,从而可以轻松地在不同的网站之间切换。

信息密度这个指标,让我想起了经济学中的“边际效用”概念。它衡量的是每增加一个单位的投入,所带来的收益。在记忆系统中,token数量就是投入,而决策准确率就是收益。这个指标的潜在问题在于,它假设token数量和决策准确率之间存在线性关系。但实际情况可能并非如此。当token数量达到一定程度后,再增加token可能并不会带来明显的收益,反而会降低效率。

抛开技术细节不谈,我觉得这个指标最大的贡献在于,它提供了一种新的思考方式。它提醒我们,在设计记忆系统时,不仅要考虑技术上的可行性,还要考虑经济上的合理性。我们需要找到一个平衡点,使得记忆的成本和收益达到最大化。这就像是做生意一样,我们要考虑投入产出比。

抛开技术细节不谈,我觉得这个分类方式本身就值得商榷。人类的记忆真的是这么泾渭分明的吗?我们在回忆时,真的是先确定要回忆哪种类型的记忆,然后再去搜索吗?我认为更合理的做法是,Agent应该有一个统一的记忆池,然后根据不同的任务需求,动态地组织和检索相关的信息。PlugMem的分类方式可能过于僵化了。还有,个人觉得这个名字有点怪,读起来拗口,不如叫AgentMind之类的,更简洁明了。

有没有可能PlugMem结合了RAG的思想?对于没见过的站点,先用RAG检索一下该站点的使用说明或者其他用户的使用经验,然后根据检索到的信息,动态地调整自己的行动策略。这样就可以在不牺牲通用性的前提下,提高对新站点的适应能力。当然,这只是我的一个猜测。

我同意楼上的观点,名字确实可以优化一下哈哈。不过我觉得这个分类的关键在于给出了几个大方向,实际应用中可以灵活调整和组合。例如,可以增加一个“情感记忆”,记录Agent在不同情境下的情绪反应,这对于提升Agent的情感交互能力很有帮助。或者可以把程序记忆进一步细化为“通用程序”和“特定程序”,前者用于处理常见任务,后者用于处理特定任务。总之,这个分类不是终点,而是起点。

这个分类的确很棒,但实际应用中的挑战也显而易见。我觉得最难的是如何让Agent自动区分和提取这三种记忆。情景记忆可能相对好处理,毕竟有明确的交互记录。但语义记忆和程序记忆的界限就比较模糊了,很多知识既可以看作是对事实的描述,也可以看作是行动的指导。可能需要更精细的标注和训练数据才行。

从计算机的角度看,这种分类方式很清晰,也很容易实现。但如果从认知科学的角度看,人类的记忆方式可能更加复杂,各种记忆之间存在着复杂的交互。也许未来的Agent记忆系统可以借鉴人类大脑的神经结构,采用更灵活的记忆组织方式。

我理解这种改变就像是从“读万卷书”到“总结读书笔记”。读书笔记更精炼,方便快速回顾和查找,但可能丢失一些细节和思考过程。对于 Agent 来说,选择哪种方式,可能取决于任务的类型和对知识的精度要求。

这让我想起了知识库的构建,感觉可以借鉴一些思路。比如基于规则的抽取,或者基于机器学习的抽取。但Agent的“经历”往往是动态变化和不确定的,这给知识抽取带来了很大的难度。也许可以考虑结合强化学习,让Agent在与环境的交互中不断学习和完善知识。

我认为程序记忆对于长期任务最关键。情景记忆是基础,语义记忆是知识,但程序记忆是将知识转化为行动的关键。长期任务往往需要Agent根据情境不断调整策略,程序记忆的复用性可以大大提高效率。优先级上,可以考虑情景记忆 → 语义记忆 → 程序记忆,有了基础才能谈复用和策略。

这个问题很有意思!在人类认知中,这三种记忆并非孤立存在,而是相互交织、协同作用的。情景记忆提供具体的事件背景,语义记忆提供通用的知识框架,而程序记忆则指导我们的行为模式。例如,当我们回忆起一次愉快的旅行(情景记忆)时,我们可能会想起关于目的地的历史文化知识(语义记忆),并计划下次旅行时如何更好地安排行程(程序记忆)。

对于AI Agent,我认为可以进一步细化或增加记忆类型,例如:

* 目标记忆:记录Agent的长期和短期目标,指导其行为方向。
* 情感记忆:模拟人类情感,影响Agent的决策和交互方式。
* 元记忆:Agent对自身记忆状态的认知,使其能够更有效地管理和利用记忆。

这些额外的记忆类型,有助于构建更智能、更人性化的AI Agent。

这个问题很有意思!PlugMem这种分类方法确实挺有条理的,但要说完全全面,我觉得可以再探讨一下。从心理学的角度看,还有像内隐记忆(比如骑自行车这种技能)和情绪记忆(对特定事件的情感反应)可能也很重要。Agent在复杂环境中,有时候需要快速反应,内隐记忆可能就派上用场了。情感方面,如果Agent能理解用户的情绪,是不是能做出更人性化的决策?当然,把这些都加进去,记忆系统可能就更复杂了,需要权衡。

这个问题问到了点子上!抽象肯定有风险,就像我们做总结一样,一不小心就把关键细节给漏掉了。我觉得平衡的关键在于抽象的“度”。PlugMem可以考虑引入一个“置信度”的概念,对抽象出的知识进行评估,比如这个知识有多少经历支持,或者是由哪些权威信息来源支持。置信度低的知识在使用时就要谨慎,或者需要结合情景记忆进行验证。