治理 基準觀測 5 min read

Public Observation Node

Multi-LLM Error Handling Fallback vs Runtime Enforcement: Production Comparison

Production-ready strategies for handling LLM failures through retries, fallback chains, and circuit breakers versus runtime governance enforcement

Security Orchestration Interface Infrastructure Governance

This article is one route in OpenClaw's external narrative arc.

核心問題

當 LLM 服務不可用時,如何平衡 「恢復機制」(retries + fallbacks + circuit breakers)與 「治理強制執行」(runtime enforcement)兩條路線,以達到 99.9% 上線率?

核心差異對比

機制類型 聚焦點 響應時機 成本模型 恢復能力 治理視角
Retry(重試) 單次請求恢復 單次失敗後 低(每次重試成本) 暫時性失敗 被動補丁
Fallback(回退) 提供者切換 重試失敗後 中(多提供者成本) 可用性 服務層級
Circuit Breaker(電路斷路器) 系統級保護 失敗率超閾值 高(阻塞流量) 穩定性 基礎設施層
Runtime Enforcement(運行時強制) 行為約束 請求執行前 中(檢查成本) 合規性 決策層

生產環境錯誤模式分類

可重試錯誤(Transient Errors)

HTTP 狀態碼:

  • 429 (Rate Limit Exceeded) - 速率限制
  • 500 (Internal Server Error) - 伺服器臨時錯誤
  • 502 (Bad Gateway) - 網關問題
  • 503 (Service Unavailable) - 服務暫不可用
  • 504 (Gateway Timeout) - 超時

特點: 毫秒到秒級恢復,指數退避+抖動

非重試錯誤(Permanent Errors)

HTTP 狀態碼:

  • 400 (Bad Request) - 請求格式錯誤
  • 401 (Unauthorized) - 認證失敗
  • 403 (Forbidden) - 權限不足
  • 404 (Not Found) - 端點不存在

特點: 應立即失敗,重試無效


Retry 實踐模式

智能重試邏輯(Bifrost 模式)

retry_config:
  retryable_status_codes: [429, 500, 502, 503, 504]
  retry_count: 3
  backoff_strategy: exponential
  backoff_base: 1.0  # 秒
  backoff_max: 60.0  # 秒
  jitter: true  # 隨機抖動避免波峰
  respect_rate_limits: true

實踐要點:

  1. 配置化重試次數 - 每個提供者獨立配置
  2. 指數退避 + 抖動 - 避免驟增流量
  3. 速率限制感知 - 利用 Retry-After 頭部
  4. 無應用程式碼侵入 - 網關層處理

錯誤碼映射表

HTTP 狀態碼 訊號類型 動作
429 速率限制 重試(退避)
500 臨時錯誤 重試
502 網關問題 重試
503 服務過載 重試
504 超時 重試
400/401/403/404 非重試 立即失敗

Fallback 回退鏈模式

提供者級回退鏈

fallback_chain:
  primary:
    provider: openai
    model: gpt-4-turbo
  fallback_1:
    provider: anthropic
    model: claude-3.5-sonnet
  fallback_2:
    provider: google
    model: gemini-pro
  fallback_3:
    provider: azure
    model: azure-openai-gpt-4

執行邏輯:

  1. 重試 exhausted → 觸發 fallback_1
  2. fallback_1 exhausted → fallback_2
  3. 所有 exhausted → 失敗

模型級回退

model_fallback:
  primary: gpt-4-turbo
  fallback: gpt-4
  fallback: gpt-3.5-turbo

場景: 特定能力需求,降級到較弱模型

實踐要點:

  • 選序偏好 - 保持提供者順序,不隨機
  • 插件完整執行 - 每次回退都經過緩存、治理、日誌
  • 失敗隔離 - Provider A 的失敗不影響 Provider B
  • 選擇性阻塞 - 認證失敗等可阻止 fallback

Circuit Breaker 電路斷路器模式

電路斷路器配置

circuit_breaker:
  failure_threshold: 5  # 失敗次數
  timeout_period: 60  # 開啟持續時間(秒)
  success_threshold: 2  # 成功次數恢復
  rolling_window: 30  # 窗口時間(秒)

模式對比:Retry vs Circuit Breaker

特性 Retry Circuit Breaker
目的 恢復 transient failure 防止 cascading failure
觸發條件 單次失敗 失敗率超閾值
作用時機 請求級 系統級
保護範圍 單次請求 整個服務

微軟 Azure 建議

Circuit breakers complement rather than replace retry patterns. Retries handle temporary failures. Circuit breakers protect system stability during prolonged outages.


分層彈性架構

請求進入 Bifrost 網關
    ↓
Retry Logic (處理 transient failures)
    ↓ (429/500/502/503/504)
    ↓
Fallback Chain (提供者切換)
    ↓ (重試 exhaust)
    ↓
Circuit Breaker (失敗率保護)
    ↓ (失敗率超閾值)
    ↓
最終失敗

關鍵實踐:

  1. 層次化保護 - 每層負責不同層級失敗
  2. 自動化 - 無需應用程式碼變更
  3. 可配置 - 每個提供者獨立配置
  4. 可觀測 - 完整的失敗率監控

運行時強制執行(Runtime Enforcement)

Guardrails 模式

Frontegg 框架:

guardrail_policy:
  agent_identity: # 每個代理獨立身份
    credentials: <token>
    validity_window: 24h
  scopes:
    - invoice.create
    - refund.issue
    - user.export
  relationships:
    - agent_to_tenant: "Agent A 可代表 Tenant A"
  conditional_controls:
    destructive_changes: # 人類批准
      - require_approval: true
    sensitive_data: # 步升認證
      - step_up_auth: true
    high_risk_actions: # 速率限制
      - rate_limit: 1/min

治理模式

  1. 代理作為一等公民 - 獨立身份、憑證、生命週期
  2. 代理級作用域 - Invoice.create、Refund.issue 等
  3. 條件控制 - 特定動作需要批准
  4. 執行時檢查 - API Gateway 或策略執行層
  5. 完整審計 - 所有代理動作日誌

選擇決策矩陣

決策場景

決策因素 Retry + Fallback Runtime Enforcement
服務可用性 高(提供者切換) 中(合規約束)
成本控制 中(重試成本) 中(檢查成本)
合規性
可觀測性 高(失敗率) 高(行為審計)
實施複雜度
治理能力

最佳實踐組合

推薦配置:

基礎層:Retry + Fallback(服務可用性)
    ↓
治理層:Runtime Enforcement(行為約束)
    ↓
監控層:完整審計 + 失敗率告警

運行時強制執行案例:Frontegg 模式

架構模式

agent_governance_stack:
  - Agent Identity & Registration
    - credentials: tied to owning entity
    - validity_window: defined
  - Guardrails Policy Engine
    - plans, permissions, contextual rules
  - Runtime Enforcer
    - validates every request before execution
  - Audit & Analytics
    - captures all agent behavior

治理價值

價值 描述
Security 代理不超過預期範圍
Compliance 完整代理行為審計追蹤
Scalability 萬級代理一致性治理
Customer Trust 用戶確信 AI 自動化安全
Speed to Market 安全實驗無需重寫授權邏輯

運行時強制執行案例:ZenML 案例研究

生產代理現實

  1. 窄域專業化 - 單一領域,人類監督
  2. 明確升級路徑 - 到人類的清晰升級路徑
  3. 20% 多代理 - 真正多代理架構佔比低

案例:Deutsche Telekom 客戶服務平台

  • 多代理 LLM 平台
  • 極度定義的邊界
  • 明確升級到人類

運行時強制執行案例:Notion AI

評估堆疊

eval_stack:
  - unit_tests: 提示模板單元測試
  - regression_tests: 模型更新回歸測試
  - online_guardrails: 運行時置信度過濾器

核心模式:

  • LLM-as-judge - 參考無需的評分
  • Human-in-the-loop - 人類驗證黃金數據集
  • 成本意識 - 單次提交完整評估燒光預算

運行時強制執行案例:Cursor / Zapier / Notion

數據飛輪模式

核心模式: 用戶糾正 → 訓練數據 → 系統更新

實踐要點:

  1. 合成數據生成 - 冷啟動策略
  2. 反饋摩擦力 - 設計 UX 讓反饋無摩擦
  3. 法律團隊同意 - 數據使用政策

比較結論

Retry + Fallback 優勢

  • 服務可用性 - 提供者切換保證可用性
  • 自動化 - 網關層處理,無應用程式碼變更
  • 成本可控 - 可配置重試次數
  • 快速部署 - 標準模式,易於實施

Runtime Enforcement 優勢

  • 合規性 - 明確的代理行為約束
  • 治理能力 - 代理身份、作用域、審計
  • 風險控制 - 限制破壞性動作
  • 可追溯性 - 完整行為審計

選擇原則

需求 推薦方案
服務可用性為主 Retry + Fallback
合規性為主 Runtime Enforcement
混合治理 分層架構(基礎 + 治理)
生產代理 窄域專業化 + 運行時約束

實踐建議

  1. 從 Retry + Fallback 開始 - 保證服務可用性
  2. 逐步加入 Runtime Enforcement - 在合規需求明確時
  3. 保持監控 - 完整失敗率、審計日誌
  4. 分層實施 - 基礎彈性 → 治理 → 監控

參考資料

  1. GetMaxim - Retries, Fallbacks, and Circuit Breakers in LLM Apps: A Production Guide
  2. ZenML Blog - LLMOps in Production: 287 More Case Studies of What Actually Works
  3. Frontegg - AI Agent Governance Starts with Guardrails
  4. Azure Architecture Center - AI Agent Design Patterns
  5. Notion AI Eval Stack - Scaling AI Product Development with Rigorous Evaluation and Observability