一个执行时间较长的智能体任务,中途可能因为网络、超时或人工干预而中断。 如果每次中断都从头再来,既浪费成本,也可能重复执行有副作用的操作。 把执行过程建模成有限状态机,是相对容易落地的一种做法。

状态怎么切

按任务的实际阶段来切,常见的有:待开始、规划中、执行中、等待人工确认、已完成、失败。 每个状态只允许跳转到有限的几个下一状态,跳转条件写清楚。这样流程就是可枚举的, 出问题时能直接定位卡在哪一步。

持久化什么

  • 当前状态,以及进入这个状态的时间。
  • 已经完成的步骤和每一步的产出。
  • 剩余的待办步骤。
  • 外部依赖的标识,比如已经创建的资源 ID。

恢复时从哪继续

恢复时读取最近一次成功步骤的状态,从它的下一个步骤继续,而不是重跑整个流程。 对于有副作用的操作,执行前先检查共享状态里是否已经有对应的结果, 有就直接复用,避免重复创建。

幂等性

给每个有副作用的操作分配一个稳定的幂等键,比如任务 ID 加步骤名。 执行方按这个键去重,即使同一条指令被投递两次,也只会生效一次。 这是中断恢复能安全工作的前提。

小结

状态机不是什么新技术,但它把「执行到哪了」这件事变得明确、可持久化、可恢复。 流程越长、副作用越多,收益越明显。