9router/gitbook/content/ja/features/smart-routing.md
2026-05-11 11:50:24 +07:00

407 lines
11 KiB
Markdown

# スマートルーティングと自動フォールバック
9Routerは3階層フォールバックシステムを使用して、最適な利用可能なプロバイダーへリクエストを自動的にルーティングします。クォータ制限やレート制限でコーディングが止まることはありません。
---
## 動作の仕組み
9Routerは、既存のサブスクリプションを最大化し、コストを最小化し、24時間可用性を確保するため、インテリジェントなルーティングを使用します:
```
Request → 9Router → Tier 1を確認 (サブスクリプション)
↓ クォータ消費
Tier 2を確認 (低価格)
↓ 予算上限
Tier 3を確認 (無料)
Response
```
### 3階層フォールバックシステム
**Tier 1: サブスクリプション (プライマリ)**
- Claude Code (Pro/Max)
- OpenAI Codex (Plus/Pro)
- Gemini CLI (月18万無料)
- GitHub Copilot
- Antigravity (Google)
**目標**: すでに支払っているサブスクリプションから価値を最大化。
**Tier 2: 低価格 (バックアップ)**
- GLM-4.7 (入力100万あたり$0.60)
- MiniMax M2.1 (入力100万あたり$0.20)
- Kimi K2 (月$9固定)
**目標**: サブスクリプションクォータ切れ時の超低価格バックアップ (ChatGPT APIより約90%安い)。
**Tier 3: 無料 (緊急時)**
- iFlow (8モデル)
- Qwen (3モデル)
- Kiro (Claude無料)
**目標**: 無制限コーディング用のゼロコストフォールバック。
---
## 自動切替
9Routerはクォータをリアルタイムでモニターし、プロバイダーを自動的に切り替えます:
### シナリオ1: サブスクリプションクォータ消費
```
ユーザーリクエスト → cc/claude-opus-4-5
↓ クォータ消費 (5時間制限到達)
自動切替 → glm/glm-4.7
↓ 日次クォータ消費
自動切替 → minimax/MiniMax-M2.1
↓ 5時間クォータ消費
自動切替 → if/kimi-k2-thinking (無料)
レスポンス配信 ✅
```
**結果**: ダウンタイムゼロ、シームレスな体験。
### シナリオ2: レート制限
```
ユーザーリクエスト → cx/gpt-5.2-codex
↓ レート制限 (リクエストが多すぎ)
自動切替 → glm/glm-4.7
レスポンス配信 ✅
```
### シナリオ3: プロバイダー利用不可
```
ユーザーリクエスト → cc/claude-opus-4-5
↓ プロバイダーエラー (503)
自動切替 → 次の利用可能なモデル
レスポンス配信 ✅
```
---
## モデル選択ロジック
9Routerは以下に基づいて最適なモデルを選択します:
1. **クォータ可用性** - プロバイダーに残量があるか確認
2. **コスト階層** - サブスクリプション → 低価格 → 無料を優先
3. **リセットタイミング** - クォータリセット時を考慮
4. **プロバイダー健全性** - エラーのあるプロバイダーをスキップ
### 優先順位の例
`cc/claude-opus-4-5` へのリクエストの場合:
```
1. Claude Codeクォータを確認
✅ 利用可 → cc/claude-opus-4-5を使用
❌ 消費 → ステップ2へ
2. フォールバック階層を確認 (設定されている場合)
✅ GLMクォータ利用可 → glm/glm-4.7を使用
❌ 消費 → ステップ3へ
3. 無料階層を確認
✅ iFlow利用可 → if/kimi-k2-thinkingを使用
❌ すべて消費 → クォータエラーを返す
```
---
## 設定オプション
### ダッシュボード設定
**1. 自動フォールバックを有効/無効化**
```
Dashboard → Settings → Smart Routing
→ 「Auto Fallback」をオン/オフに切替
```
- **オン** (デフォルト): 自動階層切替
- **オフ**: 厳格モード、プライマリモデル利用不可時にエラーを返す
**2. 予算上限を設定**
```
Dashboard → Settings → Budget Control
→ 日次上限: $5
→ 月次上限: $50
```
予算到達時、9Routerは自動的に無料階層へ切替。
**3. フォールバック順序を設定**
```
Dashboard → Settings → Fallback Priority
→ 各階層内でプロバイダーをドラッグして並べ替え
```
カスタム順序の例:
```
Tier 1: Gemini CLI → Claude Code → Codex
Tier 2: MiniMax → GLM → Kimi
Tier 3: iFlow → Kiro → Qwen
```
**4. クォータリセット通知**
```
Dashboard → Settings → Notifications
→ クォータリセット時にメール
→ 80%クォータ使用時にアラート
```
---
## 例
### 例1: 基本的な自動フォールバック
**セットアップ:**
```
Model: cc/claude-opus-4-5-20251101
Fallback: 自動 (デフォルト3階層)
```
**動作:**
```
朝 (新鮮なクォータ):
Request → cc/claude-opus-4-5 ✅
午後 (クォータ消費):
Request → glm/glm-4.7 ✅ (自動切替)
夕方 (GLMクォータ切れ):
Request → minimax/MiniMax-M2.1 ✅ (自動切替)
深夜 (すべての有料クォータ切れ):
Request → if/kimi-k2-thinking ✅ (無料階層)
```
**コスト**: 月$5〜10の追加料金 (主にサブスクリプションでカバー)。
### 例2: 予算意識のルーティング
**セットアップ:**
```
Dashboard → Settings:
Daily budget: $2
Monthly budget: $20
Fallback: 有効
```
**動作:**
```
1〜15日 (予算内):
Requests → glm/glm-4.7 (低価格階層)
コスト: $1.50/日
16日 (予算到達):
Requests → if/kimi-k2-thinking (無料階層)
コスト: $0
翌月 (予算リセット):
Requests → 再びglm/glm-4.7
```
**結果**: 月$20を超えない、常に利用可能。
### 例3: サブスクリプションのみモード
**セットアップ:**
```
Dashboard → Settings:
Auto Fallback: オフ
Strict mode: オン
```
**動作:**
```
Request → cc/claude-opus-4-5
✅ クォータ利用可 → 成功
❌ クォータ消費 → エラーを返す (フォールバックなし)
```
**ユースケース**: 有料サブスクリプションのみを使用したい場合、追加コストなし。
### 例4: 無料のみモード
**セットアップ:**
```
Model: if/kimi-k2-thinking
Fallback: qw/qwen3-coder-plus → kr/claude-sonnet-4.5
```
**動作:**
```
すべてのリクエスト → 無料階層のみ
コスト: 永久に$0
```
**ユースケース**: 個人プロジェクト、学習、実験。
---
## ベストプラクティス
### 1. サブスクリプション価値を最大化
```
戦略:
- サブスクリプションモデルをTier 1に設定
- ダッシュボードでクォータ使用量をモニター
- サブスクリプション消費時のみ低価格階層を使用
```
**コンボ例:**
```
cc/claude-opus-4-5 → glm/glm-4.7 → if/kimi-k2-thinking
```
### 2. コストに最適化
```
戦略:
- Gemini CLI無料階層を最初に使用 (月18万)
- GLM/MiniMaxへフォールバック (超低価格)
- 緊急時: iFlow (無料)
```
**コンボ例:**
```
gc/gemini-3-flash-preview → glm/glm-4.7 → if/kimi-k2-thinking
```
### 3. 品質に最適化
```
戦略:
- 最高のモデルを使用 (Claude Opus、GPT-5.2)
- 良質な低価格モデルへフォールバック (GLM-4.7)
- 最後の手段: 無料階層
```
**コンボ例:**
```
cc/claude-opus-4-5 → cx/gpt-5.2-codex → glm/glm-4.7
```
### 4. 24時間可用性
```
戦略:
- フォールバックに常に無料階層を含める
- クォータリセット時間をモニター
- プロバイダー間で使用量を分散
```
**コンボ例:**
```
cc/claude-opus-4-5 → glm/glm-4.7 → minimax/MiniMax-M2.1 → if/kimi-k2-thinking
```
**結果**: クォータ切れにならない、いつでもコーディング。
---
## クォータリセット戦略
クォータリセット時間に合わせて使用量を計画:
| プロバイダー | クォータリセット | 戦略 |
|----------|-------------|----------|
| **Claude Code** | 5時間 + 週次 | 朝、新鮮なクォータを使用 |
| **Codex** | 5時間 + 週次 | Claudeクォータ切れ後に使用 |
| **Gemini CLI** | 日次 (1K) + 月次 (18万) | 一日中使用 |
| **GLM-4.7** | 毎日午前10時 | 夕方使用、翌朝リセット |
| **MiniMax M2.1** | 5時間ローリング | いつでも使用、ローリングウィンドウを追跡 |
| **iFlow/Qwen/Kiro** | 制限なし | 緊急時バックアップ |
**日課の例:**
```
08:00 - 13:00: Claude Code (新鮮な5時間クォータ)
13:00 - 18:00: Gemini CLI (1K/日クォータ)
18:00 - 22:00: GLM-4.7 (低価格、午前10時リセット)
22:00 - 08:00: MiniMaxまたはiFlow (5時間ローリングまたは無料)
```
---
## モニタリングとアラート
### ダッシュボードクォータトラッカー
```
Dashboard → Quota Overview:
Claude Code: 2.5h / 5h 残 (50%)
Gemini CLI: 今日 450 / 1000 リクエスト
GLM-4.7: 5M / 10M トークン (8時間後リセット)
MiniMax: 3M / 5M トークン (5時間ローリング)
```
### リアルタイム通知
```
Dashboard → Notifications:
⚠️ Claude Codeクォータ80%使用 (1時間残)
✅ GLM-4.7クォータリセット (10Mトークン利用可)
💰 日次予算50%使用 ($2.50 / $5)
```
### 使用統計
```
Dashboard → Analytics:
今日: 5000万トークン
- 3000万 Claude Code経由 (サブスクリプション)
- 1500万 GLM-4.7経由 ($9)
- 500万 iFlow経由 (無料)
コスト: $9 (vs ChatGPT APIの$1000)
節約: 99%
```
---
## トラブルシューティング
**問題: "All providers quota exhausted"**
**解決策:**
1. ダッシュボードクォータトラッカーを確認
2. クォータリセットを待つ (カウントダウン参照)
3. フォールバックチェーンに無料階層を追加
4. または予算上限を増やす
**問題: "Too many fallback switches"**
**解決策:**
1. プライマリプロバイダーがダウンしているか確認
2. クォータ上限を増やす (サブスクリプションをアップグレード)
3. より安いプライマリモデルを使用 (Claudeの代わりにGLM)
**問題: "Unexpected costs"**
**解決策:**
1. Dashboard → Analytics → 使用量を確認
2. 日次/月次予算上限を設定
3. クリティカルでないタスクは無料階層へ切替
4. 無料フォールバック付きのコンボを使用
---
## 関連
- [コンボ](./combos.md) - カスタムフォールバックチェーンを作成
- [クォータトラッキング](./quota-tracking.md) - 使用量とコストをモニター