營運

提供者切換

根據任務選擇模型,並在提供者失敗或成本過高時自動切換至備援。

概念專屬圖版提供者切換hx-graph-context-concept-provider-switching正在載入視覺預覽…
以原始尺寸檢視

提供者切換

這是什麼

依工作與成本選擇模型,並在提供者出錯時依序改用設定好的備援模型。

白話解釋

這就像電話在第一個號碼無人接聽時自動轉到備用線,來電者甚至不會先聽到忙音。提供者切換讓 Hermes 在目前模型失敗時,能於同一段對話改由另一模型回答,而不是讓整輪工作走進死路。

為什麼重要

處理特定工作者不必在初次設定後永久固定;可依工作類型或成本預算路由,並在提供者錯誤或逾時時自動備援。例行檢查可交給便宜快速的模型,真正複雜的工作才使用較強模型。模型呼叫失敗後,重試與備援也依賴同一機制,而不是直接讓整輪報錯。

運作方式

Hermes 會把每次失敗的 API 呼叫分類成速率限制、帳務或額度、伺服器過載、逾時等原因,再據此決定後續,而不是把所有錯誤視為相同(agent/error_classifier.py)。呼叫失敗後,try_activate_fallback() 依序走訪備援 provider/model 配對,略過本工作階段已標記不可用的項目,以及和剛失敗者相同的配對;整條鏈用完後則啟用短暫冷卻期(agent/chat_completion_helpers.py)。使用者用 hermes fallback add 把配對附加到 ~/.hermes/config.yamlfallback_providers,並與舊版單一項目設定合併;listremoveclear 由同一儲存區管理(hermes_cli/fallback_cmd.pyhermes_cli/fallback_config.py)。

具體範例

你用 hermes fallback add 設定 Anthropic 為主要提供者,第一個備援是較便宜的 OpenRouter 模型,第二個是本機 Ollama。某晚 Anthropic 在對話中回傳速率限制;Hermes 分類錯誤後自動啟用第一個備援,對話繼續由 OpenRouter 回答。使用者只從狀態列看出發生切換,不會先收到失敗結果。

如何連結

「提供者切換」屬於「營運」系列。最直接相關的概念包括:「本機模型」、「成本控制」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。

來源證據

  • run_agent.py#run_agent.AIAgent — 精確符號對應;已對照釘選版本驗證。

工作流程

相關文章

相關筆記