content/02-agent/deep-topics/memory/memory-module-research-framework.md

AI 记忆模块调研方法论

调研一个 Agent / 开源项目的记忆模块,本质是回答三个问题:它管什么记忆(架构)→ 工程上怎么用(成本/可观测)→ 到底比"全塞进上下文"强多少(评估)。 下面 8 个维度按「先架构、后工程、再评估」排列,每个维度给出"看什么 / 怎么量"。文末是可直接套用的打分表。

相关:从 RAG 到 Agent Memorymem0:记忆是什么·为什么·怎么做、记忆动手 Demo(code/memory/)。


1. 记忆类型与边界(它"管什么")

  • 短期 vs 长期:是否区分会话内缓冲(short-term / working memory)和跨会话持久记忆(long-term)。很多项目只有其一。
  • 记忆粒度:存原始对话轮,还是抽取后的"事实 / 偏好 / 实体"(fact extraction)。原始堆叠 vs 结构化抽取是分水岭。
  • 记忆分类:是否区分 episodic(事件)/ semantic(语义事实)/ procedural(技能流程)。

指标:记忆类型覆盖数、单条记忆平均 token、抽取压缩比(原文 token ÷ 存储 token)。

2. 写入路径(记忆怎么进来)

  • 触发方式:每轮自动写,还是 LLM 判断"值得记"再写(write-gating)。
  • 抽取 + 去冲突:新旧记忆冲突时覆盖 / 合并 / 追加(如 ADD / UPDATE / DELETE / NOOP 决策)。
  • 写穿透编排:短期满了如何沉淀到长期(consolidation)。

指标:每轮写入额外 LLM 调用数、写入延迟、去重/冲突解决正确率。

3. 检索路径(记忆怎么被用上)— 最核心维度

  • 召回方式:向量相似度 / 关键词 / 混合(hybrid + rerank)/ 图遍历。
  • 检索时机:每轮都检索还是按需;注入到 prompt 的位置与预算。
  • 过滤维度:是否支持按 user_id / session / 时间 / metadata 过滤(多租户必看)。

指标:recall@k、precision@k、MRR/nDCG、检索延迟 p50/p95、注入 token 占比。

4. 存储与后端

  • 向量库选型(Chroma / Qdrant / Milvus / pgvector…)、是否同时有 KV / 图库 / 关系库。
  • embedding 模型可换性、维度、索引类型(HNSW / IVF)。

指标:单 user 存储成本、写入/查询 QPS、规模上限(百万级向量是否退化)。

5. 遗忘 / 生命周期(最易被忽略)

  • TTL / 衰减 / 重要性打分、容量上限后的淘汰策略(LRU、相关性)。
  • 手动删除、用户级"被遗忘权"(GDPR)。

指标:记忆增长曲线、过期清理是否存在、陈旧记忆占比。

6. 工程化与可观测

  • API 抽象是否干净(add / search / update / delete / get_all)、是否绑死某框架。
  • 可观测:能否看到"这轮注入了哪些记忆、为什么命中"(可解释性)。
  • 多租户隔离、并发/一致性、故障恢复。

指标:额外 LLM/embedding 调用次数(成本核心)、端到端延迟开销、依赖数量。

7. 评估能力(项目自身能否证明有用)

  • 是否自带评测集 / benchmark(如 LOCOMO、长对话记忆基准)。
  • 对比基线:full-context(全塞上下文)vs RAG vs 该记忆方案的 准确率 / token / 延迟 三角权衡。

指标:任务答对率提升、token 节省比例、延迟代价。

8. 生态与成熟度(开源项目专属)

  • Star / 活跃度、release 节奏、issue 响应、文档质量、生产案例。
  • License、是否绑定自家云服务(开源版 vs SaaS 功能差距)。

速查打分表(调研时直接填)

维度关键问题量化指标评分(1-5)备注
1 类型边界短/长期?抽取还是堆叠?压缩比、记忆类型数
2 写入自动还是 gating?冲突如何解?写延迟、冲突正确率、额外 LLM 调用
3 检索向量/混合/图?如何过滤?recall@k、MRR、检索 p95
4 存储后端?可换 embedding?QPS、规模上限、单 user 成本
5 遗忘有无 TTL/淘汰?增长曲线、陈旧占比
6 工程框架耦合?可观测?总调用成本、延迟开销
7 评估自带 benchmark?准确率↑、token↓、延迟代价
8 生态活跃度/license?star、release 频率

最该盯的三个指标

  1. 检索 recall@k(有没有用)
  2. 每轮额外 LLM 调用与 token(成本)
  3. 答对率 vs full-context 基线的提升(到底比"全塞进去"强多少)

这三个决定一个记忆模块是否真的值得用。

评论