GUIDES / STEP BY STEP

记忆、状态与会话

从会话标识到 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、检索与生命周期策略。历史也可能经过裁剪、摘要和工具处理,并非总把所有历史无条件发送给模型。

系列章节

01记忆、状态与会话→02SQLite 与 PostgreSQL 持久化→03复习卡片与验证→