记忆、状态与会话
从会话标识到 SQLite 和 PostgreSQL 持久化,结合复习卡片理解 Agent 短期记忆。
阅读设置
本笔记对应尚硅谷 LangChain 记忆主题的学习练习,原练习文件为 8.ipynb、9.ipynb。这里整理概念与调用结构,具体包版本需随练习环境固定。
Checkpointer 做什么
模型请求只使用本次提供的上下文。应用把先前状态恢复并加入本轮输入,才能实现跨轮对话。LangGraph checkpointer 保存执行检查点,其中可以包含消息历史及其他图状态,不只是一个聊天记录文件。
config = {"configurable": {"thread_id": "demo-thread"}}
response = agent.invoke(
{"messages": [{"role": "user", "content": "我叫小明"}]},
config=config,
)
同一 thread_id 可以继续同一会话状态。它不是认证或授权边界:Web 服务必须验证用户是否有权访问该会话,不能直接相信客户端传入的任意 ID。
Checkpointer 通常用于线程级短期状态。跨会话长期记忆还需要适当的 Store、检索与生命周期策略。历史也可能经过裁剪、摘要和工具处理,并非总把所有历史无条件发送给模型。