大模型智能体的记忆模块设计

大模型智能体(LLM Agent)的核心能力之一是“记忆”。没有记忆,模型只能进行短期上下文补全;有结构化记忆后,智能体才能具备持续理解、跨会话推理与个性化能力。

当前主流记忆框架包括:


一、基础概念澄清

1. QA Turn

一次“问答对”(User → Assistant)构成一个 QA Turn。

Turni=(Useri,Assistanti)

其为最小对话单元。

2. Session

一次完整的交互会话。
从用户进入系统开始,到用户主动结束或超时终止为止。

Session 表示一次连续交互过程:

Session=Turn1,Turn2,...,Turnn

Session 是逻辑边界单位,而非推理输入单位。

3. Context

当前推理所需的全部上下文信息,包括:

Context=SystemPrompt+WorkingMemory+RetrievedMemory+ToolResults

Context 是模型输入的一部分,而不是存储单位。


二、记忆分层设计

在工程实践中,记忆系统通常采用三层结构:

窗口记忆(Working Memory)→ 当前推理输入
短期记忆(Session Memory)→ 会话级结构化摘要
长期记忆(Persistent Memory)→ 跨会话长期存储

三、窗口级记忆(Working Memory)

定义

当前推理时输入给 LLM 的消息列表(messages)。

包含:

不包含:

特点

问题

常见优化策略

  1. 滑动窗口(仅保留最近 N 轮)
  2. 中间截断(保留开头指令 + 最新对话)
  3. 动态压缩摘要
  4. 分层上下文注入(指令与对话分离)

四、短期记忆(Session Memory)

定义

对一个 Session 进行结构化总结后的记忆表达。

目标:


典型流程

flowchart TD
    A[对话进行中] --> B[检测是否需要总结]
    B --> C[调用LLM生成Session Summary]
    C --> D[结构化信息抽取]
    D --> E[更新当前Session Context]
    E --> F[作为后续Prompt输入]

短期记忆内容结构示例

{
  "user_goal": "...",
  "constraints": "...",
  "important_facts": ["..."],
  "decisions_made": ["..."],
  "open_questions": ["..."]
}

优点

缺点


五、长期记忆(Persistent Memory)

长期记忆用于跨 Session 维持用户画像、历史行为与知识沉淀。


长期记忆实现方式对比

1. 原始对话存储(全文存储)

存储方式:

优点:

缺点:


2. QA Turn 向量化

对单条对话做 embedding。

优点:

缺点:


3. Session 整体向量化

对整个 session 做 embedding。

优点:

缺点:


4. 实体抽取 + 向量化

步骤:

优点:

缺点:


5. 知识图谱记忆(Graph Memory)

结构:

graph TD
    User -->|喜欢| Python
    User -->|常用框架| LangChain
    User -->|工作领域| NLP
    NLP -->|相关技术| Transformer

优点:

缺点:

适用于高价值 Agent 系统。


六、完整记忆架构设计示意

flowchart LR
    A[User Input] --> B[窗口记忆]
    B --> C[短期记忆]
    C --> D[长期记忆检索]
    D --> E[构建完整Context]
    E --> F[LLM推理]
    F --> G[生成回复]
    G --> H[更新短期记忆]
    H --> I[异步更新长期记忆]

关键点:


七、Embedding 模型选择建议

不同文本长度适配不同模型:

类型 推荐策略
短文本(实体、单轮对话) BM25 + 轻量 embedding
中等文本(QA Turn) BGE-M3、多语言 embedding
长文本(Session) 长文本专用 embedding
高精度场景 ColBERT 类 late-interaction 模型

八、三类记忆对比总结

类型 实时性 预处理 是否跨 Session 成本 典型问题
窗口记忆 实时 否 否 高 token 消耗 上下文爆炸
短期记忆 准实时 轻量 部分 中 总结失真
长期记忆 异步 重 是 高 检索噪声

九、工程实践关键点

  1. 记忆不是越多越好,关键在“可检索性”
  2. 必须区分“存储”与“召回”
  3. 长期记忆必须带时间戳
  4. 需要记忆衰减机制
  5. 支持用户可控删除
  6. 检索结果必须再次重排序
  7. 防止记忆污染(错误写入)

十、常见设计误区


十一、进阶方向

  1. Episodic Memory(事件记忆)
  2. Semantic Memory(语义知识)
  3. Procedural Memory(技能记忆)
  4. 记忆强化学习(Memory-aware RL)
  5. 自我反思机制(Self-Reflection Loop)

结论

一个成熟的大模型智能体记忆系统应具备:

窗口解决“当前对话”,
短期解决“当前目标”,
长期解决“用户历史”。

三者缺一不可。