博客

如何让错误假设远离 Agent 记忆

导读: 写入时就有误的记忆,很难靠检索质量补救。生产 Agent 需要在信息成为长期记忆前,区分用户陈述、环境事实、模型推断、操作流程和高影响状态。记忆张量 MemTensor 的 MemOS 提供系统层架构,让这些生命周期控制成为明确的操作。


Agent 可能把一次任务中的错误假设带入下一次任务。检查它学到了什么、保留来源,并在条件变化后重新审视记忆,有助于阻止错误传播。MemOS 提供从处理新信息到纠正已有记忆的工具,支持这一过程。

Agent 答错时,人们通常先检查召回内容。但问题可能更早就已出现:记忆建立在不完整观察上,或保存了一条从未验证过的结论。

在论文 Grounding Agent Memory: Environment-Probing Curation for Enterprise Agents 中,微软研究人员让记忆整理组件在任务结束后以只读方式访问环境。它可以核查存疑陈述,在后续任务使用前修改或跳过相应记录。

在论文包含模式变更的 40 道 CLBench 问题实验中,研究者使用 GPT-5.4 和 GitHub Copilot SDK 运行框架。记忆加环境探查系统的平均通过率为 73%,仅使用记忆为 70%,无记忆基线为 39%。加入探查后,每题平均查询次数从 5.6 降至 4.7,任务 Agent 成本从 1.99 美元降至 1.68 美元;这些成本未包含单独的蒸馏与整理阶段。

这些结果对应研究者的具体设置,也引出一个实际问题:Agent 把学到的内容传给下一次任务前,应该先核查什么?


一次有用观察,怎样变成误导性规则

假设数据库 Agent 在 customers_current 表中找到所需记录,完成任务后保存了一条说明:“查询活跃账户时使用 customers_current。”

这次查询可能只适用于某个地区或报告周期。保存的说明省略了条件,另一个 Agent 就可能将它用于更广泛的问题。检查表定义与相关业务规则,可以帮助明确建议的适用范围。

即使核查仔细,说明也可能过时。一个月后,这张表可能被更新频率更低的兼容视图替代。后续 Agent 需要识别变化并更新记忆。

类似问题还包括:接口已修复却继续推荐临时绕行方案;把临时审批流程保存为永久流程;把失败命令记成成功方案。政策可能在摘要时丢失生效日期,针对一个客户的规则也可能被推广到所有客户。

这些记忆都缺少后续任务所需的证据、条件或更新。检索能找到说明,但 Agent 还需要足够的信息判断它是否适用。


让结论可复用前,先核查内容

常见记忆流程从对话或任务历史出发,抽取有用信息并保存,供以后检索。在结论成为可复用建议之前,可以增加验证步骤。

原始对话和工具结果仍可作为证据保留。需要决定的是:哪些结论供未来任务使用,以及附带什么限制。保留这一区别,也便于团队在出错后检查摘要如何生成。

核查方式应与信息类型匹配。

信息核查内容
用户陈述或偏好保留谁在何时、何种背景下说过。“我喜欢简洁的周报摘要”可以直接记录,并在用户修改时更新。
环境事实检查相应系统,如数据库模式、代码仓库、API 规格或政策文档,并记录观察的版本或时间。
Agent 推断保留证据并标记为推断。“这位客户可能对价格敏感”应与客户明确表达的内容区分。
流程或技能保留前提条件与成功证据,采用适合该流程的测试或验收条件。

敏感程度与影响范围适用于以上所有类别。报告长短偏好所需的审核,可以少于一条可能改变访问权限或授权支付的流程。

只读检查往往足以消除疑问。编码 Agent 可以查看符号定义,数据库 Agent 可以检查模式或查询有限样本。有副作用的流程,则需要适当测试环境或其他成功证据。


MemOS 如何支持这一流程

MemOS提供添加、查找、纠正和删除记忆的操作。开发者可以将这些操作与自己的业务系统核查结合起来。应用选择权威来源,并实现前文所述的环境检查。


让记忆保留来源

开源服务中的 MemReader将对话、文档与图片处理为带来源信息的记忆条目。开发者可以使用添加接口的元数据附带来源位置、应用提供的验证结果等信息。

对数据库示例,可以记录数据库模式版本、核查时间,以及这张表适用的业务背景。后续回答异常时,团队就有排查起点。

验证应覆盖抽取后的结论。仅检查输入文档,可能遗漏从文档生成短记忆时引入的错误。


区分偏好与推断

MemOS Cloud 的记忆抽取接口区分明确偏好与根据行为推断的偏好,并返回推断依据。

这样,应用可以分别处理“我喜欢经济型酒店”和根据一次预订作出的猜测。开发者可判断推断是否适合推荐,或是否需要用户确认后再用于影响更大的操作。


信息变化时更新记忆

MemOS Cloud 在记忆维护中支持冲突与重复处理。时间感知机制保留变化状态,帮助检索区分当前事实与早期记录。

这些能力处理已经进入记忆系统的变化。数据库示例中,应用仍需发现模式变更或提供新证据,再通过反馈纠正建议,或使用相应记忆操作更新、删除受影响条目。


确定记忆可以在哪里使用

开源服务通过 MemCube组织记忆。请求可以指定读取或写入的空间,让应用隔离项目记忆,或向多个 Agent 开放选定信息。应用负责将这些选择与授权规则关联。

会话上下文承担不同职责。在开源检索接口中,session_id 帮助优先返回相关记忆,不构成会话间的强制隔离边界。


检查后台处理结果

记忆写入和纠错可以在后台运行。开源服务提供调度与状态操作来跟踪处理。MemOS Cloud 的任务状态接口报告处理状态,并在完成后返回受影响的记忆 ID 与变更摘要。

应用由此可以从提交跟踪到结果,再查看受影响条目,核对后续检索返回的内容。


把核查接入实际流程

先选择一种准确性对任务有重要影响的记忆,例如数据库使用建议或经常复用的客服流程。

  1. 抽取候选内容。 识别值得保存的结论或流程,保留来源。
  2. 核查证据。 检查权威系统,验证候选内容依赖的条件。证据不完整时,缩小结论范围或转交审核。
  3. 同时保存适用条件。 记录适用范围、核查时间,以及再次核查的触发条件,让已通过审核的候选内容参与复用。
  4. 检查结果。 写入或纠正后,检查操作结果,以及后续任务能取得的记录。
  5. 来源变化后重新审视。 数据库迁移、政策修订或 API 变化,应触发相关记忆的复核。

对 customers_current,有用的记录应包含适用地区与报告周期、建议依据,以及已核查的模式版本。涉及这张表的迁移,为复核提供了具体触发条件。


追踪记忆如何进入下一次任务

团队也需要观察流程是否有效。以下问题可指导应用与记忆服务之间的监测。

阶段检查内容
候选审核候选来自哪些来源,核查了什么证据,为什么接受、修订或拒绝
写入添加或修改了哪些记录,存在哪里,处理是否完成
检索返回了哪些记忆,哪些实际进入模型上下文
使用任务完成情况、重复错误、用户纠正,以及与无记忆基线的对比
维护哪些条目受来源变化影响,哪些核查已逾期,纠正是否进入后续检索
删除记忆存储与应用管理的副本、缓存是否完成删除

关联这些记录有助于排查失败。召回的记忆可能从未进入模型,进入提示词的记忆也未必能解释后续动作。追踪记录提供证据,确认因果仍需要测试。

首次评估可以先保存一条核查过的记忆,在后续任务中使用,再修改底层信息。确认纠正在后续检索中出现,Agent 也能用新信息完成任务。这检验了持续工作中最有价值的部分:把有用知识带向未来,并持续允许纠正。


关于 MemTensor 与 MemOS

MemTensor 为 AI 应用与 Agent 开发记忆基础设施,工作覆盖 Memory³ 研究、MemOS、Agent 记忆基础设施和记忆原生模型研究。MemOS 通过 API、开源组件和集成方案,将这些工作用于跨任务的信息存储、检索与维护。