直接回答:分层恢复:瞬时错误(限流、超时)原地指数退避重试;参数错误把错误信息结构化喂回模型让它修正后重试(self-correction);步骤级失败回退到上一个检查点换路径重试;任务级失败降级——输出部分结果加未完成说明,或转人工。前提是所有副作用操作幂等或可补偿,否则重试本身就是灾难。

展开解析:设计要点:错误分类是第一位的——工具返回里区分可重试(429、503)与不可重试(参数非法、资源不存在),模型对前者等、对后者改;self-correction 给模型的错误上下文要含错因与建议修法,只扔堆栈模型只会原样重试。检查点机制:多步任务每个里程碑持久化状态(已完成步骤、中间产物),崩溃后从检查点续跑而非从头;副作用操作设计成“准备-提交”两段,失败回滚走补偿动作(删除已建资源、撤销已发消息),Saga 模式在 Agent 场景同样适用。重试预算要全局管控:单工具重试上限、单任务总步数上限、总成本熔断三层都设,防“锲而不舍地错下去”。降级策略提前定义:任务跑了 80% 卡住,是把中间结论整理输出还是整体放弃,要有明确规则。最后,失败 trace 全量留存——哪类任务爱失败、失败在哪一步,是迭代 Agent 最重要的数据。

追问方向:如何避免重试导致的重复副作用?恢复策略本身如何测试?

(约 450 字)