Azure SDK documentation update: TypeSpec commit f6fde1c197adで確認すべき変更点

Azure SDK documentation update: Code generation from typespec commit f6fde1c197adでまず確認すべき点は、Azure.AI.Projects.AgentsのAgentEndpointがAgentEndpointConfigへ名称変更されたことです。Hosted AgentやAgent endpointをC# SDKで作成・更新しているコードでは、単なるドキュメント更新として流さず、型名、CreateAgentVersion周辺の呼び出し、サンプルコード、CIのビルド結果を確認してください。

今回の更新は、Azure SDK for .NETリポジトリのPR #58927「Code generation from typespec commit f6fde1c197ad」によるものです。PRはAzure/azure-sdk-for-netのmainへマージされ、TypeSpecの参照コミットをf6fde1c197adf274a4b344ea27ec26490841ab68に更新し、API view、サンプル、Changelogなどを反映しています。GitHub上では2026年5月1日にマージされており、日本時間では2026年5月2日頃に確認対象となる更新です。(GitHub)

目次

Azure SDK documentation updateでまず確認すべき変更点

今回の変更は、Azure SDK全体を使っている全員に大きな修正を迫るものではありません。影響が大きいのは、Azure AI FoundryのAgent関連、特にHosted AgentやAgent endpointを.NETのAzure SDKで扱っている開発者です。

確認項目変更内容対応の優先度
AgentEndpointの型名AgentEndpointConfigへ名称変更高
PatchAgentOptions.AgentEndpointを使うコード代入するオブジェクトの型を確認高
CreateAgentVersion / CreateAgentVersionAsyncメソッド自体ではなく、引数の渡し方を確認中〜高
Azure.AI.Projects / Azure.AI.Projects.Agents / Azure.AI.Extensions.OpenAITypeSpec参照コミットが更新中
サンプル・テストコードAgentEndpointConfigを使う形に更新中
本番環境の設定endpoint、認証、RBAC、protocol、version selectorを確認中〜高

PRの説明では、Breaking ChangeとしてAgentEndpointからAgentEndpointConfigへのリネームが明記されています。さらに、Azure.AI.Projects、Azure.AI.Projects.Agents、Azure.AI.Extensions.OpenAIのTypeSpec参照コミットが更新対象に含まれています。(GitHub)

今回の更新は「パッケージリリース」ではなく「mainへのコード生成反映」として見る

実務で最初に切り分けるべきなのは、「NuGetで今すぐ自分の環境に入る変更なのか」「リポジトリ上の次期反映なのか」です。

Azure.AI.Projects.AgentsのChangelogでは、2.1.0-beta.2がUnreleasedとして記載され、そのBreaking ChangesにAgentEndpointからAgentEndpointConfigへのリネームが入っています。つまり、少なくとも確認時点では「main上に反映された次期更新」として扱い、手元のSDKバージョン、参照しているプレビュー版、CIで取得しているパッケージの条件を分けて確認するのが安全です。(GitHub)

特に--prereleaseや浮動バージョンを使っているプロジェクトでは、ある日ビルド環境だけが新しいAPI surfaceを拾うことがあります。開発端末では通るのにCIで落ちる、またはその逆になる典型的なパターンです。

影響を受ける可能性が高い人

次のいずれかに当てはまる場合は、今回のAzure SDK documentation updateを確認すべきです。

対象確認理由
C#でAzure.AI.Projects.Agentsを使っているBreaking Changeがこのパッケージに集中している
Hosted Agentを作成・更新しているサンプルがAgentEndpointConfigを使う形へ更新されている
PatchAgentObject / PatchAgentObjectAsyncでendpoint設定を更新しているAgentEndpoint設定オブジェクトの型名変更に当たりやすい
CreateAgentVersion / CreateAgentVersionAsyncを使っている直接ProjectsAgentDefinitionを渡していたコードは修正が必要になる可能性がある
SDKのAPI view差分を追っているライブラリ管理者API surfaceの変更として検知される
Azure AI Foundryのプレビュー機能を検証しているHosted Agent周辺はプレビュー更新の影響を受けやすい

一方、Azure.AI.Projectsでデータセット、接続、モデル一覧などだけを扱っており、Agent endpointを作成・更新していない場合は、直接の修正は少ない可能性があります。ただし、同じソリューション内でAgent管理コードが混在している場合は、検索して確認してください。

AgentEndpointはAgentEndpointConfigへ置き換える

最も分かりやすい変更は型名です。更新前のAPI viewではAgentEndpointクラスが存在していましたが、更新後のAPI viewではAgentEndpointConfigクラスが確認できます。(GitHub)

変更前のイメージ

AgentEndpoint config = new()
{
    VersionSelector = new([
        new FixedRatioVersionSelectionRule(
            agentVersion: agentVersion.Version,
            trafficPercentage: 100)
    ]),
    Protocols = { AgentEndpointProtocol.Responses }
};

PatchAgentOptions patchOptions = new()
{
    AgentEndpoint = config,
};

変更後のイメージ

AgentEndpointConfig config = new()
{
    VersionSelector = new([
        new FixedRatioVersionSelectionRule(
            agentVersion: agentVersion.Version,
            trafficPercentage: 100)
    ]),
    Protocols = { AgentEndpointProtocol.Responses }
};

PatchAgentOptions patchOptions = new()
{
    AgentEndpoint = config,
};

ポイントは、PatchAgentOptions側のプロパティ名まで機械的に変えないことです。サンプルではAgentEndpointConfig config = new()を作成し、PatchAgentOptionsのAgentEndpointへ代入しています。つまり、変更すべき中心は設定オブジェクトの型名であり、AgentEndpointProtocolのような別の型まで一括置換しないようにしてください。(GitHub)

CreateAgentVersionは「メソッドが消えた」と早合点しない

今回のPRやコミットメッセージには、CreateAgentVersion / CreateAgentVersionAsyncのconvenience overloadに関する記載があります。ただし、更新後のAPI viewを見ると、CreateAgentVersion / CreateAgentVersionAsync自体は残っています。残っている形は、主にProjectsAgentVersionCreationOptionsまたはBinaryContentを受け取るメソッドです。(GitHub)

実務上の読み方としては、「CreateAgentVersionが全面的に削除された」と考えるのではなく、「ProjectsAgentDefinitionを直接渡していた呼び出しがあるか」を確認するのが正確です。更新前のAPI viewには、ProjectsAgentDefinition definitionを直接受け取るCreateAgentVersion / CreateAgentVersionAsyncが確認できますが、更新後に同じシグネチャは見つかりません。(GitHub)

直接definitionを渡していた場合の修正方針

HostedAgentDefinition agentDefinition = GetAgentDefinition(dockerImage);

ProjectsAgentVersionCreationOptions creationOptions = new(agentDefinition);
creationOptions.Metadata["enableVnextExperience"] = "true";

ProjectsAgentVersion agentVersion =
    await projectClient.AgentAdministrationClient.CreateAgentVersionAsync(
        agentName: "myHostedAgent",
        options: creationOptions);

更新後のサンプルでも、HostedAgentDefinitionをProjectsAgentVersionCreationOptionsで包み、CreateAgentVersionAsyncのoptionsへ渡す形が使われています。(GitHub)

移行時に使える確認手順

既存プロジェクトでは、まずコード検索で影響範囲を絞り込むのが早道です。Visual Studioの検索でも構いませんが、リポジトリ全体を機械的に確認するならrgやgit grepが便利です。

手順コマンド例見るポイント
型名の利用箇所を探すrg "\bAgentEndpoint\b"new AgentEndpoint()が残っていないか
endpoint設定の代入箇所を探すrg "PatchAgentOptions | AgentEndpoint ="AgentEndpointConfigを代入しているか
version作成の呼び出しを探すrg "CreateAgentVersion"ProjectsAgentDefinitionを直接渡していないか
サンプルとの差分を見るrg "AgentEndpointConfig"新しい書き方にそろっているか
ビルドで検出するdotnet build型名変更、引数不一致、曖昧なオーバーロードを確認

特に注意したいのは、AgentEndpointという語が「型名」「プロパティ名」「概念名」として混在することです。単純な全置換を行うと、PatchAgentOptions.AgentEndpointやドキュメント文言まで不自然に変えてしまう可能性があります。

設定確認で見るべきポイント

コード修正だけで終わらせると、ビルドは通ってもAgent endpointの動作確認でつまずくことがあります。今回の更新は型名変更が目立ちますが、Hosted Agent周辺ではendpoint、protocol、version selector、認証、RBACも合わせて確認してください。

endpointと認証

Azure AI Projectsの.NETクライアントは、AIProjectClientを作成し、DefaultAzureCredentialなどのAzure Identity系の資格情報で認証する構成が一般的です。Microsoft LearnのAzure AI Projects client library for .NETでも、FOUNDRY_PROJECT_ENDPOINTを読み取り、AIProjectClientを作成する例が示されています。(Microsoft Learn)

確認すべき環境変数の例は次の通りです。

変数・設定用途失敗例
FOUNDRY_PROJECT_ENDPOINTAzure AI Foundry Projectのエンドポイント古いproject endpointや別環境のendpointを参照している
コンテナイメージ関連の設定Hosted Agent作成時のイメージ指定dev用イメージを本番CIで使ってしまう
Azure認証情報DefaultAzureCredentialなどで利用ローカルでは通るがCIのManaged Identityに権限がない
protocol設定AgentEndpointProtocol.Responsesなどendpointを作成しても想定protocolで呼び出せない
version selectorトラフィックを向けるversionの指定新versionを作成したがtrafficが向いていない

更新後のHosted Agentサンプルでは、FOUNDRY_PROJECT_ENDPOINTやイメージ関連の環境変数を読み込み、DefaultAzureCredentialでAIProjectClientを作成したうえで、Agent version作成、Active状態の待機、endpoint設定のpatchを行っています。(GitHub)

Hosted Agent全体の移行も同時に確認する

Hosted Agentを利用している場合、今回の型名変更だけでなく、Azure AI Foundry側の刷新されたプレビューへの移行観点も見ておくべきです。Microsoftの移行ガイドでは、Agentごとの専用Entra ID、Agentごとの専用endpoint、新しいprotocol、ライフサイクル管理APIなどが説明されています。(Microsoft Learn)

特に本番に近い環境では、次の確認を後回しにしないでください。

観点確認内容
RBACdownstreamのAzureリソースに対して、Agent専用IDへ必要な権限を付与しているか
呼び出し先endpoint共有project endpoint前提のコードが残っていないか
protocol version旧形式の"v1"と新しい"1.0.0"の扱いが混在していないか
再デプロイ新しいversionがActiveになってからtrafficを向けているか
監視log streamやsession単位の確認方法が現行の仕様に合っているか

Microsoftの移行ガイドでも、RBAC更新、SDK/API/CLI呼び出しの更新、再デプロイ、Active状態の確認が移行手順として整理されています。(Microsoft Learn)

変更後に起きやすいエラーと対処

エラー・症状原因になりやすい箇所対処
AgentEndpointが見つからない型名変更後のSDKを参照しているAgentEndpointConfigへ変更する
CreateAgentVersionAsyncの引数が合わないProjectsAgentDefinitionを直接渡しているProjectsAgentVersionCreationOptionsで包む
endpoint作成後に応答が取れないprotocolまたはversion selectorの設定不足ProtocolsとVersionSelectorを確認する
ローカルだけ成功するAzure認証がローカルユーザー依存CI/CDのManaged IdentityやService Principalの権限を確認する
trafficが旧versionに向いたままpatchは通ったがselectorが意図通りでないtrafficPercentageと対象versionを確認する
旧サンプルのまま動かしているサンプルコードが更新前新しいAgentEndpointConfig版のサンプルに合わせる

移行では、型名の修正だけを最短で済ませたくなります。しかしAgent endpointは「versionを作る」「Activeになるまで待つ」「endpoint設定をpatchする」「Responsesなどのprotocolで呼び出す」という流れで成立します。1ステップだけ通っても、全体の動作確認を省略すると不具合を見落とします。

実務での判断基準

今回のAzure SDK documentation updateに対して、すぐに対応すべきかどうかは次の基準で判断してください。

状況推奨対応
すでにAzure.AI.Projects.AgentsでHosted Agentを管理しているすぐにコード検索とビルド確認を行う
プレビュー版SDKをCIで自動取得しているバージョン固定を検討し、更新時のビルド確認を必須にする
Agent endpointをpatchしているAgentEndpointConfigへの移行を優先する
Agent作成でProjectsAgentDefinitionを直接渡しているProjectsAgentVersionCreationOptionsへ変更する
まだ検証段階で本番利用していない新しいサンプルに合わせて実装し直す
Agent以外のAzure AI Projects機能だけを使っている影響は限定的だが、依存パッケージ更新時のビルド確認は行う

プレビュー機能を使うプロジェクトでは、「コンパイルが通るか」だけでなく、「実行時に意図したAgent versionへtrafficが向くか」「Azureリソースへのアクセス権がAgent専用IDに移っているか」まで確認すると、後の障害を減らせます。

最後に確認するチェックリスト

公開前、またはSDK更新前に次の項目を確認してください。

チェック完了
new AgentEndpoint()が残っていない
AgentEndpointConfigへ移行した
AgentEndpointProtocolなど、変更不要な型を誤って置換していない
CreateAgentVersion / CreateAgentVersionAsyncの引数を確認した
ProjectsAgentDefinition直接渡しをProjectsAgentVersionCreationOptionsへ直した
dotnet buildをCIとローカルの両方で確認した
Hosted AgentのversionがActiveになるまで待機している
endpointのprotocolとversion selectorを確認した
Azure認証とRBACを確認した
旧サンプルや社内テンプレートを更新した

今回の変更で最優先に見るべきなのは、AgentEndpointからAgentEndpointConfigへのリネームです。次に、CreateAgentVersion周辺で古い引数の渡し方が残っていないかを確認します。最後に、Hosted Agent全体のendpoint、protocol、version selector、RBACを動作確認すれば、単なるビルド修正で終わらず、実運用で安全に移行できます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次