TodayAI

给 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 保持一致。

官方资料

LangGraph DocsPersistence