8月4日、Google Developers BlogにてMak AhmadとSanjay Pujareが「A unified API for AI model routing - Google Developers Blog」と題した記事を公開した。複数LLMを使い分けるアプリケーションで自前プロキシの管理が不要になる可能性があり、「同一ホスト制約」という見落としやすい設計上の制限も含め、実務上押さえておきたい内容だ。
OpenAI互換リクエストをそのまま投げてGemini/Claudeへルーティング
複数のLLMを使い分けるAIアプリケーションを構築する際、エンドポイントをハードコードしたり、自前のプロキシサーバーを管理したりする手間は長らく開発者の悩みの種だった。今回発表されたGoogle Cloud API Gatewayのモデルルーティング機能は、この問題をサーバーレスのingressレイヤーとして解決する。
最大のポイントは、OpenAI互換形式のリクエストをそのまま受け付け、バックエンドのネイティブスキーマへの変換(トランスコード)と振り分けを自動で行う点だ。アプリケーション側はエンドポイントのURLとモデル名を指定するだけでよく、GeminiやClaudeのいずれかへ透過的にルーティングされる。
設定はOpenAPI仕様のYAMLに書くだけ
ルーティングロジックの設定は、既存のOpenAPI 3.x仕様ファイルにx-google-api-management拡張ブロックを追加する形で行う。以下が実際の設定例だ。
x-google-api-management:
backends:
gemini-35-flashlite:
address: >-
https://aiplatform.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash-lite:generateContent
deadline: 60.0
pathTranslation: CONSTANT_ADDRESS
anthropic-claude-opus-47:
address: >-
https://aiplatform.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/global/publishers/anthropic/models/claude-opus-4-7:rawPredict
deadline: 60.0
pathTranslation: CONSTANT_ADDRESS
ai:
models:
routing:
routers:
gemini-claude-router:
defaultModel:
backend: gemini-35-flashlite
targetModel: google/gemini-3.5-flash-lite
rules:
- model: "claude-opus-4-7"
backend: anthropic-claude-opus-47
targetModel: anthropic/claude-opus-4-7
routersセクションで仮想モデル名とバックエンドのマッピングを定義し、各エンドポイントのパスにはx-google-model-routerでどのルーターを使うかを指定する。デフォルトモデルとルールベースの振り分けを組み合わせられるため、「通常はGemini、リクエストのモデル名がClaudeなら切り替える」といった構成が数行で実現できる。
実際のリクエストはこれだけで済む。
curl -X POST "https://my-gateway-url.com/v1/chat/gemini-claude" \
-H "content-type: application/json" \
-H "x-api-key: $API_KEY" \
-d '{
"model": "claude-opus-4-7",
"messages": [
{"role": "user", "content": "Introduce yourself in 5 words"}
]
}'
アプリケーションはOpenAI互換のPOSTリクエストを送るだけ。GatewayがClaudeのネイティブスキーマへ変換して転送する。
設定・デプロイ・リクエストの3ステップ
記事ではセットアップを3ステップに整理している。
- ルーティングルールの設定: OpenAPI仕様ファイルに
x-google-api-managementブロックを記述してバックエンドとルーターを定義する - Gatewayのデプロイ: 更新したAPIコンフィグをデプロイしてGatewayを有効化する
- 標準リクエストの送信: アプリケーションは通常のOpenAI形式でリクエストを送るだけ
重要な制約:ルーター内のバックエンドは同一ホストに限定
見落としやすい制約として、1つのルーターに紐付けるバックエンドはすべて同じホスト(例: aiplatform.googleapis.com)である必要がある。モデルやパスの切り替えは行えるが、異なるホスト間をまたいだルーティングはできない。GeminiとClaudeはどちらもVertex AI(aiplatform.googleapis.com)経由でホストされているため共存できるが、外部のAPIエンドポイントと混在させることはできない点に注意が必要だ。
単体でもAgent Gatewayとの組み合わせでも使える
この機能は単体での利用に加え、記事中ではエージェント基盤との連携も想定されている。セキュリティガバナンスを担うAgent Gatewayでエグレス(外向き通信)を制御しつつ、動的なモデル選択をAPI Gatewayに委ねるといった役割分担が可能だ。レート制限やトークン追跡を単独で使うこともできる。
モデルルーティングはAPI Gatewayとして現在パブリックプレビュー中。公式ドキュメントはこちらから参照できる。
詳細はA unified API for AI model routing - Google Developers Blogを参照していただきたい。