Azure.AI.AgentServer.Responses 1.0.0-beta.2

Azure OpenAI .NET Releases / 2026/4/19

📰 ニュースDeveloper Stack & InfrastructureModels & Research

要点

  • Azure.AI.AgentServer の Responses API(1.0.0-beta.2)で、テナント分離を目的に chat isolation key の強制と不一致時は 404(非存在と同等)での拒否が追加されました。
  • すべてのプロトコルエンドポイントで x-agent-session-id ヘッダーを返し、応答 ID の検証(形式不正は 400)やメタデータ制約(最大16キー、キー/値長制限)も強化されています。
  • agent_session_id の決定論的導出(SHA-256 を基に 63桁の小文字hexへ切り詰め)が追加され、会話コンテキストがない場合はランダムhexへフォールバックする挙動になりました。
  • ResponseExecution の完了エントリを in-flight tracker から即時に削除することで、長時間稼働サーバーのメモリ圧を軽減する改善が入っています。
  • 各種ログと計測が拡充され、FoundryStorageLoggingPolicy によるストレージAPI呼び出しの詳細ログ、Responses API の structured Information ログ、さらにアウトバウンド要求への server version User-Agent 付与などが追加されています。

1.0.0-beta.2(2026-04-17)

追加された機能

  • すべてのエンドポイントに対して、チャット分離キーの強制を追加しました。
    x-agent-chat-isolation-key をキー付きでレスポンスが作成されると、以降のすべての GET、Cancel、DELETE、および InputItems 呼び出しには同じキーを含める必要があります。キーが不一致、または欠落している場合は 404 が返されます(テナント分離を確実にするため、見つからない場合と区別不能)。
  • すべてのプロトコルエンドポイント(POST、GET、Cancel、
    Delete、InputItems)に x-agent-session-id レスポンスヘッダーを追加しました。解決されたセッション ID は、仕様 §8 に従いレスポンスヘッダーとしてエコーされます。エラーレスポンスの場合は、FOUNDRY_AGENT_SESSION_ID 環境変数へのフォールバックを行います。
  • response_id パスパラメータと
    previous_response_id リクエストボディフィールドの双方で、不正形式のレスポンス ID に対するバリデーションを追加しました。期待される形式(プレフィックスと長さ)に一致しない ID は、400 と説明的なエラーメッセージとともに拒否されます。
  • メタデータ制約のバリデーションを追加しました。メタデータマップはキー数 16 以下、キー長 ≤ 64、値長 ≤ 512 文字に制限され、バリデータパイプラインを通じて強制されます。
  • 決定論的な agent_session_id の派生を追加しました。
    "{agent_name}:{agent_version}:{partition_hint}" の SHA-256 ハッシュを計算し、63 桁の小文字16進数に切り詰めます。会話コンテキストが利用できない場合は、ランダムな16進文字列にフォールバックします。
  • 完了した ResponseExecution エントリをインフライトトラッカーから即時に削除する(eager eviction)ようにしました。これにより、長時間稼働するサーバーでのメモリ負荷を軽減します。
  • FoundryStorageLoggingPolicy を追加しました。これは Azure.Core の「リトライごと」のパイプラインポリシーであり、HTTP メソッド、URI、ステータスコード、所要時間、相関ヘッダー(x-ms-client-request-idx-ms-request-idx-request-idapim-request-id)とともに、すべての外向け Foundry ストレージ API 呼び出しをログに記録します。
  • レスポンス ID コンテキスト付きの、すべての Responses API エンドポイント(GET、Cancel、Delete、
    InputItems)に対して、構造化された Information レベルのログを追加しました。POST /responses の作成ログには、レスポンス ID、会話 ID、以前のレスポンス ID、ストアフラグが含まれるようになり、完全なリクエストトレース可能性が提供されます。
  • すべてのエンドポイントハンドラログと外向け Foundry ストレージ要求ログに、分離キーの存在ログ(HasUserIsolationKeyHasChatIsolationKey)を追加しました。キーの値は一切ログに記録されません。
  • 起動時の設定ログを追加しました。ストレージプロバイダー種別、デフォルトモデル、履歴取得件数、イベントストリーム TTL を、ホスト起動時に Information レベルでログに出力します。
  • すべての外向け Foundry ストレージ API 要求に対して、サーバーバージョン User-Agent ヘッダーを追加しました。
    ServerVersionRegistry から合成される識別情報(開発者登録セグメントを含む)は、標準の Azure.Core ユーザーエージェントの前に付与されます。これはリクエストごとに遅延読み込みで行われます。
  • 診断ログでの Foundry ストレージ URL のマスキングを追加しました。/storage の前にあるすべてはマスクされ、クエリパラメータは削除されます(api-version は除く)。アカウントおよびプロジェクト情報の漏えいを防ぐためです。
  • Tier 1 および Tier 2 のセットアップに対する着信リクエストロギングを追加しました(ResponsesServer.Run() または
    AgentHost.CreateBuilder() 経由)。すべての受信 HTTP リクエストは、メソッド、パス、ステータスコード、所要時間、相関ヘッダー(x-request-idx-ms-client-request-id)とともにログに記録されます。

破壊的変更

  • ResponsesActivitySource を internal にしました。アクティビティソースはフレームワークによって管理されます。ハンドラ側でトレースアクティビティを直接作成する必要はありません。
  • ResponsesTracingConstants を internal にしました。トレースタグ、バゲッジ、ログスコープの定数は、ハンドラ作成者が必要としない実装詳細です。

修正されたバグ

  • コンテナ仕様に合わせるように、エラーレスポンスの形状を修正しました。400 エラーでは invalid_request_error タイプ、
    not_found メッセージ形式です。
  • キャンセルが終端状態の後に行われた場合に、仕様に従って、正しいエラー形状で invalid_request_error タイプを返すように修正しました。
  • DELETE エンドポイントで、レスポンス ID が存在しない場合に 404(400 ではない)を返すように修正しました。仕様に合わせています。
  • 削除後にキャンセルが行われた場合に、仕様に従って 404(not-found)を返すように修正しました。