Skip to content

Agent 记忆前沿方向

1. 目前研究进展

  1. 记忆回溯问题
  2. 记忆时间线权重问题

1.1 记忆线性回溯

时间线回溯是一种线性的记忆模型,按照时间顺序存储和检索记忆。核心规则如下:

  1. 每条记忆存在生效时间和失效时间,记忆的生命周期由这两个时间点定义;
  2. 当记忆 B 入库时如果和记忆 A 冲突,则记忆 A 生命期结束时间设为记忆 B 的生效时间;
  3. 检索记忆时,返回在指定时间点生效的所有记忆。

举例说明:记忆线性回溯

假设有以下记忆入库顺序:

  1. 记忆 A:Alex 喜欢音乐,入库时间:2025-01-01
  2. 记忆 B:Alex 喜欢旅行,入库时间:2025-02-01
  3. 记忆 C:Alex 不喜欢音乐,入库时间:2025-03-01

则在不同时间点的记忆状态如下:

时间点有效记忆无效记忆
2025-01-15记忆 A
2025-02-15记忆 A, 记忆 B
2025-03-15记忆 B, 记忆 C记忆 A

1.2 记忆树回溯

树形记忆插入与检索策略,需要满足如下约束:

  1. 记忆系统要求在指定节点记忆给定条目的句子,每个句子称为一条记忆
  2. 节点是一颗树,从根节点出发,每个节点都可能携带一条或多条记忆,节点可能从任意位置开始扩展;
  3. 记忆之间的关系有:无关相同相反
  4. 查询从某节点向上汇聚到根节点的全部有效记忆;
  5. 当记忆有冲突时,以最接近查询节点(即最远离根节点)的为准;

举例说明:记忆树回溯

  • Root 写入:Alex like music
  • A 写入:Alex dislike music
  • D 写入:Alex love music

查询结果:

  • query(C):返回 #2: Alex like music(来自 A,覆盖 Root)
  • query(D):返回 #3: Alex love music(来自 D,覆盖 A 与 Root)
  • query(B):返回 #1: Alex like music(仅继承 Root)

记忆时间线算法(Memory Timeline)

最近提出记忆时间线算法,可以通过记忆时间戳来在单次向量查询中调整记忆的权重。

反思!我们应该如何实现记忆?

记忆一共有哪些?又应该如何分类?

通过记忆类比人类记忆进行分类

通过实现方式分类

  • 基于参数的记忆

  • 基于检索的记忆

  • 隐式嵌入记忆

  • 参数化记忆(如通过微调更新模型参数)易引发“灾难性遗忘”,即原有通用知识被侵蚀;

  • 检索式记忆(如将经验存入外部数据库)虽避免遗忘,但依赖静态上下文工程,无法实现推理与记忆的流畅交织,缺乏人类认知中“思考与记忆动态互塑”的特性。

第三范式:隐式嵌入(Latent Embedding)

MemGen 是一个动态生成式记忆框架,旨在为 LLM 智能体赋予类人认知能力,核心包含两大组件:

记忆触发器(Memory Trigger)

  • 功能:作为“元认知监视器”,观测智能体推理过程中的内部状态(如 LLM 生成 token 时的隐藏态),判断是否需要显式调用记忆。
  • 实现:基于强化学习(RL)训练的轻量 LoRA 适配器,仅在语义边界(如标点处)决策是否触发,平衡效率与有效性。 训练逻辑:通过奖励自适应惩罚机制,学习“在关键节点稀疏调用记忆以提升任务表现,同时避免无意义调用”。

记忆编织器(Memory Weaver)

  • 功能:以智能体当前状态为“刺激”,生成机器原生的 latent token 序列作为记忆,丰富推理过程。记忆生成不仅依赖自身参数知识,还可融合外部检索信息。
  • 实现:同样基于 LoRA 适配器,接收推理状态的隐藏态,生成固定长度的 latent 序列,并注入 LLM 推理流程。 训练逻辑:仅更新编织器参数(核心 LLM 冻结),通过监督微调(SFT)或强化学习(如 GRPO)优化,使记忆生成服务于下游任务奖励。

不同记忆范式对比

下图展示了不同记忆范式的对比:

MemGen

未来研究方向

  1. 隐式嵌入作为知识库 + 记忆,借助 vLLM 等推理引擎直接实现,可实现多模态知识库 + 记忆混合;
  2. 记忆组件路由

1. 隐式嵌入知识库 + 记忆

记忆 + 知识库一体化设计。

2. 记忆组件路由(Memory Component Router)

可训练路由器,根据输入动态选择合适记忆组件,提升记忆调用效率与效果。

路由设计

  1. 不使用路由器,全面召回。缺点是需要 ReRanker 性能好,捕获隐藏语义;
  2. 基于启发式规则的路由器,如关键词匹配、记忆使用频率等;
  3. 基于学习的路由器,使用微调模型(如 BERT+前馈分类)或者轻量模型(Embedding+任意分类器)实现。

能否同时路由到知识库检索?或者通过级联路由器实现层次路由?

参考文献

感谢聆听!