Skill 与工作流

持久化执行(Durable Execution)

也叫: Durable Execution · 持久执行 · 断点续跑 · 可恢复执行 · checkpointing

持久化执行是一种运行时方式:记录每一步的进度和结果,让长时间运行的工作流或 Agent 在故障、重启或长时间等待后能从中断处继续。

Agent 一跑就是几分钟、几小时甚至几天:调用工具、等 API 返回、暂停等待人工批准。在普通进程里,中途崩溃、发布或超时会丢掉全部进度,而从头重跑还可能重复副作用,比如发两遍邮件、扣两次款。

持久化执行通过保存进度来解决这个问题。每一步完成后,它和结果都写入持久化存储;进程挂了,新的 worker 利用已保存的结果回放这次运行,从第一个未完成的步骤继续。Temporal 这类工作流引擎普及了这种模型,如今一些 Agent 框架也基于同样思路提供了检查点功能。

它与 human-in-the-loop 审批天然搭配:一次运行可以等上好几天,而不必一直占着一个进程。

怎么运作

引擎记录一份步骤历史(调用、结果、定时器、收到的信号)。恢复时,它从头重新执行工作流代码,但已完成的步骤直接返回记录下的结果而不是再执行,于是执行会快速推进到之前停下的位置。由于回放会重新运行你的代码,工作流逻辑通常要求是确定性的,而带副作用的工作放在单独的步骤里,只记录执行一次。通常还内置带退避的重试和超时。

举个例子

一个 Agent 调研某个主题、起草报告,然后等经理批准后再发邮件。服务器在夜里重启了。重启后这次运行开始回放:调研和起草的步骤立即返回已保存的结果,然后继续等待批准。邮件只发一次,而不是两次。

和相关概念的区别

持久化执行与 state-machine-agent:状态机描述 Agent 逻辑允许的状态和转换;持久化执行则是“进度能扛住故障”的运行时保证。状态机 Agent 可以跑在持久化运行时上,但一个并不蕴含另一个。

常见误解

常被以为: 持久化执行自动保证每一步恰好执行一次。
实际上: 步骤会被记录,但在崩溃前刚成功的外部调用,重试时可能被重复。带副作用的操作仍需要幂等键或可安全重复的设计。

常见问题

持久化执行是什么?
一种运行时方式,保存每一步的进度和结果,使长时间运行的工作流或 Agent 在崩溃或重启后能续跑而不是从头开始。
AI Agent 为什么需要持久化执行?
Agent 运行时间长,涉及缓慢、昂贵、有副作用的工具调用和人工等待;没有持久化的进度,一次故障就意味着重复工作或重复副作用。
检查点(checkpointing)和持久化执行是一回事吗?
检查点(在运行中的某些点保存状态)是核心机制;持久化执行通常还在其上加了回放、重试、定时器和等待外部信号。

最近核实: 2026-09-20

相关术语