OpenAIのAPIで実装した。次にClaudeも試したくなり、Geminiも比べたくなる。ところがプロバイダごとにSDKもリクエスト形式もエラーの出方も違う。切り替えるたびにコードを書き直し、レスポンスを変換し、リトライ処理を各社ぶんメンテする——気づけばアプリのあちこちに「特定ベンダー向けの配管」が染み込んでいる。しかも1社に固定していると、その会社が停止・値上げ・障害を起こした瞬間、アプリも一緒に倒れる

この配管をまとめて引き受けるのが LLMゲートウェイ(LLM Gateway、AI Gateway)、別名 LLMプロキシだ。アプリと各プロバイダのあいだに1枚かませる中継役で、1本のAPI(多くはOpenAI互換)で全モデルを叩けるようにし、フォールバック・コスト集計・キャッシュ・レート制限といった横断的な面倒ごとを肩代わりする。本記事は、ゲートウェイが何をしてくれるのか自前・ホスト・SDKの3タイプの違い、LiteLLM / OpenRouter / Vercel AI SDK を軸にした選び方、そして導入で損しないための限界までを、実装目線で整理する。

30秒で結論

迷ったらここだけ

ゲートウェイとは
アプリと各プロバイダの間に挟む中継役1本のAPIで全モデルを叩ける。
なにが嬉しい
乗り換え・比較・フォールバックが自由。コストとレート制限も1か所で管理。
まず何を選ぶ
自前運用=LiteLLM/即ホスト=OpenRouter/TS実装=Vercel AI SDK

※ゲートウェイは「タダの魔法」ではない。1ホップ分の遅延・手数料・機能の目減りという代償がある(§8)。

1. なぜLLMゲートウェイが要るのか

単一のプロバイダを1本のSDKで呼ぶだけなら、ゲートウェイは要らない。必要になるのは、複数のモデルを扱いたくなった瞬間だ。典型的な3つの痛みを見てみよう。

🔗 ベンダー固定とコード分散

各社でSDK・パラメータ名・レスポンス構造・エラーコードがバラバラ。乗り換えのたびにアプリ側を書き直す羽目になる。

⚡ 障害・値上げ・提供停止

1社に全依存だと、その会社の停止や値上げがそのまま自分のダウンタイムになる。逃げ道(フォールバック)が欲しい。

🔀 比較・切替・使い分け

用途で最適なモデルは違う。安いモデルで下書き、賢いモデルで仕上げ——と使い分けたいのに、配管が邪魔をする。

共通するのは、「どのモデルを使うか」という本質的な選択を、SDKの都合が縛っているという構図だ。ゲートウェイは、この「配管」をアプリの外へ切り出す。アプリは1つの窓口だけを知っていればよく、その裏で誰を呼ぶか・落ちたら誰に振り替えるか・いくら使ったかは、ゲートウェイが面倒を見る。AIエージェントエージェント・フレームワークを組むと複数モデルの併用がほぼ前提になるため、需要はいっそう高まる。

2. LLMゲートウェイとは何か

LLMゲートウェイとは、アプリと1つ以上のLLMプロバイダのあいだに座るプロキシだ。多くはOpenAIのチャット補完エンドポイントと同じ形の単一APIを外向きに見せ、本来ならコードのあちこちに散らばる横断的な仕事——ルーティング、リトライとフォールバック、キャッシュ、レート制限、コスト集計、アクセス制御——を1か所に集約する。

あなたのアプリ
1本のAPIだけを知る
(OpenAI互換)
LLMゲートウェイ
ルーティング/フォールバック
コスト/キャッシュ/制御
各プロバイダ
OpenAI/Anthropic
Google/ローカル…
アプリはゲートウェイという1つの窓口だけを見る。誰を呼ぶかは裏で切り替わる。

ポイントは「窓口を1つにする」ことにある。アプリのコードは model に文字列を渡すだけ。anthropic/claude-opus-4.8 と書けばClaude、openai/gpt-5.5 と書けばGPT——アプリの他の部分は1行も変わらない。落ちたら別モデルへ振り替える、同じ質問はキャッシュから返す、といった判断もゲートウェイ側の設定で完結する。ローカルLLMを混ぜて「機密データはローカル、それ以外はクラウド」と振り分けるのも同じ仕組みで書ける。

3. 何を肩代わりしてくれるのか

ゲートウェイが引き受ける「横断的な仕事」は、だいたい次の6つに整理できる。ツールによって得意・不得意はあるが、方向性は共通だ。

🔌 統一API

全プロバイダを1つの形式(多くはOpenAI互換)で呼べる。アプリからベンダー差を消す、最重要の機能。

🔁 フォールバック・リトライ

主モデルがエラー・過負荷・タイムアウトのとき、自動で別モデルへ振り替え。事業継続の要。

💰 コスト集計・仮想キー

ユーザー/チーム/案件ごとに利用額を可視化。実キーを隠したスコープ付き仮想キーを配れる。

⚡ キャッシュ

同一・類似のリクエストを記憶して即返す。API課金とレイテンシを削る。

🚦 レート制限・負荷分散

キー単位のトークン/リクエスト上限や、複数キー・複数インスタンスへの負荷分散

📊 観測・ガードレール

全リクエストのログ・レイテンシ・成功率を計測。入出力のガードレールを挟めるツールも。

💡 「フォールバック=安心」ではない。 振り替え先のモデルは出力の癖・トークン数・対応機能が違う。フォールバックは設定した瞬間に安全になるのではなく、実際に発火させてテストして初めて効く。切替後にプロンプトが崩れないか、必ず事前検証すること。

4. 3つのタイプ——自前・ホスト・SDK

「LLMゲートウェイ」と一括りにされるが、どこで動くかで性格が大きく3つに分かれる。ここを取り違えると選定を誤る。

タイプ 動く場所 代表例 向いている人
① セルフホスト型プロキシ 自社サーバー(別プロセス) LiteLLM / Portkey(OSS) データを外に出さず統制したい
② ホスト型(SaaS) 提供元のクラウド OpenRouter / Cloudflare 運用ゼロで即使いたい
③ SDK・ライブラリ型 アプリのコード内 Vercel AI SDK TS/JSで手早く抽象化したい

①セルフホスト型は、自社インフラに立てる独立プロセス(プロキシ・サーバー)。プロンプトが外部SaaSを経由しないので統制・監査に強い反面、自分で運用する。②ホスト型は提供元がプロキシを運用してくれるので導入は最速だが、リクエストは第三者を通る。③SDK型は別プロセスを立てず、アプリのコードの中でプロバイダ差を吸収する——ネットワーク的な中継役ではなく「抽象化レイヤ」で、①②と併用もできる。

5. 主要ツールを比べる

推奨順に3本の主役と、押さえておくべき2本を紹介する。数値は各公式の2026年7月時点の記載に基づく(提供内容は改定されるため、最新は必ず一次情報で確認を)。

LiteLLM——自前で建てる定番プロキシ

LiteLLM(開発元 BerriAI)は、オープンソースのPythonライブラリ兼セルフホスト・ゲートウェイ。100以上のプロバイダ・2,500以上のモデルOpenAI互換の単一APIで叩ける(公式リポジトリの記載)。プロキシとして立てれば、コスト追跡・仮想キー・レート制限・フォールバック・負荷分散・Redisキャッシュ・オブザーバビリティ(Langfuse/Prometheus/Datadog連携)まで揃う。プロンプトを自社内に留めたい組織の第一候補だ。

OpenRouter——鍵1本で即マルチプロバイダ

OpenRouterは、運用不要のホスト型ゲートウェイ。単一のOpenAI互換API1本のAPIキーで、公式によれば400以上のモデルにアクセスできる。特筆すべきは料金設計で、公式は「推論トークンに上乗せはしない(カタログ表示価格=各社公表価格)」と明言する一方、クレジット購入時に5.5%のプラットフォーム手数料がかかる(openrouter.ai/pricing の記載)。「まず動かす」「1鍵で全社を試す」用途で圧倒的に速い。

Vercel AI SDK——TypeScriptでコードから抽象化

Vercel AI SDK(2026年は単に「AI SDK」)は、TypeScript製のオープンソース・ツールキット。別プロセスのプロキシではなく、アプリのコード内でプロバイダ差を吸収する抽象化レイヤだ。公式が「アーキテクチャの核」と呼ぶのがプロバイダ抽象化で、OpenAIからAnthropicへの乗り換えはimportとモデル文字列を1つ変えるだけ——生成・ストリーミング・ツール呼び出しのコードは丸ごと不変。ホスト型の Vercel AI Gateway と組めば100以上のモデルにも届く。実装の詳細とコードは Vercel AI SDK完全ガイド で深掘りしている。

あわせて知っておく2本

エッジで動くマネージド型。既存のプロバイダ呼び出しを通すだけで、キャッシュ・レート制限・分析・ログ・フォールバックを最小のコード変更で得られる(公式ドキュメント)。すでにCloudflareを使う構成と好相性。

🛡️ Portkey

ゲートウェイに本番向けのガバナンス・ガードレール・プロンプト管理を足した制御プレーン。公式は1,600以上のLLMを1つのAPIでつなぐとする。OSS版はセルフホストも可能。

ツール タイプ 窓口 主眼 料金の考え方
LiteLLM ①自前 OpenAI互換API 統制・仮想キー・観測 OSS無料+自社運用費
OpenRouter ②ホスト OpenAI互換API 即・鍵1本で400+モデル 推論は上乗せ無・購入に5.5%
Vercel AI SDK ③SDK TS関数 コードから乗換・型安全 SDK無料+各社課金
Cloudflare AI Gateway ②ホスト(エッジ) 通す型 キャッシュ・観測 Cloudflare料金体系
Portkey ①/②両対応 統一API ガバナンス・ガードレール OSS+SaaSプラン
数値・料金は各公式の2026年7月時点の記載。改定されるため導入時は一次情報で再確認を。

6. 最小構成のイメージ(コード)

「難しそう」に見えて、乗り換えの肝はたった1か所——接続先(またはモデル文字列)を差し替えるだけだ。3タイプそれぞれの最小例を見よう。

② ホスト型:OpenRouter(接続先を差し替えるだけ)

いつものOpenAI SDKのまま、base_url と鍵を替えるだけで400+モデルに届く。

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",  # 差し替えるのはここだけ
    api_key="sk-or-...",                       # OpenRouterの鍵
)

resp = client.chat.completions.create(
    model="anthropic/claude-opus-4.8",  # "openai/gpt-5.5" に変えれば乗換完了
    messages=[{"role": "user", "content": "こんにちは"}],
)
print(resp.choices[0].message.content)

① セルフホスト型:LiteLLM(自前でプロキシを立てる)

設定ファイルに使うモデルを並べ、コマンド1つで localhost:4000 にOpenAI互換のゲートウェイが立つ。アプリはそこへ向けるだけ。

# config.yaml
model_list:
  - model_name: claude
    litellm_params:
      model: anthropic/claude-opus-4-8
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: gpt
    litellm_params:
      model: openai/gpt-5.5
      api_key: os.environ/OPENAI_API_KEY
# 起動(http://localhost:4000 にOpenAI互換で立つ)
litellm --config config.yaml

③ SDK型:Vercel AI SDK(コードのモデル文字列を替える)

importと関数はそのまま、model の文字列を差し替えるだけで乗り換わる。

import { generateText } from 'ai';

const { text } = await generateText({
  model: 'anthropic/claude-opus-4.8',  // 'openai/gpt-5.5' に変えるだけ
  prompt: 'こんにちは',
});
console.log(text);

いずれもアプリのロジックは1行も触っていない。これがゲートウェイ/抽象化の効き目だ。フォールバックやキャッシュは、この上に設定で足していく(具体的な書き方は各公式ドキュメントが最短)。

7. どう選ぶか

「どれが一番いいか」ではなく、自分の制約に合うのはどれかで選ぶ。次の順で当てはめると迷いにくい。

まず動かす/個人・PoC・少人数OpenRouter。鍵1本・運用ゼロで全社モデルを試せる。手数料5.5%は「運用しない対価」と割り切る。

TypeScript/Next.jsで作っているVercel AI SDK。コードから型安全に抽象化でき、ストリーミングUIも一式。実装は059の完全ガイドへ。

データを外に出したくない/全社で統制したいLiteLLM(またはPortkey OSS)を自前運用。仮想キーでチームに配り、コストとログを1か所で握る。

すでにCloudflare上に構成があるCloudflare AI Gatewayで、既存の呼び出しを通すだけでキャッシュ・観測を足す。

実務では組み合わせも普通だ。たとえば「アプリ内はVercel AI SDKで書きつつ、その裏口をLiteLLMプロキシに向けて全社のコスト・鍵を一元管理」といった二段構えは、SDK型とプロキシ型が別レイヤだからこそ成り立つ。依存リスクへの備えとしてフォールバック先にローカルLLMを1つ挿しておくのも定石になりつつある。

8. 注意点・限界——タダではない

ゲートウェイは便利だが、1枚かませる以上、必ず代償がある。導入前にこの4点を勘定に入れておく。

⏱️ 1ホップ分の遅延

間に中継が挟まる以上、わずかにレイテンシが増える。ホスト型は特に地理的距離が効く。キャッシュで相殺できる場面も多いが、超低遅延用途では要計測。

🎯 新たな単一障害点

プロバイダ障害には強くなるが、ゲートウェイ自身が落ちれば全滅。冗長化やヘルスチェック、直叩きへの退避経路も設計に入れる。

💸 手数料・運用費

ホスト型は手数料(OpenRouterは購入額の5.5%)、自前型はサーバー運用コストが乗る。規模で損益分岐が変わる。

🧩 機能の目減り

OpenAI互換の最大公約数に寄せる分、各社独自の機能(拡張思考・特殊なツール形式など)が通らない・遅れて対応することがある。

もう一つ見落とされがちなのがプライバシーだ。ホスト型ゲートウェイを通すと、プロンプトと応答が第三者のインフラを経由する。機密データを扱うなら、経由先のデータ取り扱いポリシーを確認するか、そもそもセルフホスト型(LiteLLM等)でプロンプトを自社内に留める。組織で本番運用するなら、ゲートウェイのキーやログ自体も最小権限と隔離の対象として扱うのが安全側だ。

まとめ

  • LLMゲートウェイはアプリと各プロバイダの間の中継役。1本のAPIで全モデルを叩けるようにする。
  • 肩代わりするのは統一API・フォールバック・コスト集計・キャッシュ・レート制限・観測の6つ。
  • タイプは3つ——①セルフホスト(LiteLLM)/②ホスト(OpenRouter)/③SDK(Vercel AI SDK)。制約で選ぶ。
  • 選び方:即=OpenRouter/TS実装=Vercel AI SDK/統制=LiteLLM。組み合わせも普通。
  • 代償を忘れない:1ホップ遅延・ゲートウェイ自身の障害点・手数料・機能の目減り・プライバシー
  • フォールバックは設定しただけでは効かない——実際に発火させてプロンプトが崩れないか検証する。

複数モデルを扱うなら、ゲートウェイは「あると便利」ではなく「配管を1か所に集める」ための基本装備になりつつある。まずはOpenRouterでbase_urlを差し替えるか、Vercel AI SDKでモデル文字列を1つ替える——その小さな一歩で、特定ベンダーへの固定が解け、比較もフォールバックも一気に現実的になる。正確な最新仕様は各公式(LiteLLMOpenRouterAI SDK)を一次情報として確認してほしい。

FAQ

Q. LLMゲートウェイとLLMプロキシは違うもの?

A. ほぼ同義で使われる。どちらもアプリと各プロバイダの間に立つ中継役を指す。強いて言えば「プロキシ」は通信の中継という機構寄りの呼び名、「ゲートウェイ」はコスト管理・ガバナンスまで含む役割寄りの呼び名として使われることが多い。

Q. OpenRouterの「上乗せなし」なのに、なぜ割高になることがある?

A. 推論トークン単価は各社の公表価格そのまま(上乗せなし)だが、公式によればクレジット購入時に5.5%のプラットフォーム手数料がかかる。少額チャージほどこの割合が体感で効くため、実効コストは「モデル料金+数%」で見積もるとよい。最新は openrouter.ai/pricing を確認。

Q. Vercel AI SDKとLiteLLM、どちらを使うべき?

A. 別レイヤなので競合しない。Vercel AI SDKはコード内の抽象化(TS/JS向け)LiteLLMは独立プロセスのプロキシ(言語不問・統制向け)。TSアプリを素早く組むなら前者、全社のコスト・鍵・ログを1か所で握るなら後者。両方を重ねる構成もよくある。

Q. ゲートウェイを入れると遅くなる?

A. 中継が1つ増えるぶんわずかに遅延は乗る。ただしキャッシュが効く場面では逆に速くなることも多い。超低遅延が要件なら、セルフホスト型を近い場所に置く・キャッシュを活用する・重要経路は直叩きの退避を用意する、で影響を抑えられる。

Q. 単一プロバイダしか使わなくてもゲートウェイは要る?

A. 必須ではない。ただしコスト可視化・仮想キーでのアクセス制御・キャッシュ・観測だけでも価値が出る場面は多い。将来モデルを増やす・チームで使う見込みがあるなら、早めに1枚かませておくと移行が楽になる。