メインコンテンツまでスキップ

モデルと推論

マルチモデル切替

複数のモデルを設定し、会話の途中で切り替えられます:

AZURE_OPENAI_MODELS=gpt-4o,o3,gpt-4.1-mini
  • 入力欄の上に モデルセレクタが表示(モデルが 1 つだけのときは非表示)
  • セッションごとのモデル選択が再読込後も保持
  • 別モデルで再生成 -- Regenerate のシェブロンから選択
  • 各アシスタントメッセージに生成したモデルを表示
  • すべてのモデルが同じツール・Skills・MCP を共有

モデルごとのコンテキスト上限は、全プロバイダ共通の 1 変数で指定します:

MODEL_MAX_CONTEXT_TOKENS=gpt-5.5:1050000,claude-opus-4-8:200000

入力欄上のコンテキストバーは、モデル切替時に自動更新されます。

Anthropic(Claude)プロバイダ

Azure OpenAI と並べて Claude モデルを有効化できます。同じセレクタに表示され、ターン 単位で選べます。Anthropic は既定で無効で、ANTHROPIC_MODELS 未設定なら何も 変わりません。

1 変数で 2 つのホスティングを選択:

# direct(Anthropic 公開 API) | foundry(Azure AI Foundry 上の Anthropic)
ANTHROPIC_HOSTING=direct
ANTHROPIC_MODELS=claude-sonnet-4-5-20250929,claude-haiku-4-5

Direct ホスティング:

ANTHROPIC_API_KEY=sk-ant-...
# ANTHROPIC_BASE_URL=https://your-gateway.example.com # 任意のプロキシ

Foundry ホスティング(Azure AI Foundry 上の Anthropic)-- エンドポイントと認証を それぞれ 1 つだけ指定します:

ANTHROPIC_HOSTING=foundry
ANTHROPIC_FOUNDRY_RESOURCE=my-aifoundry # リソース名(サブドメイン)のみ
# または: ANTHROPIC_FOUNDRY_BASE_URL=https://my-aifoundry.services.ai.azure.com/anthropic/

# 認証 A -- API キー(api-key ヘッダで送信):
ANTHROPIC_FOUNDRY_API_KEY=<foundry-key>
# 認証 B -- Entra ID: API キーを空にして AZURE_CREDENTIAL_MODE
# (cli | managed-identity | default)+ AZURE_TENANT_ID を再利用。
警告

ANTHROPIC_FOUNDRY_RESOURCE は Azure AI Services のリソース名(サブドメイン)で あり、Foundry のプロジェクト URL ではありません。Entra ID 認証では ANTHROPIC_FOUNDRY_API_KEY にトークンを入れないでください。そのまま api-key ヘッダ として送られ HTTP 401 になります。

Anthropic は各リクエストに出力上限として max_tokens を必須とします:

ANTHROPIC_MAX_TOKENS=8192

ホスト型 Web 検索は Claude で標準利用できます(web_search_20250305)。その他の エージェント機能は、モデルがツール呼び出しに対応していればどちらのプロバイダでも 動作します。STT・TTS・画像生成・RAG 埋め込みは専用の Azure モデルで動き、チャット プロバイダの選択に依存しません。

メッセージ単位の推論努力度

モデルセレクタの隣のセレクタで、メッセージごとにモデルの思考の深さを設定します。 許可レベルと既定値は選択モデルに従い、バックエンド(GET /api/model)が提供します。 環境変数はありません。選んだ努力度はモデル名とトークン使用量の横に表示され、 セッションに保存されます。

プロバイダレベル既定仕組み
Azure OpenAI(gpt-5.5 / gpt-5.4)low, medium, high, xhighmediumreasoning.effort
Anthropic(Opus 4.8 / 4.7)low, medium, high, xhigh, maxxhighadaptive thinking + output_config.effort

プロンプトキャッシュ(入力トークンコスト)

すべてのモデル呼び出しは、大きく安定したプレフィックス -- システムプロンプトと全 ツールスキーマ -- を毎回送り直します。長いターン(特に 1 メッセージが多数の逐次モデル 呼び出しに展開されるコーディングのツールループ)では、このプレフィックスが何度も 課金されます。プロンプトキャッシュは安定プレフィックスをキャッシュ可能として マークし、1 度だけ課金して以降の呼び出しでは安価に再読込します。出力透過であり、 モデルの応答は同一で、課金とレイテンシだけが変わります。

既定で有効、かつプロバイダ非依存です:

  • Anthropic(Claude): バックエンドがシステムブロック(ツール定義も併せてカバー) と直近の会話メッセージ数件cache_control ブレークポイントを注入します。これに よりエージェント/コーディングのツールループで、会話タール(ツール結果・ファイル内容・ 思考)が毎モデルコールでフル価格再課金される代わりに、大幅割引で再読込されます。
  • Azure OpenAI: 約 1024 トークン以上のプレフィックスでプロンプトキャッシュが 自動適用されます。設定は不要です。

非常に長いツールループでは、sliding-window の履歴コンパクションが会話プレフィックスを ずらし会話キャッシュの命中率を下げます。キャッシュを優先する場合は COMPACTION_KEEP_LAST_GROUPS を上げる(安定窓を広げる)か、 ANTHROPIC_PROMPT_CACHE_TTL=1h を設定(数分の空白を跨いで保持)してください。

# マスタートグル(既定 true)。false でキャッシュを完全に無効化。
PROMPT_CACHE_ENABLED=true

# Anthropic のキャッシュ寿命: 5m(既定)または 1h(拡張キャッシュ)。不明値は 5m。
ANTHROPIC_PROMPT_CACHE_TTL=5m

有効なプロバイダがキャッシュ使用量を報告すると、メッセージ単位のトークン表示に cache_read_input_tokens / cache_write_input_tokens が含まれ、節約を直接確認できます。

ヒント

Claude でクレジット消費がまだ多いと感じる場合は、メッセージ単位の推論努力度 (上記のセレクタ)も下げてください。Anthropic の既定は xhigh で、毎ステップの思考に 多くの出力トークンを使います。多くのコーディング編集には mediumlow で十分です。