第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对创意产业的影响
### 视觉艺术(完整覆盖)
[研究结果]
### 音乐(部分覆盖——搜索智能体超时)
[部分结果]
⚠️ 注意:由于搜索智能体超时,本节覆盖范围有限。
### 文学(完整覆盖)
[研究结果]