2026 生產環境 OpenClaw modelRouting openclaw.json 閾值 · 多模型鏈路與疑難排解

OpenClaw Gateway 上線後,生產環境通常會問如何同時收斂成本與延遲modelRouting 在上游呼叫之前估計上下文規模分層流量,而不是永遠支付頂規模型價格。本文說明它解決什麼問題、在 openclaw.json 內如何與 agents.defaults後備路徑並列、如何把 SLO 對應到 maxTokens 階梯,並提供六步上線檢查清單與誤設定排查——補足本站安裝、systemd、Docker 各篇。

01

為何 modelRouting 屬於 Gateway:不是「多掛幾個模型好看」,而是成本/延遲節流

在生產環境,OpenClaw 請求常同時承載系統提示、對話紀錄、工具輸出與 RAG 片段。全部長期餵給單一旗艦模型會讓帳單與尾延遲爆掉;只依賴失敗後的後備路徑,則往往在燒掉巨大上下文後才發現走錯路。modelRouting 在上游推論之前估計上下文 token 規模並選擇層級,讓「小問題預設用小模型」——不是事後才補救。

團隊最常見的六種痛點訊號——若多項同時出現,請把路由納入設定審查議程,別只盯 Grafana:

  1. 01

    尾延遲拉長: QPS 相同但 p95/p99 偏離平均值並隨對話長度上升——重上下文路徑被過度使用。

  2. 02

    非線性支出: 流量升 30%、帳單升 100%——常是「每個工作階段預設最大模型」。

  3. 03

    工具呼叫膨脹上下文: 單回合多段工具輸出讓 token 暴衝,造成靜默截斷或意外重試。

  4. 04

    後備鏈太長: 使用者無感,但單一請求已串多個模型——延遲與成本疊加。

  5. 05

    缺乏路由可觀測性: 只記最終模型名稱,不知為何選該層——排查變成猜測。

  6. 06

    多租戶隔離薄弱: 共享 Gateway 上重工作階段拖累輕工作階段的 SLO——需依上下文形狀硬性分流。

讀完本站OpenClaw 安裝/部署系列後,你應已有「行程常駐、埠與通道健康」的前提。本文處理同一長壽行程內的模型選擇。它與遠端執行(自架 runner 或專屬遠端 Mac)正交:路由決定哪個大腦;執行層決定哪台機器做事。

常見誤解:modelRouting 是「另一個負載平衡器」。它更接近依上下文形狀路由——先估規模再選模型;若做輪詢,追蹤看起來聰明,帳單卻很誠實。

02

對照:primary + 後備路徑 與 modelRouting(上下文規模策略)

兩者不必互斥,但請分開職責後備路徑對應失敗語意——模型不可用、錯誤、速率限制;modelRouting 對應成本/延遲語意——這一輪有多重。混在一起會出現「路由選了大模型,失敗又落到小模型」——為戲劇性付兩次錢。

面向primary + 後備路徑(經典)modelRouting(上下文層級)
觸發錯誤碼、逾時、可重試失敗估計上下文 token 閾值(例如上下文規模策略)
主要收益可用性:從差模型救出效率:輕量對話不必付旗艦價
典型風險長鏈拉長尾延遲並重複計費錯誤閾值誤分重/輕
可觀測性失敗率、重試、切換原因路由命中分佈、閾值附近錯誤、token 百分位
agents.defaults宣告 primary 與後備清單在 defaults 下加路由區塊,於呼叫前分流

把「失敗時替換」與「失敗前選擇」寫在兩頁——值班同仁會感謝你。

請結構化記錄路由決策(層級命中、估計 token 區間、最終模型 ID);否則正式環境只見最終模型,無法審閾值。下方六步即為釋出門檻。

03

六步上線:從閾值草稿到可回滾的生產

給已能交付設定變更的工程師——每一步都有產出,避免 modelRouting 變成一次性 JSON 塗鴉。

  1. 01

    固定 SLO 用語: 目標 p95 延遲、每工作階段成本上限、假設的「重」工作階段占比。沒有 SLO 就沒有認真的閾值。

  2. 02

    抽樣 token 分佈: 真實對話與工具輸出——含尾部,而非僅平均長度。

  3. 03

    草擬三層: 輕/中/重模型 ID,以及絕不能落在輕層的任務(例如多段工具)。

  4. 04

    接線 modelRouting 與遙測: 命中、估計 token、最終模型寫入結構化日誌與指標堆疊。

  5. 05

    受控金絲雀: 在切片上雙跑新舊版,觀察成本與延遲百分位後再升級。

  6. 06

    回滾開關: 保留快照,路由失準時可回到「defaults + 短後備鏈」。

openclaw.json(片段)
{
  "agents": {
    "defaults": {
      "model": { "primary": "anthropic/claude-sonnet-4-5" },
      "modelRouting": {
        "enabled": true,
        "strategy": "context-size",
        "thresholds": [
          { "maxTokens": 4000,  "model": "anthropic/claude-haiku-4-5", "description": "light" },
          { "maxTokens": 100000, "model": "anthropic/claude-sonnet-4-5", "description": "medium" },
          { "maxTokens": null,  "model": "anthropic/claude-opus-4-5", "description": "xlarge context" }
        ],
        "fallbackOnOverflow": true
      }
    }
  }
}
info

說明: 此處示範結構與語意;實際鍵與預設值須符合你的 OpenClaw 版本。比對設定並在升級 Gateway 前跑整合夾具。

04

與 agents.defaults、後備路徑的邊界:別把三種工作編在一起

可用的心智模型:defaults 宣告主模型與一般後備;modelRouting(依版本)與 defaults 協作做依上下文分流後備路徑仍處理上游失敗。在測試環境驗證三件事:健康路徑上不應瘋狂切模型(若會,代表閾值過緊);路由後的後備仍正常;日誌區分路由命中失敗替換

遠端運算常見拓撲:Gateway 在 Linux VPS 或容器,重工具鏈或僅 macOS 步驟走佇列到專屬遠端 Mac 執行器。modelRouting 只在 Gateway 內分層推論——不取代跨機排程(仍是佇列/runner 問題)。

單一 Gateway 上有多租戶代理時,請給租戶不同路由設定檔或金鑰——否則重租戶的上下文估計會抬高所有人的水位。

warning

警告:fallbackOnOverflow 視為「上下文塞不進模型」,而非「省錢」旋鈕——誤用會導致靜默截斷或隱藏重試。

05

生產排查:症狀表與三個可上會議桌的論點

供值班快速路由;若估計 token 與供應商帳單嚴重背離,檢查工具輸出是否未納入估計或日誌被抽樣。

  • 症狀:輕量對話命中重層。 閾值過低或估計偏高——提高輕層上限或修正估計視窗並重查命中分佈。
  • 症狀:重量對話一直溢位或後備。 閾值過高或缺超大層——補桶並重新驗證 fallbackOnOverflow 語意。
  • 症狀:延遲改善但成本不變。 可能在失敗路徑多次換模——分開路由日誌與失敗日誌並縮短後備鏈。

在拋棄式筆電或無容量保證的主機上跑 Gateway,即使路由完美也會摧毀 p95;沒有獨佔、常駐、可合約化的 macOS 執行平面,工具鏈與本機建置難以自動化。需要把 OpenClaw 與 iOS/macOS 建置、CI、代理放在同一長壽生產 SLO的團隊,通常更快穩定的做法是把重執行放在專屬遠端 Mac 節點,而非永久拋棄式環境。平衡路由政策與執行器經濟性時,NodeMini Mac Mini 雲端租賃可作為基底:在 Gateway 用 modelRouting 分層推論,重工具鏈放專屬節點,並把金鑰與容量寫進 runbook。

FAQ

常見問題

modelRouting 在上游呼叫前依估計上下文分層以最佳化成本與延遲;後備路徑通常對失敗做出反應。可並存——請劃清邊界。更多 OpenClaw 文章請用 分類篩選

在測試環境以夾具重播真實對話稿本、驗證路由命中,再以金絲雀觀察 token 與延遲百分位。若需平行運算,請依 價格頁 對齊遠端 Mac 執行節點容量。

那些指南涵蓋常駐與對外暴露;本文涵蓋 Gateway 內路由。先穩定部署,再收緊 openclaw.json。連線與權限見 說明中心