Meta 研究展示用专门的记忆 Agent 维护结构化状态库,避免多步任务中反复诊断相同错误,性能提升 8.3%。
在执行长时间任务时,AI Agent 经常会忘记约束条件,重复执行已经失败的命令,并重新发现那些早已诊断过的错误。Meta AI 提出了一种记忆模块,用于跟踪这些信息,并决定何时提醒 Agent。
在一篇新论文中,Meta AI 的研究人员描述了这些失败是如何发生的:Agent 在早期识别出一项约束,却在修复一个无关 bug 时违反了它;Agent 发现某条命令执行失败,却很快又尝试了一个几乎完全相同的版本;Agent 已经诊断出某种错误模式,后来再次遇到时,却又把它当成新问题处理。
作者将这种现象称为“行为状态衰减”(behavioral state decay)。用于指导 Agent 决策的状态,会逐渐散落在不断增长的任务历史中。这些状态可能被深埋在 context window 中,甚至彻底掉出 context window。即使相关信息仍然保留在对话记录或 context window 里,它也未必还能可靠地影响 Agent 的行为。Meta AI 表示,仅仅让 Agent 能够访问更长的历史记录,并不能解决这个问题。
现有的记忆系统主要关注信息的存储、更新和检索。论文指出,这种方式很适合个性化,以及跨 session 的信息回忆。但对于正在执行任务的 Agent 来说,还存在另一个问题:系统必须判断,某段记忆是否有用到值得重新带回当前上下文。
提醒太少,会导致 Agent 重复犯错;提醒太多,则会增加延迟、消耗 token,并分散 Agent 对当前工作的注意力。
这已经超出了摘要的范畴:摘要器只需要决定保留哪些信息,而 Meta 的系统需要判断,某个已经存储的执行状态是否应该影响 Agent 的下一步行动。由于不同任务的失败模式差异很大,固定的摘要规则无法可靠地做出这种判断。
这套系统将一个未经修改的“行动 Agent”(Action Agent)与一个独立的“记忆 Agent”(Memory Agent)组合起来。记忆 Agent 会按照固定的时间间隔,检查由最近若干步骤构成的滑动窗口,并更新一个结构化记忆库。随后,它会决定是在行动 Agent 的下一次调用中加入一条简短提醒,还是保持沉默。
作者表示,该模块可以作为即插即用组件,与现有 Agent 和 harness 配合使用。与通用顾问模型不同,它只提供基于记忆的提醒,不会给出更广泛的策略建议。
Memory Agent 与未经修改的 Action Agent 并行运行,并在每次预定检查时决定,是添加提醒,还是保持沉默。|图片:Meta

记忆库分为三个部分。一个私有的状态字段负责跟踪任务进度和尚未解决的风险,但永远不会展示给 Action Agent。Knowledge Memory 用于存储需求、文件路径和配置等稳定事实。Procedural Memory 则记录 Agent 尝试过什么以及结果如何,包括失败的命令、成功的修复方案和已经被否定的假设。
在每个记忆步骤中,Agent 只能通过预先定义的工具调用来更新记忆库,不能随意覆盖其中的内容。随后,它会决定是否重新激活某个已经存储的状态;如有必要,还会编写一条有针对性的提醒。选择不介入,本身也是这套策略的一部分。
在阶段 1 中,Agent 更新其结构化记忆库。在阶段 2 中,它判断是否应该让某段已存储的记忆影响 Action Agent 的下一次决策。|图片:Meta

研究人员在 Terminal-Bench 2.0 上测试了这套系统。该 benchmark 用于评估自主 Agent 在真实命令行环境中的表现。他们还使用了 tau2-Bench,该 benchmark 测试 Agent 在航空、零售和电信领域的对话式工具使用能力。Claude Opus 4.6 担任记忆 Agent,不过此后该模型已经经历了多次更新。
使用较旧的 Claude Sonnet 4.5 作为行动 Agent 时,系统首次尝试便解决了 46% 的 Terminal-Bench 任务,而 baseline 的解决率为 38%。在 tau2-Bench 上,按任务加权的平均得分从 55% 提升到了 62%。
不同领域的结果存在差异。航空和零售任务的得分都提升了约 10 个百分点,而电信任务只提升了 3 个百分点。研究人员表示,这种不均衡的增益说明,记忆 Agent 会根据任务类型以不同频率介入,而不是应用一套固定的信息聚合规则。
对于能力较弱的 Agent,增益更加明显;但换成更强的 Agent 后,提升并没有消失。Opus 4.6 在 Terminal-Bench 上提高了 2.4 个百分点,在 tau2-Bench 上提高了 2.5 个百分点。这一结果表明,记忆系统的作用并不只是弥补较弱模型能力有限的问题。
为了确定系统中的哪些部分真正带来了提升,研究团队每次移除一种能力进行测试。当行动 Agent 在每一步都会收到完整记忆库时,其表现反而低于完整系统。另一个取消了“保持沉默”选项、每一步都会返回一段记忆的版本,虽然仍有竞争力,但在不同领域中的增益不够稳定。
一个没有持久化记忆库、采用顾问模式的版本,在某些领域有所帮助,却在其他领域降低了性能。综合维护记忆库与选择性提醒的完整设计表现最好。
这种方法的表现也超过了 Mem0。Mem0 是一个通过搜索检索记录的生产级记忆层。两者的差异并不只在于系统检索了哪些记录。记忆 Agent 还会决定某个已存储的状态是否应该进入当前循环,以及应该如何以针对性提醒的形式进入。
tau2-Bench“航空”领域中的一个例子展示了这种机制如何发挥作用。一名用户声称自己拥有 Gold 会员身份,但工具识别出他只是普通客户。baseline 根据用户自己的说法给予了补偿;记忆 Agent 则发出提醒,要求以工具验证过的数据为准。
其余大部分错误涉及的是校准问题,而不是记忆问题。例如,在某些情况下,记忆 Agent 会对推测性结论表现出过高的置信度。
主要版本不需要专门训练过的模型,而是以基于 prompt 的 Agent 形式运行。研究团队还测试了能否将这种介入策略教给开放模型。他们训练了较小的 Qwen3.5-27B 作为记忆 Agent,同时冻结一个规模大得多的行动模型。
未经训练时,较小的记忆 Agent 会降低系统性能。监督微调弥补了这部分损失,后续的强化学习则进一步改善了它对于何时应该回忆已存储状态的判断。
Meta AI 列出了几个尚待解决的问题,包括联合训练记忆 Agent 和行动 Agent;让系统学会在需要时自行调用记忆,而不是遵循固定时间表;以及确定在什么情况下,字面记忆会比针对具体任务的抽象表示更加有效。
Meta AI 已经在 GitHub 上发布了该项目的代码。
Meta 并不是唯一遇到这个问题的团队,目前整个行业仍然没有形成标准方法。开源框架 Mastra 使用两个后台 Agent 来监控并压缩对话,而不是把完整历史一直保留在 context window 中。GAM 系统旨在防止长对话中的“context rot”,并且和 Meta 的方法一样,也将其结果与 Mem0 记忆层进行了比较。还有一些研究人员正在设计终身 AI 记忆系统,使其能够主动添加、修订和遗忘知识。
订阅 THE DECODER,即可享受无广告阅读、每周 AI 新闻简报、每年六期独家前沿报告“AI Radar”、完整历史文章访问权限,以及评论区访问权限。
阅读完整内容,了解事件全貌。订阅我们,获取不炒作的报道。
访问 THE DECODER 的全部文章。
不受干扰地阅读——没有 Google 广告。
访问评论和社区讨论。
每周 AI 新闻简报。
每年 6 期:“AI Radar”——深入解读重要 AI 主题。
KI Pro 在线活动最高可享 25% 优惠。
访问我们完整的十年文章存档。
获取 The Decoder 最新的 AI 新闻。