チュートリアル 05 — マルチモデルとフェイルオーバー:コストを抑えながらAIを使いこなす
目標:複数のモデルプロバイダーを設定し、自動フェイルオーバーを実現します。普段は安価なモデルを使用し、複雑なタスクには自動的にアップグレードします。
なぜマルチモデルが必要なのか?
| シナリオ | 推奨モデル |
|---|---|
| 日常的な質問、翻訳 | MiniMax M2.1(安価) |
| 複雑な推論、コードアーキテクチャ | Claude OpusまたはMiniMax M2.5(高価だが強力) |
| メインがダウン/レート制限 | 自動的に予備モデルに切り替え(中断なし) |
シナリオ1:MiniMaxをメイン + Claudeをバックアップ
~/.openclaw/openclaw.json を編集します:
{
"gateway": { "mode": "local" },
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": ["anthropic/claude-sonnet-4-6"]
}
}
},
"models": {
"mode": "merge",
"providers": {
"minimax": {
"baseUrl": "https://api.minimax.io/anthropic",
"apiKey": "${MINIMAX_API_KEY}",
"api": "anthropic-messages",
"models": [
{
"id": "MiniMax-M2.1",
"name": "MiniMax M2.1",
"reasoning": false,
"input": ["text"],
"cost": { "input": 15, "output": 60, "cacheRead": 2, "cacheWrite": 10 },
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}MiniMaxがエラーを返すかタイムアウトした場合、自動的にClaude Sonnetに切り替わります。ユーザーには完全に透過的です。
シナリオ2:タスクによって異なるモデルを使用する
会話中にモデルを手動で切り替えます:
# 複雑なタスクには推論モデルに切り替える
pnpm openclaw models set minimax/MiniMax-M2.5
# 終わったら安価なモデルに戻す
pnpm openclaw models set minimax/MiniMax-M2.1または会話中のスラッシュコマンドで切り替えます(モデル切り替えSkillを有効にした場合):
/モデル M2.5
分散キャッシュシステムのアーキテクチャを設計してください
シナリオ3:Claude Opusをメイン + MiniMaxをバックアップ(エコノミーモード)
{
"agents": {
"defaults": {
"models": {
"anthropic/claude-opus-4-6": { "alias": "opus" },
"minimax/MiniMax-M2.1": { "alias": "minimax" }
},
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": ["minimax/MiniMax-M2.1"]
}
}
}
}シナリオ4:完全なマルチモデル設定(三重保証)
{
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": [
"anthropic/claude-sonnet-4-6",
"openai/gpt-4o"
]
}
}
}
}どれかがダウンしても、次のものに自動的に切り替わり、中断しません。
現在使用しているモデルの確認
会話で送信します:
/status
以下のように返されます:
モデル:minimax/MiniMax-M2.1
コンテキスト:4,821 / 200,000 tokens
セッション:main
tokenの使用量とコストの確認
/usage
現在のセッションのtoken消費と推定コストが返され、コスト管理に役立ちます。
思考レベル(Thinking Level)
MiniMax M2.5とClaude Opusは「深い思考」モードをサポートし、より多くのtokenを消費しますが、より正確な回答が得られます:
/think high
このコードの時間計算量を分析し、最適化案を提示してください:
[コードを貼り付け]
思考レベル:off / minimal / low / medium / high / xhigh
日常的な質問には off、複雑なタスクには high を使用します。
モデル選択の推奨事項
| タスクの種類 | 推奨モデル | 思考レベル |
|---|---|---|
| 日常的な質問 | MiniMax M2.1 | off |
| コード生成 | MiniMax M2.1 Lightning | low |
| コードレビュー | MiniMax M2.5 | medium |
| システム設計 | MiniMax M2.5 / Claude Opus | high |
| 数学的推論 | MiniMax M2.5 | xhigh |
よくある質問
フェイルオーバーのトリガー条件は何ですか?
以下の場合にメインモデルから自動的にトリガーされます:HTTP 5xxエラー、リクエストタイムアウト、レート制限(429)、またはモデルサービスが利用不可。OpenClawは fallbacks 配列の順番で次々と試みます。ユーザーには完全に透過的で感知されません。
現在実際にどのモデルを使用しているか確認するには?
会話で /status を送信すると、返される情報に現在のアクティブなモデルの完全なID(例:minimax/MiniMax-M2.1)が表示されます。フェイルオーバーが発生した場合は、ログに記録があります:tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep fallback
異なるモデルのToken料金はどのように計算されますか?
料金は各モデルプロバイダーの公式価格に基づいて計算されます。openclaw.json の models[].cost フィールドで設定します(単位:100万tokenあたりの価格)。/usage を実行して現在のセッションのtoken消費と推定コストを確認できます。
同じ会話中に手動でモデルを強制切り替えできますか?
できます。pnpm openclaw models set <モデルID> コマンドを使用して即時切り替えできます。ゲートウェイの再起動は不要です。または「モデル切り替え」Skill(SKILL.md)を設定して、「M2.5に切り替えて」のような自然言語指示をAIが理解できるようにすることもできます。
複数のProviderのAPI Keyをすべて設定する必要がありますか?
実際に使用するProviderのみ設定が必要です。MiniMaxをメイン + Claudeをバックアップとして設定した場合、この2つのKeyだけが必要です。設定していないProviderは呼び出されず、エラーにもなりません。
次のステップ
- チュートリアル 01 — 基本設定を復習する
- チュートリアル 03 — 「モデル選択」Skillを作成して、AIが使用するモデルを自分で決定できるようにする