モデルの自動選択
モデルに "auto" を指定すると、Gateway がタスクの難しさを判断し、ワークスペースで許可されたモデルを選びます。指定したモデルが差し替えられることはなく、どの応答にも応答したモデルが示されます。
モデルを指定するか auto を使う#
model フィールドには、GET /v1/models のモデル名か auto を指定します。
model | 動作 |
|---|---|
auto | Gateway がタスクの難しさに応じて、ワークスペースで許可されたモデルを選びます。 |
| モデル名 | そのモデルだけが応答します。他のモデルに差し替えられることはありません。 |
agentlab/… | 400 invalid_model で拒否されます。メッセージに有効な値が一覧されます。 |
| Gateway が知らない名前 | 404 model_not_found で拒否されます。メッセージに有効な値が一覧されます。 |
| ワークスペースで除外されているモデル | 403 model_not_enabled で拒否されます。 |
/v1/chat/completions と /v1/responses は、どの会社のモデルかを問わず、許可されたすべてのモデルから選びます。/v1/messages は Claude のモデルだけを使い、OpenAI のモデルにしか処理できない Responses リクエスト(code_interpreter ツールを含むものなど)は OpenAI のモデルだけを使います。
Claude Code と Codex は送信前にモデル名を確認するため、auto を送れません。リクエストには実在するモデル名を入れたまま、ヘッダー X-AgentLab-Routing: auto を付けると、Gateway がモデルを選びます。ヘッダーの値は正確に auto で、1 回だけ送る必要があります。それ以外は 400 で拒否されます。
auto の選び方#
- タスクを判断 構造化出力を返せる、許可されている最も安価なモデルが、リクエストの短い抜粋(システムプロンプトの冒頭、最初と最新のユーザーメッセージ、ツール名。最大 8 KiB で、会話全体は読みません)を読み、タスクの種類と、複数のステップが必要かを判断します。
- モデルを選択 複数ステップの作業には、より強力なモデルを使います。定型的な分析、コーディング、計画には標準のモデルを使います。定型的な抽出、書き換え、会話には、許可されている最も安価なモデルを使います。
- 1 回のやり取りをそろえる 同じツールループの後続ステップは最初のステップのモデルを使い続けるので、暗号化された推論、thinking の署名、プロンプトキャッシュが有効なまま保たれます。
判断が失敗した場合、タイムアウトした場合(6 秒後)、または確信が持てない場合は、標準のモデルが応答します。判断できないときに auto がより安価なモデルを選ぶことはありません。
ワークスペースの月間支出上限の残りが 20% を切ると、複数ステップと判断された作業にも、より強力なモデルではなく標準のモデルを使います。
判断はそれ自体が 1 回のモデル呼び出しです。同じキーで記録・課金され、対象のリクエストにひも付けられます。
一部のプロバイダーだけを使う#
リクエストを特定の会社のモデルだけに限定するには、Chat Completions または Responses に OpenRouter と同じ形式で provider.only を指定します。
{
"model": "auto",
"provider": { "only": ["anthropic"] },
"messages": [{ "role": "user", "content": "Hello" }]
}- プロバイダーとは、コンソールのモデル一覧に表示されるとおり、モデルを作っている会社です:
anthropic、openai、google、meta、xai、deepseek、moonshot、mistral、zhipu、qwen、minimax、amazon、microsoft、cohere、black-forest-labs。anthropicには Amazon Bedrock と Google Vertex AI 上の Claude も含まれます。 - auto、その判断、再試行、
modelsのauto項目は、これらのプロバイダーのモデルだけを使います。ワークスペースのモデル設定も引き続き適用されます。 - 一覧にないモデルの指定、不明なプロバイダー、
providerのその他のオプションは、400 で拒否され、paramはprovider.only(またはそのオプション名)です。一覧のプロバイダーのどのモデルもリクエストを処理できない場合も 400 で拒否され、メッセージに処理できるプロバイダーが示されます。 providerは Gateway だけが読み取り、モデルには送られません。
auto が選んだモデルを確認する#
応答したリクエストには、次のヘッダーが付きます。
| ヘッダー | 値 |
|---|---|
X-Agentlab-Model | 応答したモデル。 |
X-Agentlab-Decision | 理由:モデルを指定した場合は requested_model、auto の場合は auto_assessed、auto_reused、auto_uncertain、auto_assessment_failed、auto_assessment_timeout、auto_budget_guard のいずれか。 |
X-Agentlab-Assessment | auto の場合の判断結果(analysis/multi_step など)。判断がなかった場合は unavailable。 |
X-Request-Id | リクエストの ID。使用量のページやエクスポートに表示されるものと同じです。 |
Chat Completions では、応答したモデルが model に、理由が agentlab_decision.reason(auto または requested_model)にも返されます。