這是多 Agent 系統最容易被忽略的問題。每個子任務獨立看起來都很可靠(95%+),但串聯起來就劇烈衰減。
| 單步成功率 | 10 步後 | 20 步後 |
|---|---|---|
| 99% | 90.4% | 81.7% |
| 95% | 59.9% | 35.8% |
| 90% | 34.9% | 12.2% |
Google DeepMind 2025 年 12 月的研究進一步顯示:無結構的多 Agent 網路相較於單 Agent,錯誤放大高達 17.2 倍。MAST 研究分析 1,642 次追蹤紀錄,多 Agent 系統的失敗率介於 41%–86.7%,其中最大失敗類別是協調崩潰(36.9%)。
關鍵洞察:架構決定可靠性,不是模型能力。換更強的 LLM 只會平移整條曲線,不會消除複合效應。
子 Agent 失敗和 API 呼叫失敗是兩回事。API 回 HTTP 狀態碼,子 Agent 可能回半成品、假成功、或偷偷污染下游。根據 AI Codex 的生產經驗,實際會遇到這五種:
| 失敗模式 | 觸發情境 | 為什麼難抓 |
|---|---|---|
| Timeout mid-pipeline | 呼叫者逾時放棄,子 Agent 還在背景跑 | 沒有乾淨復原點,部分任務可能已完成 |
| Partial output | max_tokens 截斷、JSON 格式損壞、錯誤嵌在文字中 | 看起來像成功回傳,Orchestrator 直接當有效結果 |
| Cascading failure | 平行 Agent B/C/D 中 D 失敗,其他已完成 | Orchestrator 不知該等 B/C、拋棄結果、還是部分繼續 |
| Silent degradation | 輸出通過格式驗證但品質低落,污染下游 | 不拋例外、不觸發重試、最難偵測 |
| State inconsistency | 一個 Writer 完成寫入後 Agent 掛掉,另一半沒寫 | 下游看到不一致的狀態,難以判斷從哪復原 |
newline 的研究指出 2–3 次重試可達 >95% 成功率。但關鍵是分清楚什麼該重試、什麼不該。
| 失敗類型 | 範例 | 策略 |
|---|---|---|
| 可重試(transient) | timeout、網路閃斷、API 529/503、空回應 | 指數退避重試,2^N 秒遞增,上限 3 次 |
| 不可重試(deterministic) | 邏輯錯誤、工具不存在、max_iterations 耗盡、4xx | 直接放棄或觸發 fallback,重試無意義 |
每次子任務完成後保存狀態到持久層(LangGraph 內建 SqliteSaver 是主流做法),失敗後從上一個檢查點恢復,不重跑已完成步驟。
AI Codex 提出的關鍵設計:用輸入 hash 產出確定性 task ID,確保同一個輸入的重試不會產生副作用。
task_id = sha256(json.dumps(task_input)).hexdigest()[:16] # 相同輸入 → 相同 ID → 安全重試
Zylos Research 的優雅降級研究提出分層防禦:
| 層級 | 機制 | 解決什麼 |
|---|---|---|
| L1 | 指數退避重試 | 瞬時故障 |
| L2 | 模型級 Fallback:Opus → Sonnet → Haiku → cached | 主要模型不可用 |
| L3 | Provider 級 Fallback:Anthropic → OpenAI → local | 整個 Provider 掛掉 |
| L4 | Circuit Breaker:N 次失敗後熔斷,冷卻後探測 | 防止重試風暴打爆服務 |
Circuit breaker 狀態機:CLOSED → (failures > threshold) → OPEN → (cooldown) → HALF-OPEN → (success) → CLOSED。只應對基礎設施級故障(502/503/timeout)觸發,不因業務邏輯錯誤(400/401)跳閘。
GitHub 工程團隊的核心洞察:「把 Agent 當程式碼對待,不是聊天介面。」他們提出三層強制合約:
| 層級 | 機制 | 效果 |
|---|---|---|
| Typed Schema | 每個 Agent 邊界強制型別檢查 | 無效訊息在進入下游前就失敗 |
| Action Schema | Discriminated union 限制允許的操作集 | Agent 不能發明不存在的動作 |
| MCP Enforcement | 每個工具呼叫前驗證 input/output schema | 惡意/錯誤參數在執行前被攔截 |
Towards Data Science 總結了三種經實戰驗證的多 Agent 架構:
| 架構 | 機制 | 適合場景 | 已知限制 |
|---|---|---|---|
| Plan-and-Execute | 一個 Planner 制定全盤計畫,多個 Executor 執行各步驟 | 文檔處理、客服、研究——目標明確、可順序拆解 | 環境變化時原始計畫失效,需要 re-plan checkpoint |
| Supervisor-Worker | 中央 Supervisor 委派、監控、整合、路由 | 異質任務需不同專業——客服升級、內容管線、多源財務分析 | Supervisor 成瓶頸時,讓 Worker 有邊界內自主權 |
| Swarm | 去中心化交接,Agent 根據上下文自行路由 | 高流量、路由邏輯內嵌——聊天客服、入職、分流 | 複雜交接圖需分散式追蹤才能 debug |
Klarna 的 Plan-and-Execute 實際案例:一個前沿模型做規劃,多個小型模型執行各步驟,成本降低 90% 同時維持品質。協調收益在 4 個 Agent 後趨於平緩,超過後開銷吃掉效益。
綜合以上研究,不需拆成 6 個獨立模組。一個薄 wrapper 三層就夠:
委派任務
│
├─ ① 失敗分類(transient vs deterministic)
│ └─ 只重試 timeout/空回應/529,不放 4xx/邏輯錯誤
│
├─ ② Checkpoint(輸入 hash → 任務 ID → SqliteSaver)
│ └─ 失敗從上一個檢查點恢復,不重跑已完成步驟
│
└─ ③ Circuit Breaker(3 次失敗 → 熔斷 5min → 半開探測)
└─ 防止重試風暴,配合 fallback chain 降級
關鍵原則:重試前先分類、保存狀態再執行、熔斷比無限重試好。
參考來源:
[1] 5 Recovery Strategies for Multi-Agent LLM Failures — newline, 2025
[2] Multi-agent failure handling: timeouts, partial outputs, and recovery patterns — AI Codex
[3] Multi-agent workflows often fail. Here's how to engineer ones that don't. — GitHub Blog, 2026-02
[4] Graceful Degradation Patterns in AI Agent Systems — Zylos Research, 2026-02
[5] The Multi-Agent Trap — Towards Data Science, 2026-03
[6] MAST 研究(1,642 traces, 7 frameworks)— 2025-03
[7] Google DeepMind 多 Agent 錯誤放大研究 — 2025-12