AI Frontier

2026年 macOS の OpenClaw:モデルフェイルオーバーとプロバイダルーティング—主/副 LLM 連鎖、429 処理、openclaw.json、クラウド Mac mini ステージング

MacHTML Lab2026.05.2129 分で読了

2026 年、macOS 上の OpenClaw ゲートウェイでプレミアムモデルを 1 つだけ設定している運用者は多い—そのまま Anthropic の HTTP 429、OpenAI の 503、地域障害で唯一の API キーが使えなくなると本番が止まる。モデルフェイルオーバーと明示的なプロバイダルーティングは、その硬い停止を境界のある劣化へ変える:文書化された副モデル連鎖、互換ツールスキーマ、Retry-After を尊重するリトライ予算。このチュートリアルでは ~/.openclaw/openclaw.json で連鎖を表現し、シークレットを git 外に置き、LaunchAgent 本番 plist を触る前に openclaw doctor で検証する手順を示す。429 リトライ規律JSON と環境プロファイル上流サーキットブレーカーdoctor 診断と併用し、ルーティング・スロットル・可観測性を揃えてください。

フェイルオーバー意思決定マトリクス、コピー可能な設定スケルトン、数値ガードレール(ホットパス最大 3 プロバイダ、試行あたり上限 30 秒、ターン全体 120 秒)、および MacHTML 公開料金で 1 日約 $16.9Apple Silicon Mac mini 上で回せるステージングチェックリストが手元に残ります。

フェイルオーバーが必要な症状

チャンネルが「考え中…」のまま、ログにはプロバイダエラーが連発。ゲートウェイが単一ベンダーへリトライを使い切り、ターン途中でツール呼び出しが止まる。検証済み副ルートではなく深夜 2 時に手動で API キーを差し替え、財務が想定外の請求を見る—いずれもルーティングがボトルネックという信号です。

フェイルオーバーは「常に最安モデル」ではありません。顧客向けはプレミアム、内部 HTML/CSS 監査はミドル、クラウド API 全停止時は破壊的操作のない Ollama 要約のみ—各層を文書化しプローブします。

フェイルオーバー連鎖の設計原則

ホットパスは短く:最大 3 プロバイダ。HTML/CSS エージェントと同じツールスキーマで週次プローブ。本番でファイル編集が必須なら write 不可モデルへはフォールオープンせず、読み取り専用要約へ劣化。ターンごとに correlation id とプロバイダラベルをログし、コスト尖りを財務が追跡できるようにします。

同一ハードウェアでも stagingproduction の連鎖は分離。ステージング JSON の typo が本番を実験的ローカルモデルへ落とさないようにします。

openclaw.json ルーティング骨格

ルーティングは git 管理 HTML の外に置く。実務的にはプロバイダ名を openclaw.json、API キーを ~/.openclaw/.envchmod 600)に分離。プライマリモデル ID、順序付きフォールバック、プロバイダ別タイムアウト、任意のコスト上限を文書化します。

{
  "agents": {
    "default": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-20250514",
        "fallbacks": [
          "openai/gpt-4.1",
          "google/gemini-2.5-pro"
        ]
      },
      "providers": {
        "anthropic": { "timeoutMs": 30000 },
        "openai": { "timeoutMs": 30000 },
        "google": { "timeoutMs": 45000 }
      }
    }
  }
}

スニペットは構造の参考です—OpenClaw バージョンでフィールド名は変わるため、貼り付け前にリリースノートと diff してください。編集後は openclaw doctor と、プロバイダごとの 1 行合成チャットを実行します。

プロバイダ選定マトリクス

用途リスク
プライマリ(プレミアム)顧客向け Slack/Telegram ターンローンチ時のクォータ枯渇
セカンダリ(ミドル)内部監査・非緊急修正プライマリとのツールスキーマ乖離
ローカル(Ollama)クラウド API 停止時の読み取り専用要約クラウド推論深度に届かない
無効障害時の破壊的ツール禁止「とりあえず有効化」圧力

429・503 と Retry-After の協調

フェイルオーバーはレート制限遵守の代わりにはなりません。プライマリが 429 のとき、文書化上限(チャットでよく 30 秒)まで Retry-After を守り、その後副プロバイダへ進めます。503 嵐ではゲートウェイサーキットブレーカーと組み合わせ、劣化エンドポイントを叩き続けないでください。macOS タイマーに合わせたバックオフ表は 429 専記事 を参照。

ターン全体は 120 秒 付近で上限を設け、Slack スレッドがハングに見えないようにします。5 プロバイダをループせず、人が読める劣化メッセージを返します。

モデル間のツールスキーマ互換

連鎖の全モデルはゲートウェイが公開する同一 JSON ツール定義を受け付ける必要があります。browser を拒否する副モデルは HTML/CSS パイプラインを途中で壊します。本番フォールバックに入れる前、ステージングで各プロバイダに「読み取り・パッチ書き込み・ディレクトリ一覧」の 3 固定ツール呼び出しを実行してください。

副がビジョン非対応でプライマリが画像を使う場合、フェイルオーバー前に画像パートを除去するか、ビジョン対応の副へだけ画像タスクをルーティングします。

doctor プローブと合成チャット

ルーティング変更後、openclaw doctor --json を変更チケットに添付。各フォールバックを強制する合成メッセージを送る:ステージングでプライマリキーを一時無効化し、副が 10 秒 以内に応答することを確認、キー復旧後再起動なしでプライマリ復帰を検証。ターンごとのプロバイダラベルをゲートウェイログで確認します。

プローブは staging/本番プロファイル と揃え、開発用ノートブックで本番シークレットを使ってフォールバックを試さないでください。

ステージング展開チェックリスト

  1. 現行 openclaw.json.env のフィンガープリント(秘密値なし)を git 無視領域へエクスポート。
  2. 副プロバイダキーを別請求アラートで追加。
  3. ステージングゲートウェイポートでプロバイダごとにツール呼び出しスモーク。
  4. プライマリキー無効化で障害を模擬し、SLA 内フォールバックを確認。
  5. ステージング指標が 24 時間 クリーンなら LaunchAgent plist を昇格。
  6. ロールバック手順を文書化:JSON 1 ファイル復元 + launchctl kickstart

FAQ

フェイルオーバー先も同じツール定義?

はい—連鎖に入れる前に全プロバイダでツール呼び出しをテスト。

フェイルオーバーで 429 は自動解決?

副に独立クォータがある場合のみ。それ以外はバックオフが依然必要。

doctor の頻度は?

ルーティングまたはシークレット変更のたび、本番は週次 cron も推奨。

MacHTML の Apple Silicon Mac mini レンタルなら、経営層と同じ WebKit/Node ビルドでルーティング検証ができ—Linux コンテナによる macOS 近似ではありません。SSH で合成チャット、Keychain プロンプト時は VNC。アイドル電力はおおよそ 6–12 W、1 週間のフェイルオーバー演習は、全チャンネルが「provider error」と答える一夜停止より安いことが多いです。

公開料金は 1 日約 $16.9。演習後はインスタンス停止即可、ルーティング表は git に残り 36 か月 の CapEx は積み上がりません。

実機 macOS で OpenClaw モデルフェイルオーバーを演習

本番 LaunchAgent 昇格前に、クラウド Mac mini でプロバイダ連鎖・429 フォールバック・doctor プローブを検証してください。

Mac でフェイルオーバー演習
約 $16.9/日〜