如果一个 agent 平台不能暂停、恢复、撤销,它就不是生产系统,而是一次性脚本。真实环境里,需求会变、权限会变、外部状态会变,运行控制能力必须内建。
三个动作的语义必须严格区分
| 动作 | 语义 | 不该做什么 |
|---|---|---|
| pause | 暂停后续动作,保留上下文 | 不应回滚已提交副作用 |
| resume | 从检查点继续执行 | 不应重放已确认步骤 |
| undo | 对可逆动作执行补偿 | 不应假设所有动作可逆 |
很多事故都来自把 resume 当 retry,把 undo 当“删日志”。
设计要点:检查点与补偿动作
- 检查点用于
pause/resume - 补偿动作用于
undo
对每个高风险工具调用,提前定义是否可逆以及补偿方式。
失败案例:暂停后恢复造成重复扣费
某账务 agent 在暂停恢复时重放了已执行步骤,导致重复扣费。根因是缺少幂等键和步骤状态标记。修复后引入 step ledger 与幂等约束,恢复流程不再重放已完成动作。
Run Control Checklist
- 每个步骤有唯一 stepId 与状态
- pause 时保存最小可恢复上下文
- resume 默认从最近稳定检查点继续
- 高风险动作有补偿策略或人工兜底
- undo 只对可逆动作开放
延伸阅读:


