1. 记忆管理的重要性
- 有效的记忆管理是智能 Agent 保持信息、维持上下文和持续改进的核心能力。
- 没有记忆,Agent 就是无状态的,只能进行一次性交互,无法处理多步骤任务或个性化需求。
- 记忆分为 短期记忆(上下文记忆) 和 长期记忆(持久记忆)。

2. 短期记忆(上下文记忆)
- 类似人类的工作记忆,保存当前或最近的信息。
- 在 LLM 中主要依赖 上下文窗口,包括:
- 最近消息
- Agent 回复
- 工具调用结果
- 当前交互中的反思
- 特点:
- 容量有限,需通过 总结、提取关键点 来优化。
- 即使“长上下文”模型出现,本质仍是临时性的,会话结束即丢失。
- 成本高,效率有限。
3. 长期记忆(持久记忆)
- 类似人类的长期知识库,跨会话、跨任务保存信息。
- 常见存储方式:
- 使用方式:
- Agent 在需要时查询外部存储
- 检索相关数据并整合到短期上下文中
- 实现“过去知识 + 当前交互”的结合
4. 典型应用场景
- 聊天机器人:短期记忆维持对话流畅,长期记忆回忆用户偏好与历史。
- 任务型 Agent:短期记忆跟踪步骤与进度,长期记忆调用用户相关数据。
- 个性化体验:长期记忆存储用户习惯与信息,实现定制化交互。
- 学习与改进:长期记忆保存成功策略与错误,支持强化学习。
- 信息检索(RAG):通过知识库增强回答能力。
- 自主系统(机器人/自动驾驶):短期记忆处理即时环境,长期记忆保存地图与经验。
5. Google ADK 中的记忆管理
- 核心组件:
- Session(会话):单个对话线程,包含消息、事件和临时数据。
- State(状态):会话中的临时工作记忆,以字典形式存储。
- Memory(记忆):跨会话的长期知识库,可搜索调用。
- 服务:
- SessionService:管理会话生命周期(启动、记录、恢复、删除)。
- MemoryService:管理长期知识的存储与检索。
- 状态管理方法:
- 简单:通过
output_key
自动保存 Agent 回复。 - 标准:通过
EventActions.state_delta
精细更新。 - 推荐:封装为工具(如用户登录计数器),避免直接修改
session.state
。
6. LangChain 与 LangGraph 的记忆
- 短期记忆:跟踪单个会话上下文,LangGraph 用检查点器持久化。
- 长期记忆:跨会话存储用户数据,支持个性化与学习。
- 记忆类型:
- 语义记忆:事实与知识(如用户偏好)。
- 情景记忆:经历与任务执行过程。
- 程序记忆:规则与指令,可通过“反思”机制自我改进。
- 工具:
ChatMessageHistory
:手动管理历史。ConversationBufferMemory
:自动注入历史到提示词。- LangGraph
BaseStore
:存储 JSON 文档,支持命名空间与搜索。
7. Vertex AI Memory Bank
- Google 提供的托管长期记忆服务。
- 特点:
- 自动提取对话中的关键信息与用户偏好。
- 按用户 ID 等范围存储,支持语义搜索。
- 跨会话保持连续性,实现个性化。
- 与 ADK、LangGraph、CrewAI 等框架无缝集成。
8. 核心要点回顾
- 短期记忆:临时、依赖上下文窗口,维持即时对话。
- 长期记忆:持久、依赖外部存储,支持跨会话个性化与学习。
- ADK:Session(会话)、State(状态)、MemoryService(长期记忆)。
- LangChain/LangGraph:提供自动化记忆工具与长期存储机制。
- Memory Bank:托管服务,自动化长期记忆管理。
9. 结论
- 记忆管理是智能 Agent 从“问答工具”进化为“持续学习、个性化助手”的关键。
- 本章奠定了 短期与长期记忆的区分与实现方式,为下一章“学习与适应”做铺垫。