Skip to content

Agent State 与 Checkpoint 应该保存哪些内容?

题型:追问 · 区分业务状态、执行状态和可重建数据。

建议回答

Agent State 至少包含会话与运行标识、当前节点、用户目标、消息或摘要、计划、工具调用请求与结果、检索引用、步数、Token 预算、错误信息和中断原因。Checkpoint 保存的是可恢复的一致性快照,还要带图版本、Prompt 版本、模型与工具版本、乐观锁版本以及创建时间。

并不是所有内容都要复制进 Checkpoint。大体积文档、完整模型流和工具原始响应可以单独存储,在状态中保留引用;敏感参数应脱敏或加密。状态更新最好由节点返回增量,由统一 reducer 合并,避免多个节点直接修改共享对象。

设计原则

  • 可恢复:能判断从哪个节点继续,而不是只能重新跑全链路。
  • 可追踪:能解释某一步使用了什么输入、版本和工具结果。
  • 可演进:图或状态结构升级后有版本迁移策略。
  • 可隔离:tenantId、userId、conversationId 和 runId 边界明确。

易错点

  • Checkpoint 不等于把所有日志序列化一次。
  • 不要保存可重新计算但体积巨大的中间数据。

知识关系

从当前问题继续深入,或者回到提出这个问题的知识入口。