先给结论:跨小时、跨天或等待外部回执的 Agent 任务,必须脱离聊天窗口,成为有持久状态、断点、租约、超时和审计记录的业务任务。 进程还在跑不是可靠性,能在中断后解释“做到哪、下一步等什么、谁接管”才是。
这套治理适合入转调离、合同到项目开工、跨系统对账、交付异常恢复、外部门户申报等长链路;一次知识查询或单系统只读分析不必套完整状态机。没有可识别业务对象和完成谓词的任务,也不应被包装成长任务自动化。
长任务至少要有 8 类状态
| 状态 | 含义 | 允许的下一步 |
|---|---|---|
PLANNED |
对象、步骤、授权和完成条件已固定 | 校验后启动 |
RUNNING |
当前执行者持有有效租约 | 完成步骤、续租或释放 |
WAITING_EXTERNAL |
等审批、客户、银行或门户回执 | 到条件后恢复 |
RETRY_SCHEDULED |
可安全重放的临时故障 | 到时按同一幂等语义重试 |
SUSPENDED |
业务条件不足或对象冲突 | 补证、裁决或取消 |
NEEDS_HUMAN |
需要有权人做最窄决策 | 批准、拒绝、改参数 |
VERIFYING |
已执行,正在回读权威终态 | 成功关闭或转异常 |
COMPLETED |
完成谓词已独立回读成立 | 只允许审计或按新事件复开 |
“已生成”“已建任务”“已发送通知”“已点击提交”都不应进入 COMPLETED。它们只是步骤事件。
任务对象要保存什么
长任务至少保存:任务 ID、业务对象 ID 与版本、发起人、目标、步骤清单、当前步骤、最近安全断点、批准引用、幂等键、外部回执、等待条件、责任人、超时时刻、最后心跳、异常摘要和完成谓词。
不要把完整对话历史当任务状态。恢复真正需要的是结构化事实:哪张订单、哪个版本、已经写入哪个系统、回执是什么、下一步允许做什么。会话可以展示这些状态,但不是唯一事实源。
租约避免两个执行者同时干同一件事
任务被执行时,应由一个工作单元取得有限期租约;只有持有者能推进当前步骤。执行者失联后租约到期,其他执行者可以接管,但接管前必须读取最近断点和目标系统现状。
租约解决“谁现在有权推进”,幂等解决“同一步是否会重复产生副作用”,两者不能互相替代。只加锁不做幂等,中断后的重放仍可能重复建单;只做幂等不加租约,两个执行者可能同时推进不同分支。
断点续跑不是从头再来
每个有副作用的步骤完成后,都应保存输入摘要、执行回执、回读结果和下一步前置条件。恢复时按以下顺序:
- 校验任务授权、对象版本和租约;
- 回读上一个步骤的真实结果;
- 若已生效,跳过该步;若结果未知,先查不重写;
- 若对象已变化,挂起并重新确认;
- 从最近安全断点继续。
例如人事发起离职交接,Agent 需要等待 HR 事件生效,再协调账号、资产、客户项目和审批职责。某个账号撤销失败时,其他已完成步骤不应从头重做;任务应保留各对象的独立状态,把失败项转给 IT,并继续等待最终的权、资、责全部回读一致。
超时必须产生业务动作
长任务至少有三种时钟:单步骤执行超时、外部等待到期、整个任务最晚完成时间。到期后可以有限重试、升级责任人、转人工或取消,但不能静默停住。
人工接管时,应看到最后成功步骤、未完成对象、可选处置和影响范围。人工改动后同样写入任务事件,并由 Agent 回读;人接管不等于审计链中断。
验收长任务看这 6 项
- 中断后能从最近安全断点恢复,不重复产生单据;
- 同一任务不会被两个执行者并发推进;
- 外部等待有明确条件、到期时间和责任人;
- 权限或对象版本变化会使旧批准失效;
- 部分成功被显式暴露,不被总状态遮住;
COMPLETED能由权威系统状态独立证明。
架构选型可先参考AI Agent 五种架构范式,异常分流看Agent 异常队列设计,项目级验收则对照AI Agent 验收清单。如果你的流程跨多个系统并需要持续等待,可从AI 落地五项工程先定义对象、断点、责任人和业务终态,再决定用什么技术实现。




