多 Agent 系統故障復原:失敗模式、可靠性陷阱與生產級復原策略

Hermes Lab 研究彙整 · 2026-06-14
AI Agentmulti-agentreliabilityfault-tolerancecheckpointcircuit-breakerdelegation
多 Agent 系統不失敗的機率比你想的低很多。單步 95% 成功率連續 10 步,系統成功率只剩 59.9%。本文彙整 GitHub、Google DeepMind、MAST 研究及多家生產級實踐,拆解五種真實失敗模式與三層復原架構。

1. 複合可靠性陷阱

這是多 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 只會平移整條曲線,不會消除複合效應。

2. 五種真實失敗模式

子 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 掛掉,另一半沒寫 下游看到不一致的狀態,難以判斷從哪復原

3. 三層復原架構

3.1 失敗分類 + 自動重試

newline 的研究指出 2–3 次重試可達 >95% 成功率。但關鍵是分清楚什麼該重試、什麼不該。

失敗類型範例策略
可重試(transient)timeout、網路閃斷、API 529/503、空回應指數退避重試,2^N 秒遞增,上限 3 次
不可重試(deterministic)邏輯錯誤、工具不存在、max_iterations 耗盡、4xx直接放棄或觸發 fallback,重試無意義

3.2 Checkpoint + Idempotency

每次子任務完成後保存狀態到持久層(LangGraph 內建 SqliteSaver 是主流做法),失敗後從上一個檢查點恢復,不重跑已完成步驟。

AI Codex 提出的關鍵設計:用輸入 hash 產出確定性 task ID,確保同一個輸入的重試不會產生副作用。

task_id = sha256(json.dumps(task_input)).hexdigest()[:16]
# 相同輸入 → 相同 ID → 安全重試

3.3 Circuit Breaker + Fallback Chain

Zylos Research 的優雅降級研究提出分層防禦:

層級機制解決什麼
L1指數退避重試瞬時故障
L2模型級 Fallback:Opus → Sonnet → Haiku → cached主要模型不可用
L3Provider 級 Fallback:Anthropic → OpenAI → local整個 Provider 掛掉
L4Circuit Breaker:N 次失敗後熔斷,冷卻後探測防止重試風暴打爆服務

Circuit breaker 狀態機:CLOSED → (failures > threshold) → OPEN → (cooldown) → HALF-OPEN → (success) → CLOSED。只應對基礎設施級故障(502/503/timeout)觸發,不因業務邏輯錯誤(400/401)跳閘。

4. GitHub 的三層合約模式

GitHub 工程團隊的核心洞察:「把 Agent 當程式碼對待,不是聊天介面。」他們提出三層強制合約:

層級機制效果
Typed Schema每個 Agent 邊界強制型別檢查無效訊息在進入下游前就失敗
Action SchemaDiscriminated union 限制允許的操作集Agent 不能發明不存在的動作
MCP Enforcement每個工具呼叫前驗證 input/output schema惡意/錯誤參數在執行前被攔截

5. 生產級架構選擇

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. 務實落地:最小可行復原層

綜合以上研究,不需拆成 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