OpenRouter、新ルーティングでTTFTを16.9%短縮し429を67%削減

OpenRouterは10/28/2026、プロバイダーの実効価格・スループット・信頼性・可用性・出力品質をリクエストごとに評価する新しいデフォルトのプロバイダールーティングを導入しました。旧ルーターとの比較実験で、TTFT p50は16.9%低下し、429を受けたリクエストは67%減りました。1,000リクエスト当たりのコストは6.0%増えています。

OpenRouterは、複数の提供元のAIモデルを共通のAPIから利用するためのサービスです。

何が変わったか

従来のデフォルトルーターは、ほぼ入力トークン価格だけでプロバイダーを順位付けしていました。OpenRouterによると、リクエストの約77%は複数プロバイダーが提供するモデルに向かいます。新アルゴリズムは「良い回答1件にかかるコスト」をRouting Costとして算出し、次の要素を組み込みます。

  • 実効価格: 実測のキャッシュヒット率と入出力トークン構成を反映した価格です。入力単価だけを安く見せ、キャッシュトークンや出力トークンを高くする価格設定ではトラフィックを取れません。
  • スループット: エンドツーエンドの出力トークン毎秒です。モデルごとの換算レートで待ち時間をコストに加えるため、速いプロバイダーは高い価格でも選ばれます。
  • TTFT: スループットとは別に加算します。ツール呼び出しを連続するエージェントセッションでは、呼び出しのたびに最初のトークンを待つためです。
  • レート制限(429): 拒否までの待ち時間とペナルティを、発生頻度で重み付けして加えます。
  • 信頼性: プロバイダー起因のエラーには重いペナルティを課し、同一モデルの他プロバイダーより大幅に高いエラー率になると回復まで送信を止めます。
  • 品質: 現時点では主にツール呼び出しが正しい形式で返るかを検査し、項目を追加中です。不正なツール呼び出しやベンチマーク精度の低さでフラグが立つと、少量のテストトラフィックだけになります。

トラフィックは最良の1社に集中させず、競争圏内のプロバイダーで分け合います。あわせて3つのガードレールを置きます。全プロバイダーに少量のトラフィックを残すFloor、失敗やレート制限が増えたプロバイダーへの送信を減らすBack off、429を返し始める負荷量を学習して超過分を他へ流すCapです。

実験結果

OpenRouterは旧・新ルーターを切り替えるswitchback実験で効果を測りました。1日を3時間ブロックに分けて切り替え、切り替えごとに1時間のバーンイン期間のデータを捨てています。期間は1週間で、2,400万件超のリクエスト(入力1,030億トークン)を両ルーターに均等に振り分けました。

指標 旧 新 変化
TTFT p50 1,007 ms 837 ms 16.9%低下
TTFT p95 4,601 ms 3,733 ms 18.9%低下
Caller TTFT p95 6,032 ms 4,504 ms 25.3%低下
スループット p50 62.4 tok/s 72.6 tok/s 16.3%向上
リクエスト全体 p50 4.00 s 3.24 s 19.0%低下
リクエスト全体 p95 41.5 s 34.9 s 16.0%低下
1,000リクエスト当たりコスト $1.25 $1.32 6.0%増加
100万トークン当たりコスト $0.301 $0.324 7.3%増加
429を1回以上受けた割合 7.1% 3.8% 67%減少
リトライが必要だった割合 10.4% 6.9% 47%減少
失敗試行に費やした時間/件 349 ms 242 ms 55%減少

適用条件と使い方

デフォルトルーティングを使う場合、コードの変更は不要です。APIキー、リクエスト本文、モデルIDはそのまま使えます。各リクエストを処理したプロバイダーは、レスポンスとアクティビティページで確認できます。

新ルーターは、明示的なprovider.sort、provider.order、provider.only、provider.ignoreを含まないリクエストのうち、新ルーターが有効なモデルに自動で適用されます。各パラメータを指定した場合の動作は次のとおりです。

  • provider.order: 指定した順序でプロバイダーを処理し、新ロジックを迂回します。
  • provider.only / provider.ignore: 残りの候補が複数ある場合、その中から新アルゴリズムで選びます。
  • provider.sort: price、throughput、latencyのいずれかを指定すると、新アルゴリズムの代わりにそのソートを使います。

旧来の価格優先ルーティングを使い続ける方法は3つあります。provider.sortを"price"に設定する、モデルスラッグに:floorを付ける、アカウント設定でデフォルトソートをpriceにする、のいずれかです。

アルゴリズムでプロバイダーを選ぶのは会話の最初のリクエストだけです。以降はプロンプトキャッシュが有効な間、そのプロバイダーに固定し、利用できなくなった場合は別のプロバイダーへ自動でフォールバックします。試行が失敗した場合は、次にランキングの高いプロバイダーへリトライします。

この記事の固有名詞

コメント (0)

まだコメントはありません。

コメントを書く

2000文字以内