Damnatiox
DOCUMENT / published

Memory Pipeline:写入、检索、更新与遗忘

Memory Pipeline:写入、检索、更新与遗忘 1. 写入 Pipeline 候选提取可以用模型,最终写入需要确定性验证。每条记忆保留来源事件 ID,便于追溯和删除。 2. 检索 Pipeline 先按 user/workspace/project 做隔离,再做相似度检索。对版本、依赖、当前负责人等易变事实,在使用前主动刷新。 3. 冲突处理 当新旧记忆冲突: 比较来源权威性和时间; 查看适用 scope; 不确定时同时返回并标

Memory 2026/8/243 分钟阅读
# Agent# Agent Engineering# Knowledge与Memory

Memory Pipeline:写入、检索、更新与遗忘

1. 写入 Pipeline

Text
event -> candidate extraction -> classification -> dedup/conflict check -> policy and sensitivity check -> user confirmation when needed -> structured storage -> index update

候选提取可以用模型,最终写入需要确定性验证。每条记忆保留来源事件 ID,便于追溯和删除。

2. 检索 Pipeline

Text
task + scope -> query construction -> metadata filter -> hybrid retrieval -> freshness/confidence rerank -> conflict resolution -> context selection

先按 user/workspace/project 做隔离,再做相似度检索。对版本、依赖、当前负责人等易变事实,在使用前主动刷新。

3. 冲突处理

当新旧记忆冲突:

  • 比较来源权威性和时间;
  • 查看适用 scope;
  • 不确定时同时返回并标记冲突;
  • 对明确更新建立 supersedes
  • 不把模型推断自动升级为确定事实。

4. 遗忘

遗忘不是只按时间删除:

  • TTL 到期;
  • 用户主动删除;
  • 项目关闭;
  • 被新版本取代;
  • 低价值且长期未使用;
  • 敏感数据达到保留期限。

清理需要覆盖主存储、向量索引、缓存、备份策略和派生摘要。

5. 质量指标

  • 写入 precision:保存的记忆中真正有价值的比例;
  • recall relevance:召回内容与当前任务相关程度;
  • stale rate:过期事实比例;
  • contradiction rate:冲突未被识别的比例;
  • leakage rate:跨 scope 错误召回;
  • memory utility:加入记忆后任务成功率的提升;
  • token overhead:记忆占用上下文成本。

6. 最小实现建议

先用关系表保存结构化字段和全文索引,只有数据量和语义召回需求明确后再加向量索引。先实现可查看、可编辑、可删除和来源追踪,再追求自动化“无限记忆”。

7. Memory Lifecycle

stateDiagram-v2 [*] --> Candidate Candidate --> Stored: 验证主体、来源、价值 Stored --> Retrieved: 查询命中 Retrieved --> Reinforced: 新证据确认 Retrieved --> Corrected: 新证据冲突 Stored --> Expired: TTL 或策略变更 Corrected --> Stored: 写入新版本 Reinforced --> Stored Expired --> Archived

更新不要原地覆盖并丢失历史。采用版本、supersedes 关系和变更原因,才能解释当前记忆从何而来。冲突时可按来源可靠性、时间和用户显式确认决定;仍不确定时把冲突显式带入 context。

8. 遗忘是质量机制

遗忘包括 TTL、低价值衰减、主体删除请求、策略迁移和冲突淘汰。系统应测量写入接受率、检索命中后的实际使用率、过期记忆比例、错误记忆导致的任务失败,以及单主体存储增长。记得越多并不等于效果越好。