Agent 短期记忆
4.1 短期记忆介绍
短期记忆(Short-term Memory),也称为线程范围记忆(Thread-scoped Memory),是指 Agent 在单个线程/会话中记住先前交互的能力。其核心机制通过 Checkpointer 实现状态持久化,使用 thread_id 隔离不同会话的上下文。
短期记忆中保存的状态不仅包含对话历史(messages),还可以存储自定义的业务数据(如用户信息、会话变量等),从而实现更精细化的会话管理。
基本用法:
from langchain.agents import create_agent
from langgraph.checkpoint.memory import InMemorySaver
from init_llm import deepseek_llm
# 创建内存检查点保存器
checkpointer = InMemorySaver()
# 创建 Agent,通过 checkpointer 参数启用短期记忆
agent = create_agent(
model=deepseek_llm,
tools=[],
checkpointer=checkpointer
)
# 通过 thread_id 隔离不同用户的对话上下文
config = {"configurable": {"thread_id": "conversation_1"}}
# 第一轮对话:告知姓名
response = agent.invoke({"messages": [{"role": "user", "content": "你好,我叫张三"}]}, config)
print(response["messages"][-1].content)
print("="*20)
# 第二轮对话:验证 Agent 是否记住了姓名
response = agent.invoke({"messages": [{"role": "user", "content": "我叫什么名字?"}]}, config)
print(response["messages"][-1].content)
要点说明:
create_agent中的checkpointer参数用于启用短期记忆功能thread_id隔离不同用户的对话上下文,相同thread_id共享记忆- 每次
invoke后,会话状态自动保存到 Checkpointer 中
4.2 短期记忆使用方式
Checkpointer 是短期记忆的核心架构组件,负责状态的持久化管理。根据存储介质不同,可以选择内存存储(开发测试)或数据库存储(生产环境)。