# OpenAI Agent SDKの便利だけど知られていない機能
🌍 複数の LLM プロバイダを 1 つのエージェントシステムで混在させたいと思ったことはありませんか?
`MultiProvider` を使えば、モデル名のプレフィックスで自動的にプロバイダをルーティングできます。
📌 タイトル:MultiProvider による接頭辞ルーティング
🔗 URL:
🧩 概要
`MultiProvider` は、モデル名のプレフィックス(例:`openai/gpt-4.1`)に基づいてリクエストを適切なプロバイダに自動ルーティングします。`openai_prefix_mode="model_id"` を設定すると `openai/...` をそのままモデル ID として扱い、`unknown_prefix_mode="model_id"` で未知のプレフィックスもモデル ID としてルーティングします。`openai_use_responses_websocket=True` で WebSocket トランスポートも有効化可能です。
🛠 使い方
```python
from agents import Agent, MultiProvider, RunConfig, Runner
provider = MultiProvider(
openai_base_url="",
openai_api_key="...",
openai_use_responses_websocket=True,
openai_prefix_mode="model_id",
unknown_prefix_mode="model_id",
)
agent = Agent(
name="Assistant",
instructions="Be concise.",
model="openai/gpt-4.1",
)
result = await
agent,
"Hello",
run_config=RunConfig(model_provider=provider),
)
```
🏗 本番システムへの組み込み方
・コストやレイテンシに応じて、エージェントごとに異なるプロバイダのモデルを割り当てる
・OpenRouter などの統合ゲートウェイと組み合わせ、`openai_prefix_mode="model_id"` でプレフィックス付きモデル名をそのまま渡す
・`RunConfig(model_provider=provider)` で実行時にプロバイダを切り替え、A/B テストを実施する
・WebSocket を有効にして、対応プロバイダでのストリーミング性能を向上させる
💡 ユースケース
🔀 タスクの難易度に応じた GPT-4.1 / GPT-5.5 の使い分け
🌐 OpenRouter 経由での複数プロバイダへのアクセス統合
💰 高コストモデルと低コストモデルのハイブリッド運用
🧪 異なるモデル間での品質比較テスト
⚠️ 注意点
デフォルトでは `openai/...` は OpenAI プロバイダのエイリアスとして扱われ、未知のプレフィックスは `UserError` を発生させます。OpenRouter など外部ゲートウェイを使う場合は、必ず `openai_prefix_mode` と `unknown_prefix_mode` を `"model_id"` に設定してください。プロバイダごとに対応する機能(ツール呼び出し、構造化出力など)が異なる点にも注意が必要です。
✨ MultiProvider で、複数のモデルを自在に組み合わせたエージェントシステムを構築しましょう。
#
OpenAIAgentSDK# #
AIAgent#