Agent 的记忆如何分层

一句话速记

时间范围可检索性分:短期/工作记忆(当前会话与 scratchpad)、长期/语义(向量库、文档)、过程/情节(按 episode 或轨迹存,用于复盘与少样本学习);工程上常再加结构化**(表、图)与事实校验层。**

与认知科学名词类比,实现不必一一严格对应,讲清每类管什么、怎么写怎么读即可。

分层(常考名与用途)

层级常叫法存什么怎么读风险
工作记忆context window, scratchpad, short-term最近若干轮、当前子目标、中间结论直接拼进 prompt长度上限;要摘要与裁剪
语义 / 长期RAG, knowledge base, doc store领域文档、手册、跨会话知识检索 top-k 再注入过时/冲突需重排
情节 / 轨迹episodic, trajectory log过去任务的 action-observation、成败少样本、反思、调参隐私、合规、体积要脱敏
工作记忆摘要summary memory对长对话的压缩段落替代原始轮次摘要丢细节;可多层摘要

程序性(procedural)记忆在系统里多体现为固定代码工作流配置工具 schema——不放在 LLM 里背,别和向量库混成一类;可总结一句**「规则与代码算系统记忆,模型侧记检索类」**。

和「向量库=记忆」的纠偏

  • 向量库只解决 O(1) 语义检索 的一种长期形态;键值关系库 同样可以是长期记忆。
  • 记忆写入策略:实时写、定期 consolidation(合并重复)、遗忘(LRU、重要性抽样)。

延伸追问

  • Q:记忆和 RAG 何异?
    答:RAG 是查外部知识的一种读路径记忆在 Agent 里还包含本任务中间状态、跨轮承诺、自生成 scratchpad——范围更大Agentic RAG 则把「何时查、改 query、多跳」也交给策略

  • Q:多智能体共用一个记忆还是隔离?
    答:可 共享知识库 + 每角色私聊 scratchpad;冲突需 归并者 角色设计。

  • Q:长上下文=不用分层?
    答:检索与摘要仍要:成本、首 token 时延注意力分散关键事实定位 都不随窗口线性变好。

我的记法

TODO

状态

  • 已背速记
  • 能讲通俗版
  • 能答追问

参考资料

  • 综述类 Memory in LLM Agents 主题;实现层面见各框架的 memory module 设计说明。