给 LangGraph 加上 Persistence 保存会话状态
用 LangGraph checkpointer 持久化图状态,支持断点续跑与线程恢复。
基于 LangGraph Docs 整理 · LangGraph · 官方资料
没有 persistence,Agent 一重启就丢上下文。LangGraph 用 checkpointer 按 thread_id 保存状态。
这篇完成:给图挂上 MemorySaver(或官方推荐的 checkpointer),用同一 thread_id 连续对话。
编译图时传入 checkpointer
MemorySaver + thread_id
python
from langgraph.checkpoint.memory import MemorySaver
from langgraph.graph import StateGraph
# graph = StateGraph(...).compile(checkpointer=MemorySaver())
# config = {"configurable": {"thread_id": "demo-1"}}
# graph.invoke({"messages": [("user", "你好")]}, config)
# graph.invoke({"messages": [("user", "还记得我刚说的吗?")]}, config)生产环境改用官方支持的持久化 checkpointer(如 Postgres),不要把 MemorySaver 当唯一方案。
最容易踩的坑
每次请求都像新会话
确认 compile 时传入了 checkpointer,且 configurable.thread_id 保持一致。