问题域/PD-437

会话与线程管理

Session & Thread Management

多线程会话的创建、切换、持久化和状态隔离

子问题

1.线程创建与元数据管理

2.对话历史持久化

3.线程切换与状态恢复

4.会话压缩与清理

5.线程模糊搜索与 did-you-mean 提示

6.checkpoint blob 反序列化获取消息计数

7.线程切换的事务性回滚保护

各项目的解法1 solutions

Signals

横向对比

维度DeepAgents
持久化方式AsyncSqliteSaver + LangGraph Checkpointer 原生机制
线程标识uuid4 截取 8 字符 hex,CLI 友好
元数据存储checkpoint metadata JSON 字段,json_extract 查询
状态恢复aget_state + bulk_load 虚拟化渲染,事务性回滚
压缩策略SummarizationEvent cutoff_index 叠加,LLM 生成摘要 + 后端存储导出
durability 模式exit 模式,仅 stream 结束时写 checkpoint

最佳实践

1.基于 LangGraph Checkpointer 实现线程级状态隔离

2.使用 SQLite 持久化线程元数据

3.用 durability=exit 减少 SQLite I/O,仅 stream 结束时写 checkpoint

4.线程切换采用 save-switch-rollback 事务模式防止状态损坏

5.通过 monkey-patch 解决 aiosqlite 与 langgraph-checkpoint 版本兼容问题