Skip to content

第10章:多智能体系统中的错误处理

10.1 错误类别

类别示例可重试智能体动作
瞬态超时、503、网络故障使用指数退避重试
验证输入格式无效、缺少必填字段否(修复输入)修改请求后重试
业务违反政策、超过阈值向用户解释;提出替代方案
权限拒绝访问升级

10.2 错误处理反模式

反模式问题正确方法
通用状态"搜索不可用"协调智能体无法决定如何恢复返回错误类型、查询、部分结果、替代方案
静默抑制(空结果=成功)协调智能体认为没有匹配,但实际是失败区分"无结果"与"搜索失败"
单个失败时中止整个工作流丢失所有部分结果继续使用部分结果;注释缺口
子智能体内无限重试延迟和资源浪费本地恢复(1–2次重试),然后传递给协调智能体

10.3 结构化子智能体错误

json
{
  "status": "partial_failure",
  "failure_type": "timeout",
  "attempted_query": "AI对音乐行业的影响2024",
  "partial_results": [
    {"title": "AI音乐生成报告", "url": "...", "relevance": 0.8}
  ],
  "alternative_approaches": [
    "尝试更窄的查询:'AI音乐创作工具'",
    "使用替代数据源"
  ],
  "coverage_impact": "未覆盖:AI对音乐制作的影响"
}

这为协调智能体提供了决策所需的信息:

  • 用修改后的查询重试?
  • 使用部分结果?
  • 委托给不同的子智能体?
  • 继续而不包含此部分并注释缺口?

10.4 最终综合中的覆盖注释

markdown
## 报告:AI对创意产业的影响

### 视觉艺术(完整覆盖)
[研究结果]

### 音乐(部分覆盖——搜索智能体超时)
[部分结果]
⚠️ 注意:由于搜索智能体超时,本节覆盖范围有限。

### 文学(完整覆盖)
[研究结果]