モデルルーティング(安価 -> 高価)
まず小規模モデルを試し、失敗した場合や確信度が低い場合だけフロンティアモデルに切り替えます。
「モデルルーティング(安価 -> 高価)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
簡単なタスクに大規模モデルを使わない
「このメールはスパムですか?」という質問にGPT-4oを呼び出すのは、費用の無駄です。簡単なタスクは安価なモデルに、難しいタスクは高価なモデルに振り分けます。
ルーティングのパターン
- まず小規模で安価なモデルを試す
- 出力の信頼度が低い場合、または検証に失敗した場合は、大規模モデルにエスカレーションする
- どの経路が選択されたかを記録する
Confidence-Based Routing
cheap_response = call('gpt-4o-mini', messages)
confidence = parse_confidence(cheap_response)
if confidence > 0.85:
return cheap_response
# Otherwise escalate
return call('gpt-4o', messages)検証ベースのルーティング
安価なモデルの出力がスキーマ検証に失敗した場合は、エスカレーションします。
try:
result = Schema.model_validate_json(cheap_response.content)
return result
except ValidationError:
return Schema.model_validate_json(call('gpt-4o', messages).content)ステップごとのモデル選択
エージェントの各部分には、それぞれ異なるモデルが必要です。
MODEL_BY_STEP = {
'classify_intent': 'gpt-4o-mini', # easy
'plan': 'gpt-4o', # critical
'extract': 'gpt-4o-mini', # routine
'write_response': 'claude-sonnet-4-5' # quality matters
}
# --- demo ---
for step in ['classify_intent', 'plan', 'extract', 'write_response']:
print(f'{step:16s} -> {MODEL_BY_STEP[step]}')
プロバイダー間のルーティング
レイテンシーにはGroq、品質にはOpenAI、長いコンテキストにはAnthropicを使用します。
if need_low_latency:
return call_groq('llama-3.1-70b')
elif need_long_context:
return call_anthropic('claude-sonnet-4-5')
else:
return call_openai('gpt-4o-mini')ルーターとしてのLLM
小規模モデルでリクエストを分類し、次に使うモデルを選択します。
router = call('gpt-4o-mini', 'Classify this request as simple/complex/code. Return one word.')
if router == 'simple':
return call('gpt-4o-mini', user_msg)
else:
return call('gpt-4o', user_msg)フォールバックチェーン
プライマリが失敗した場合(レート制限やエラーなど)は、セカンダリを試します。
for model in ['gpt-4o', 'claude-sonnet-4-5', 'gpt-4o-mini']:
try:
return call(model, messages)
except RateLimitError:
continue
raise AllModelsFailed()Embeddingベースのルーティング
クエリをEmbeddingに変換し、既知の簡単なケースと類似していれば安価なモデルを使い、そうでなければ大規模モデルを使います。
embedding = embed(query)
matches = vector_db.query(embedding, k=3, filter={'category': 'easy'})
if max(m.score for m in matches) > 0.9:
use_cheap_model()ルーティング階層の例
| Tier | コスト | 用途 |
|---|---|---|
| Tier 1 | $ — Llama 8B | 分類、抽出 |
| Tier 2 | $$ — gpt-4o-mini | 標準的なエージェントのステップ |
| Tier 3 | $$$ — gpt-4o / claude | 難しい推論、最終的な統合 |
純粋な節約額を測定する
次の項目を追跡します。
- 各Tierで処理されたリクエストの割合
- Tierごとの品質(評価の合格率)
- リクエストあたりの総コスト
ルーティングによって効果が得られていることを確認するため、ベースライン(常に大規模モデルを使う場合)と比較します。
信頼度を調整する
自己申告の信頼度は信頼できません。評価セットに照らして調整します。モデルが90%と答えているのに正解率が60%しかない場合は、しきい値を調整してください。
オープンソースのルーター
RouteLLM(LMSYS)は、学習済みモデルルーターのためのOSSフレームワークです。ルーティングがコスト構造にとって重要であれば、検討する価値があります。
ルーティング戦略
最もシンプルで効果的なルーティング戦略は何でしょうか?
まとめ
モデルを階層化し、安価なモデルから始めて必要に応じてエスカレーションし、ステップごとにルーティングし、フォールバックチェーンを使います。Tierの構成比と品質を測定します。ルーティングは、本番環境のコストを左右する最大の要因です。
よくある質問
「モデルルーティング(安価 -> 高価)」レッスンは無料ですか?
はい。「モデルルーティング(安価 -> 高価)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「モデルルーティング(安価 -> 高価)」で何を学びますか?
まず小規模モデルを試し、失敗した場合や確信度が低い場合だけフロンティアモデルに切り替えます。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「モデルルーティング(安価 -> 高価)」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ステップごとのトークン予算
- モデルルーティング(安価 -> 高価)
- プロンプトと結果のキャッシュ(Anthropic、Vertex)
- 量子化と投機的デコーディング