如何做 AI Agent 的会话管理?
最近在做 Go Agent 框架 Covonaut ,分享一一下会话管理的设计思路。
核心想法其实很简单,就是将对话当成一棵不断生长的树。每条消息都以不可变记录的形式追加到 JSONL 日志里。这样一来,就能随时能从任意历史节点“分支”出新路径,拿来跑不同策略或者并行实验都很方便。
为了控制存储膨胀,做了“压缩”和“检查点”机制。长历史可以摘要成语义快照,定期做可恢复的快照,恢复速度能快不少。配合 HTTP 接口的 thread_id,服务端收到请求就能自动还原对应线程的上下文,执行完再持久化更新,持续会话和回溯都很顺滑。
