Agent该不该单独配一个记忆模型?怎么搭建?Meta最新研究给出了答案
设想一下,你正在调试一个Agent系统:它刚刚完整读完了任务说明书,亲手执行了一个失败的命令,甚至十分钟前还能准确定位错误根因。可到了下一轮决策,它就像第一次遇到问题一样,重新写入已经确认不可写的目录,再次尝试已经被证伪的参数,或者修好局部测试后,彻底忘掉了最初的验收条件。这种令人抓狂的“失忆”现象,其实不是上下文被截断或记忆库被清空造成的——信息分明还在那里,只是它逐渐失去了约束下一步行动的能力。
Meta的研究团队在《Remember When It Matters》一文中,把这种现象定义为
行为状态衰减(behavioral state decay)
要不要在主Agent旁边单独放一个记忆模型
问题定义:信息还在,为什么行动已经不受它约束
长上下文技术主要改善了信息的
可访问性
Meta:给主Agent再配一个副Agent来管记忆


具体来说,主Agent继续负责规划、调用工具和推进任务,而记忆Agent的职责是观察近期轨迹、维护结构化记忆库,并判断某条历史状态是否应该临时进入下一次主Agent调用。这种分工把“做事”和“记住做事过程中发生了什么”拆成了两个相对独立的系统职责。

近期轨迹与持久记忆共同输入
记忆Agent读取的近期轨迹窗口被表示为:

第一阶段:更新记忆库
记忆管理阶段被形式化为:


第二阶段:决定提醒还是沉默
完成记忆更新后,系统再执行干预策略:

干预动作只有两类:


记忆库被拆成三层
研究者把记忆库定义为:

这个三元组分别保存记忆Agent的私有状态、稳定知识和程序性经验,使得任务进度、环境事实与失败记录不会被压缩成一段难以更新的混合摘要。

这套设计与普通RAG的差异,不只是检索算法上的区别。RAG通常根据当前查询返回语义相似的记录,而记忆Agent还需要判断哪条状态会影响下一步行动,以及是否值得在此刻介入。它也不同与自由发挥的Advisor模型——后者可以重新规划任务或提出新策略,而论文中的记忆Agent被限制为基于已有执行状态提供提醒,避免两个Agent同时争夺规划权。
核心实验:这套方法确实有用,但随便放个小模型会变差



消融实验进一步说明了一个关键问题:有记忆库并不等于会使用记忆。如果把完整记忆库每一步都暴露给主Agent,整体表现优于无记忆基线,但在领域等权宏平均上,比完整方案落后了2.8个百分点。如果强制每一步都生成提醒,在任务加权平均上与选择性方案接近,甚至略高0.3个百分点,但宏平均稍差。因此,论文只能支持“允许沉默带来更均衡表现”的结论,不能断言它在所有指标上都更优。如果只保留干预模型、不维护持久记忆,电信任务有所提升,但航空任务却从68%下降到62%。使用Mem0的向量与BM25检索也能提高平均分,却依然没有改善航空任务。这再次说明:“找到历史记录”和“判断哪条记录此刻必须影响行动”是两件不同的事。

定性分析显示,记忆干预主要在五类关键时刻发挥作用:主Agent即将违反任务要求或服务政策、忽略已经验证的环境事实、重复此前失败的命令、丢失已经建立的错误诊断,以及混淆当前用户、订单、线路、代码分支或开放子目标。一个有效的提醒通常非常具体——比如指出当前正则仍遗漏了单数字节IPv4边界,或者提醒主Agent后台工具已经确认用户并非金卡会员。它恢复的是历史状态对下一步动作的约束,而不是重新生成一份宽泛的策略。

论文还训练了Qwen3.5-27B作为开放权重记忆Agent——说白了,就是放个小模型试试看行不行,并冻结Qwen3.5-122B-A10B主Agent,以测试这项能力能否从前沿闭源模型中蒸馏出来。结果给出了一个非常重要的工程结论:未经训练的27B记忆模型,把SETA验证奖励从0.709降到了0.693;SFT后提高到0.720;继续使用GRPO校准介入时机后,达到0.734。训练后的模型迁移到Terminal-Bench,又把主Agent的pass@1从37.6%提高到41.1%,增加了3.5个百分点。

SFT主要让模型学会结构化记忆工具、紧凑写法、过时状态更新以及“提醒或沉默”的接口规范,GRPO则根据最终验证器奖励来调整干预决策。一个长任务包含多次记忆调用,而结果往往只有成功或失败,研究者因此通过离线轨迹识别可能影响最终结果的关键转折步骤,把强化学习集中在这些pivot turns上。这说明,记忆模型的难点并非能否生成摘要,而是能否判断哪次介入真正值得付出成本,并承担影响主Agent的风险。
哪种类型的Agent值得单独配一个记忆模型
从这篇论文的结果来看,独立记忆模型最适合长轨迹、强状态依赖和高错误复发率的任务。例如:持续数十轮的编码调试、需要跨多轮遵守政策的客服工具Agent、存在多个用户或订单实体的业务流程,以及局部修复容易覆盖全局要求的自动化任务。对于这些系统,您需要单独维护稳定事实、尝试与结果、开放目标和风险,再在不可逆操作、重复失败或任务阶段切换前,决定是否注入提醒。单纯扩展上下文或统一做向量检索,很难稳定承担这项职责。
反过来,如果任务通常在少数几轮内结束、历史状态很少、错误重试成本低,或者产品对延迟和推理成本极为敏感,额外运行一个记忆模型未必划算。论文证明的是特定长程基准中“执行与记忆解耦”能够提高成功率,并没有证明所有Agent都应增加第二个模型。工程上真正需要判断的是:您的失败是否主要来自行为状态衰减,以及这些失败带来的成本,是否高于额外模型调用、状态存储和校准训练的成本。

结语
这篇论文给出的答案,并不是“所有Agent都应该再配一个模型”。它把一个长期被混在上下文管理里的问题单独拆了出来:主Agent即使看过某条信息,也不代表这条信息会在正确时刻继续控制行动。独立记忆模型的价值,在于维护一份可更新的执行状态,并在主Agent即将违反要求、重复失败或丢失诊断时,把最小必要信息重新送回决策回路。
所以,Agent该不该单独配一个记忆模型,最终取决于您的系统是否经常出现一种特殊故障:信息没有消失,主Agent却已经不再按它行动。若这类失败持续发生,增加一个受约束、能保持沉默、经过专门校准的记忆Agent,可能比继续扩大上下文或叠加通用检索更接近问题本身;若任务足够短、状态足够简单,第二个模型很可能只是额外成本。