跳到主要内容

Agent 记忆系统

在构建能够进行多轮交互的 AI Agent 时,记忆系统是其核心组件之一。记忆使 Agent 能够保留先前交互的信息,从而学习反馈、适应用户偏好,并高效处理复杂任务。

Agent 记忆可分为短期记忆和长期记忆。

在 LangGraph 中,记忆就是"持久化的状态(Persisted State)"。记忆系统是 Agent 实现上下文感知和个性化服务的核心能力。

记忆类型概览

┌─────────────────────────────────────────────────────────────┐
│ Agent 记忆系统 │
├─────────────────────────────────────────────────────────────┤
│ 短期记忆 (Checkpointer) │
│ └── 与 thread_id 绑定,会话级生命周期 │
│ - InMemorySaver: 内存存储(开发用) │
│ - PostgresSaver: 数据库存储(生产用) │
├─────────────────────────────────────────────────────────────┤
│ 长期记忆 (Store) │
│ └── 跨会话持久化,用户级生命周期 │
│ - InMemoryStore: 内存存储(开发用) │
│ - PostgresStore: 数据库存储(生产用) │
└─────────────────────────────────────────────────────────────┘

短期记忆 vs 长期记忆

维度短期记忆长期记忆
生命周期与会话(thread)绑定,会话结束即清理与用户/业务实体绑定,跨会话持久
存储机制Checkpointer(检查点保存器)Store(键值存储 / 向量存储)
检索方式自动加载到上下文需主动调用工具或在节点中检索
存储形态对话历史(完整上下文)结构化档案 / 知识片段
核心场景多轮对话维持、失败恢复用户偏好、经验积累、个性化服务
隔离级别thread_iduser_id / namespace

核心组件

短期记忆三要素

  1. State(状态):定义存储消息的结构(通常是 MessagesState
  2. Checkpointer(检查点保存器):在每一步结束后把状态保存下来
  3. Thread ID(线程 ID):通过 config 传入,隔离不同用户的对话上下文

长期记忆三要素

  1. Store(存储):提供跨会话的持久化键值存储
  2. Namespace(命名空间):层次化路径组织数据,实现用户级隔离
  3. Memory Tool / Node(记忆工具/节点):在 Agent 中读写长期记忆的入口

记忆类型选择指南

场景推荐方案说明
单会话多轮对话Checkpointer自动管理对话历史
跨会话用户偏好Store精确存取结构化数据
模糊知识检索Store + 向量索引语义搜索相关记忆
企业级全场景Checkpointer + Store短期 + 长期组合使用

企业级架构