407 lines
11 KiB
Markdown
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) - 使用量とコストをモニター
|