コンテンツにスキップ
OmniRoute source

Auto-Combo: Let OmniRoute Pick the Best AI for You (日本語)

特定の AI モデル(GPT-4o や Claude など)を選択する代わりに、リクエストごとに OmniRoute に最適なモデルを自動的に選択させることができます。以下の要素が考慮されます。

  • 稼働状況 — プロバイダーは現在正常に動作しているか?
  • 速度 — どの程度高速か?
  • コスト — 料金はいくらか?
  • 品質 — この種類のタスクを得意としているか?
  • キャパシティ — クォータが残っているか?

OmniRoute は接続されているすべてのプロバイダーを評価し、最適なものを選択します。失敗した場合は、次のプロバイダーを自動的に試します。


ステップ 1: IDE または CLI でモデルを auto に設定します。

model: "auto"

ステップ 2: これだけです!残りは OmniRoute が処理します。

ステップ 3(任意): 特定のタスクにはバリアントを使用します。

model: "auto/coding" # コードに最適
model: "auto/fast" # 最速の応答
model: "auto/cheap" # 最も安価なオプション

どの「auto」を使用すべきですか?

Section titled “どの「auto」を使用すべきですか?”
目的 使用するもの 最適な用途 仕組み
総合的に最適 auto 一般的な質問、チャット 速度、コスト、品質のバランスを取る
コードに最適 auto/coding コードの作成、デバッグ コーディングタスクが得意なモデルを選択
最速の応答 auto/fast 素早い回答、低レイテンシ 何よりも速度を優先
最も安価な選択肢 auto/cheap コストの節約 最も安価なプロバイダーを選択
最も高性能なモデル auto/smart 複雑なタスク 品質を優先し、新しいモデルも探索
最も利用しやすい auto/offline プロバイダーが混雑している場合 キャパシティが最も多いプロバイダーを選択
ターミナルウィンドウ
# 一般的なチャット — バランス重視
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"こんにちは!"}]}'
# コード生成 — 品質を優先
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/coding","messages":[{"role":"user","content":"Python 関数を作成してください"}]}'
# 素早い回答 — 速度を優先
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/fast","messages":[{"role":"user","content":"2+2 はいくつですか?"}]}'

model: "auto" を指定してリクエストを送信すると、OmniRoute は以下を行います。

  1. 接続されているすべてのプロバイダーを確認 — 追加済みのすべてのプロバイダー(OpenAI、Anthropic、Google など)
  2. 各プロバイダーを評価し、特に以下の要素を考慮します。
    • 正常に動作しているか?(稼働状況)
    • キャパシティがあるか?(クォータ)
    • コストはいくらか?(価格)
    • どの程度高速か?(速度)
    • このタスクを得意としているか?(品質)
  3. 最適なものを選択 — 最もスコアが高いプロバイダーにリクエストが送信されます
  4. 自動復旧 — 失敗した場合、OmniRoute は次のプロバイダーを自動的に試します

各プロバイダーには 0~1 のスコアが付けられます。スコアが高いほど、より適しています。

要素 重み 意味
稼働状況 20% プロバイダーは正常に動作しているか?(サーキットブレーカーの状態)
クォータ 15% キャパシティが残っているか?
コスト 15% 料金はいくらか?(安いほど高スコア)
速度 12% どの程度高速か?(低レイテンシほど高スコア)
タスク適合度 8% この種類のタスクを得意としているか?
安定性 5% 一貫しているか?(低いエラー率)
ティア 5% アカウントのティア(Ultra > Pro > Free)
その他 20% コンテキストの親和性、接続密度など

バリアントによるスコアリングの違い

Section titled “バリアントによるスコアリングの違い”

各バリアントでは異なる重みが使用されます。

バリアント 優先するもの 主な重み
auto バランス health=20%, quota=15%, cost=15%
auto/coding 品質 taskFit=37%, stability=15%
auto/fast 速度 latency=32%, health=28%
auto/cheap コスト cost=37%
auto/smart 品質 + 探索 taskFit=37%, exploration=10%
auto/offline キャパシティ quota=37%, health=28%

OmniRoute には3層の保護機能があります。

最適なプロバイダーで障害が発生した場合、OmniRoute は自動的に次のプロバイダーを試します。ユーザー側で何かを行う必要はありません。

プロバイダーで障害が繰り返し発生する場合:

  • スコア < 0.2 → 5分間除外
  • サーキットブレーカーが開いている → 自動的に除外
  • 50%を超えるプロバイダーが停止 → インシデントモード(探索なし)

すべてのプロバイダーで障害が発生した場合、OmniRoute は最後の手段として、安定した無料プロバイダー(Kiro や Qoder など)にルーティングします。


同じプロバイダーに複数のアカウントがある場合(例:2つの OpenAI キー)、OmniRoute は各アカウントを個別の候補として扱います。つまり、次のように動作します。

  • アカウントAにクォータが残っている → 使用する
  • アカウントBがレート制限を受けている → スキップする
  • アカウントCの方が安価 → 優先する

各アカウントは、それぞれの健全性、クォータ、速度に基づいて個別にスコアリングされます。


OmniRoute は、より優れた選択肢を見つけるために、新しいプロバイダーをときどき探索します。

  • デフォルト:リクエストの5%をランダムなプロバイダーに送信
  • Auto/smart:探索率10%
  • プロバイダーの50%超が異常な場合は無効

これにより、OmniRoute は利用パターンに最適なプロバイダーを学習できます。


「常に最も高価なモデルが選択されますか?」

Section titled “「常に最も高価なモデルが選択されますか?」”

いいえ。 デフォルトでは、コストがスコアに占める割合はわずか15%です。安価で高速かつ正常なプロバイダーが、高価なプロバイダーよりも高い評価を得る場合があります。コストをさらに優先したい場合は、auto/cheapを使用してください。

「プロバイダーが停止した場合はどうなりますか?」

Section titled “「プロバイダーが停止した場合はどうなりますか?」”

OmniRoute はそのプロバイダーを自動的にスキップし、次のプロバイダーを試します。プロバイダーで障害が繰り返し発生する場合は、一時的に除外されます(5〜30分間)。ユーザー側で何かを行う必要はありません。

「どのプロバイダーが使用されたか確認できますか?」

Section titled “「どのプロバイダーが使用されたか確認できますか?」”

レスポンスヘッダーを確認してください。OmniRoute は、各レスポンスに使用されたプロバイダーとモデルを含めます。

「使用状況から学習しますか?」

Section titled “「使用状況から学習しますか?」”

はい!スコアリングシステムは履歴データ(レイテンシ、エラー率、成功率)を使用し、時間の経過とともにより適切な判断を行います。

「autoとauto/smartの違いは何ですか?」

Section titled “「autoとauto/smartの違いは何ですか?」”
  • auto — バランス重視、探索率5%
  • auto/smart — 品質優先(auto/codingと同じ重み付け)、探索率10%

最高の品質を求め、ときどき探索が行われても問題ない場合は、auto/smartを使用してください。

「特定のプロバイダーを強制的に使用できますか?」

Section titled “「特定のプロバイダーを強制的に使用できますか?」”

はい!autoの代わりにpriority戦略を設定したコンボを使用し、コンボの正確な名前をmodelフィールドとして送信してください(例:model: "my-combo" — autoではありません)。詳細については、技術リファレンスを参照してください。

「ラウンドロビンとはどのように違いますか?」

Section titled “「ラウンドロビンとはどのように違いますか?」”

ラウンドロビンは、プロバイダーを順番に切り替えます。Auto-combo は各プロバイダーをスコアリングし、最適なものを選択します。よりスマートで、健全性、速度、コスト、品質を考慮します。



開発者およびコントリビューター向けの情報については、以下の内容を扱うAuto-Combo 技術リファレンスを参照してください。

  • 16要素の完全なスコアリングアルゴリズム
  • モードパックの重みテーブル
  • 実装ファイルのパス
  • APIエンドポイント
  • 自己修復アルゴリズムの詳細

OmniRoute ソースコード (a58000c7685f)

HagiCode

HagiCode は構造化ワークフロー、マルチエージェント実行、Hero Dungeon ビューを備えたエージェント型コーディングワークスペースです。

よりスマートで速く、楽しいエージェント型ワークフローで、使いやすいソフトウェアを形にします。

HagiCode ライトテーマのメイン画面
  • Smart構造化ワークフローは意図をアイデアから変更のリリースまで実行可能な道筋にします。
  • Efficientマルチエージェントのワークフローで調査、実装、レビューを並行して進めます。
  • FunHero Dungeon により長時間のコーディングを視覚的で協力的な体験にします。
HagiCode を見る