模块 4规划、执行与多 Agent

副作用与补偿

先按可逆性和外部影响分类

  • 只读但可能泄露或产生费用

可逆写入

  • 存在可靠反向操作和时限

可补偿

  • 不能真正回滚,只能做业务抵消

不可逆

  • 发送、删除、付款、公开承诺等

高风险动作采用准备—确认—提交

  • 解析目标对象与当前版本
  • 生成差异预览和影响范围
  • 策略检查与参数绑定审批
  • 提交时再次校验并使用幂等键

超时后先确认结果,不立即重放

  • 通过业务查询、回执或事件对账
  • 外部系统没有查询能力时降低自治等级
  • 状态标记 unknown 并阻止依赖步骤
  • 人工处置需要完整 Attempt 时间线

跨系统一致性使用显式 Saga

  • 每个正向步骤对应可选补偿
  • 记录完成顺序、补偿顺序和不可补偿点
  • 补偿本身也会失败,需要重试和人工升级
  • 业务最终状态可能是“已补偿”而非“从未发生”

外部状态会在计划和提交间变化

  • 乐观锁、版本号和条件写入
  • 冲突后重新读取并重规划
  • 审批不是锁,等待期间必须重新校验
  • 禁止覆盖其他操作者的新修改

证明每个副作用发生了什么

  • 意图、参数、审批、幂等键和外部回执关联
  • 正向步骤、补偿步骤和最终业务状态
  • 对账任务发现孤儿或重复记录
  • 敏感值脱敏但保留可关联 ID

围绕提交窗口做故障演练

  • 请求发出前/后进程崩溃
  • 成功响应丢失和重复消息
  • 补偿失败与不可补偿动作
  • 人工审批过期和并发修改