LangChain1.x 的短期记忆是三者的组合:
State(会话内部状态) + Checkpointer(持久化机制) + Thread ID(会话作用域)
- State :默认存储历史消息列表messages ,通过State 管理历史消息
- Checkpointer :负责将State 作为检查点持久化保存,检查点是某个时刻的State 快照
- Thread ID :用于唯一标识State ,LangChain运行时会按照 thread_id 读写State快照
2.1 基于内存的持久化器
这是最便捷的使用方式,适合快速测试或调试。
2.1.1 举例1:没有记忆
![图片[1]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1120.png)
![图片[2]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1121.png)
2.1.2 举例2:拥有记忆
步骤1:第一二轮对话
![图片[3]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1122.png)
![图片[4]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1123.png)
说明:你只需传入 checkpointer 和 config,Agent 就能自然具备连续对话能力。
![图片[5]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1124.png)
步骤2:第三轮对话
当我们再次进行对话时,直接带入线程ID,即可带入此前对话记忆:
![图片[6]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1125.png)
![图片[7]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1126.png)
说明:第三轮对话中的 “我刚才问了什么问题?” 就能在第二轮存储的消息历史中找到答案。所有消息历史都会自动追加到 AgentState 的 messages 字段中,无需手动维护。
步骤3:更新线程ID
而如果更新线程ID,则会重新开启对话:
![图片[8]-2、短期记忆-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1127.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















请登录后查看评论内容