OpenAI Agentsとは?Microsoft Agent Framework更新の変更点と移行注意点

Microsoftの「OpenAI Agents」で押さえるべき結論は、新規開発ではResponsesクライアントを基本に選び、既存のChat Completions連携は互換性を重視する場合のみ残すという点です。2026年5月26日に更新されたMicrosoft Learnでは、Microsoft Agent FrameworkがOpenAI向けに「Responses」と「Chat Completion」の2種類のクライアントをC#とPythonでサポートし、Responsesを推奨クライアントとして位置付けています。(Microsoft Learn)

特に影響が大きいのは、Azure OpenAIやOpenAI Assistants APIを使ってエージェントを構築している管理者・開発者です。ホスト型ツール、環境変数、認証方式、Pythonのクラス名、Assistants APIからの移行方針を見直さないと、将来のアップデート時に動作不良やセキュリティ上の抜け漏れが起きる可能性があります。

この記事では、Microsoft Agent FrameworkにおけるOpenAI Agentsの変更点、影響範囲、管理者・開発者が確認すべき設定、移行時の注意点を実務目線で整理します。

目次

MicrosoftのOpenAI Agentsで何が変わるのか

Microsoft Agent FrameworkにおけるOpenAI Agentsは、OpenAIまたはAzure OpenAIを使ってエージェントアプリを構築するための実装方式です。今回のポイントは、単に「使えるAPIが増えた」という話ではありません。

重要なのは、エージェント開発の標準ルートがResponses API中心に寄っていることです。

Microsoft Learnでは、OpenAI向けクライアントとして次の2種類が整理されています。Responsesは新しいOpenAI Responses APIを対象にし、code interpreter、file search、web search、hosted MCP、image generationなどのホスト型ツールを広く使えるため、推奨クライアントとされています。一方、Chat Completionは既存のChat Completions統合を維持したい場合や、幅広いモデル互換性を優先する場合に使う位置付けです。(Microsoft Learn)

クライアント主な用途向いているケース
Responses新規の本格的なエージェント開発ファイル検索、コード実行、Web検索、MCPなどのツールを活用したい
Chat Completion既存実装の維持、シンプルなチャット用途すでにChat Completions APIで構築済み、またはモデル互換性を優先したい

管理者や開発者がまず判断すべきなのは、「今後もChat Completionで十分か」ではなく、自社のエージェントがツール実行や外部連携を必要とするかです。業務データを検索する、ファイルを扱う、Web検索を組み込む、MCP経由で外部システムに接続する、といった要件があるなら、Responses前提で設計した方が後戻りを減らせます。

変更点の中心は「Responses推奨」と「Assistantsからの移行」

今回の更新で最も大きいメッセージは、OpenAI Assistants APIを前提にした設計からの転換です。Microsoft Learnでは、OpenAI Assistants APIはOpenAIによって非推奨とされており、新しいコードではResponsesクライアントを使うよう案内されています。(Microsoft Learn)

OpenAI側の公式移行ガイドでも、Assistants APIはResponses APIとの機能同等性が整った後に非推奨化され、2026年8月26日に停止予定と説明されています。既存のAssistants API利用者は、Responses APIへの移行計画を持つ必要があります。(OpenAI Developers)

実務で見るべき変更点

確認項目これまでの考え方今後の考え方
新規エージェント開発Assistants APIやChat Completionsを選ぶことも多いResponsesを第一候補にする
既存Chat Completions連携そのまま継続必要なツール機能が不足しないか確認
Assistants API利用継続利用も選択肢だった移行対象として棚卸しする
Azure OpenAI連携専用クラスや旧設定で実装新しいOpenAI系クライアントと明示的なAzure設定を使う
Python実装旧クラス名・旧パラメータが残る可能性OpenAIChatClientOpenAIChatCompletionClientmodel中心に整理

注意したいのは、Responsesへの移行は「API名を置き換えるだけ」では済まない場合があることです。Assistants APIではAssistant、Thread、Runといった概念で構成していた処理が、Responses APIではinput、output、conversation、tool callの扱いに変わります。OpenAIの移行ガイドでも、AssistantsからResponsesへの移行では、AssistantはPrompt、ThreadはConversation、RunはResponseに対応する形で整理されています。(OpenAI Developers)

影響範囲:誰が確認すべきか

この更新は、Microsoft 365 Copilotの画面だけを使っている一般利用者よりも、AIエージェントを開発・運用するチームへの影響が大きい内容です。

ただし、最終的にはCopilot Studio、Azure OpenAI、Microsoft Foundry、社内AIチャット、業務自動化システムなどの利用部門にも関係します。エージェントの裏側で使うAPIやクライアントが変わると、検索精度、ツール実行、権限管理、ログ設計、コスト管理に影響するためです。

影響を受けやすいチーム

対象確認すべきこと
Azure OpenAI管理者利用中のAPI、デプロイ済みモデル、認証方式、APIバージョン
アプリ開発者使用クライアント、旧Assistants API、Chat Completions依存の有無
セキュリティ担当Web検索、ファイル検索、コード実行、MCP接続の許可範囲
情シス・運用担当環境変数、キー管理、Managed Identity、監査ログ
業務部門既存AIチャットや社内エージェントの動作変更、回答品質、利用ルール

特に、エージェントに「ファイル検索」「Web検索」「コード実行」「外部ツール連携」を持たせている場合は、単なるライブラリ更新ではなく、情報アクセス範囲の変更としてレビューすべきです。

ResponsesとChat Completionの使い分け

Microsoft Agent Frameworkでは、ResponsesとChat Completionの両方が標準のAgentとして扱われ、ストリーミング、スレッド、ミドルウェアなどの共通操作をサポートします。(Microsoft Learn)

ただし、使えるツールには差があります。Microsoft Learnのツール対応表では、ResponsesはFunction Tools、Tool Approval、Code Interpreter、File Search、Web Search、Hosted MCP Tools、Local MCP Toolsに対応しています。一方、Chat CompletionではCode Interpreter、File Search、Hosted MCP Toolsが非対応です。(Microsoft Learn)

選定基準は「チャットか、業務エージェントか」

単純なFAQや文章生成だけなら、Chat Completionでも要件を満たせる場合があります。しかし、業務エージェントとして使うなら、次のような機能が必要になりやすくなります。

やりたいこと推奨
社内文書を検索して回答するResponses
ファイルを参照して要約・分析するResponses
コード実行やデータ処理をさせるResponses
MCPでGitHubや社内ツールに接続するResponses
既存のChat Completions実装を大きく変えずに維持するChat Completion
モデル互換性を重視したシンプルなチャットを作るChat Completion

判断に迷う場合は、「将来ツールを追加する可能性があるか」で考えると実務的です。今は単純なチャットでも、後からファイル検索や外部API連携を追加する予定があるなら、最初からResponsesで設計した方が移行コストを抑えられます。

C#開発者が確認すべきポイント

C#では、OpenAIクライアントからResponsesクライアントまたはChatクライアントを取得し、AsAIAgentでAgent Frameworkの標準エージェントとして扱う構成が示されています。Microsoft LearnのOpenAI Agentsページでは、C#向けにMicrosoft.Agents.AI.OpenAIのNuGetパッケージを追加する例が掲載されています。(Microsoft Learn)

新規開発ではResponsesを基本にする

新規にC#でエージェントを作る場合、まず確認すべきなのは、既存のChat Completions互換性が本当に必要かどうかです。必要がなければ、Responsesクライアントを優先するのが自然です。

実装上は、以下の観点でレビューします。

確認項目見るべきポイント
パッケージMicrosoft.Agents.AI.OpenAIを使用しているか
クライアントGetResponseClientを使う設計にできるか
ツールcode interpreter、file search、web search、MCPの利用予定があるか
既存コードGetChatClientに依存する理由が明確か
権限ツール実行時の承認、ログ、監査が設計されているか

C#でAzure OpenAIを使う場合は、AzureOpenAIClientを作成し、ResponsesまたはChat Completionのクライアントを使う構成になります。MicrosoftのAzure OpenAI Agentsページでも、Responsesが推奨クライアントであり、Chat Completionは既存統合や幅広いモデル互換性が必要な場合に使う位置付けです。(Microsoft Learn)

Python開発者が確認すべきポイント

Pythonでは変更点が比較的大きいため、既存コードの棚卸しが重要です。Microsoft Learnでは、OpenAIとAzure OpenAIの利用にagent-framework-openaiパッケージを使い、agent_framework.openai名前空間からクライアントを利用する構成が示されています。(Microsoft Learn)

OpenAIChatClientはResponses用

Pythonでは名前で誤解しやすい点があります。OpenAIChatClientはResponses API向けの推奨クライアントです。Chat Completions APIを使う場合はOpenAIChatCompletionClientを使います。Microsoft Learnでも、OpenAIChatClientはResponses APIを使い、ホスト型ツールを備えた推奨クライアントとして説明されています。(Microsoft Learn)

Pythonクライアント対応API主な用途
OpenAIChatClientResponses API新規エージェント、ホスト型ツール活用
OpenAIChatCompletionClientChat Completions API既存Chat Completions連携の維持
OpenAIEmbeddingClientEmbeddings埋め込みモデル利用

旧クラス名とmodel指定を見直す

Python 2026 Significant Changes Guideでは、非推奨だったAzure/OpenAI互換サーフェスが削除され、直接OpenAIまたはAzure OpenAIシナリオではOpenAIChatClientOpenAIChatCompletionClientOpenAIEmbeddingClientを使うよう説明されています。(Microsoft Learn)

また、クライアント設定はmodelに標準化され、古いmodel_iddeployment_namemodel_deployment_nameのような指定から移行する必要があります。(Microsoft Learn)

移行時によくある失敗は、Azure OpenAIの「デプロイ名」を古いdeployment_nameのまま渡してしまうことです。新しい設計では、Azure OpenAIでもデプロイ名をmodelとして指定する場面があるため、環境変数名とコードの引数名をセットで確認してください。

Azure OpenAI利用時の設定・認証で注意すること

Azure OpenAIと直接OpenAIの両方を扱う環境では、環境変数の衝突に注意が必要です。Microsoft Learnでは、Pythonの汎用OpenAIクライアントはAzure OpenAIにも使える一方、OPENAI_API_KEYが設定されている場合、明示的なAzureルーティング入力を渡さない限り、汎用クライアントはOpenAI側に留まると説明されています。(Microsoft Learn)

つまり、開発PCやCI/CD環境にOpenAI用とAzure OpenAI用の環境変数が混在していると、意図しない接続先にリクエストが飛ぶ可能性があります。

管理者が確認すべき環境変数

用途主な確認項目
OpenAI直利用OPENAI_API_KEYOPENAI_CHAT_MODELOPENAI_CHAT_COMPLETION_MODELOPENAI_MODEL
Azure OpenAIAZURE_OPENAI_ENDPOINTAZURE_OPENAI_CHAT_MODELAZURE_OPENAI_CHAT_COMPLETION_MODELAZURE_OPENAI_MODELAZURE_OPENAI_API_VERSION
EmbeddingsOPENAI_EMBEDDING_MODELAZURE_OPENAI_EMBEDDING_MODEL
FoundryFOUNDRY_PROJECT_ENDPOINTFOUNDRY_MODELなど

実務では、.envファイル、GitHub Actions、Azure DevOps Pipeline、App Serviceのアプリケーション設定、Container Appsのシークレット、ローカル開発環境を分けて確認します。特に本番環境では、不要なOPENAI_API_KEYが残っていないかを確認してください。

本番環境ではDefaultAzureCredentialの使い方に注意

Azure OpenAI Agentsの公式ページでは、DefaultAzureCredentialは開発には便利ですが、本番では意図しない認証フォールバックやレイテンシ、セキュリティリスクを避けるため、ManagedIdentityCredentialなど具体的な資格情報の利用を検討するよう警告されています。(Microsoft Learn)

本番展開では、次のように整理すると安全です。

環境推奨方針
ローカル開発Azure CLI認証や開発用キーを限定的に使用
検証環境本番と同じ認証方式に近づける
本番環境Managed Identityなど、明示的で監査しやすい認証を使う
CI/CDシークレットのスコープを限定し、不要な環境変数を残さない

ホスト型ツール利用時のセキュリティ確認

Responsesクライアントを選ぶ最大の利点は、ホスト型ツールを広く使えることです。一方で、ツールが増えるほど管理すべきリスクも増えます。

Microsoft Learnでは、Responsesクライアントがcode interpreter、file search、web search、hosted MCP、image generationなどのホスト型ツールをサポートすると説明されています。(Microsoft Learn)

ツール別の確認ポイント

ツール便利な用途管理上の注意点
Code Interpreterデータ分析、計算、コード実行実行できる処理範囲、出力ファイル、機密データの扱い
File Search社内文書検索、ナレッジ検索参照可能なファイル、ベクトルストア、権限分離
Web Search最新情報の取得外部情報の信頼性、引用、社内情報との混同
Hosted MCPGitHubなど外部サービス連携接続先、承認フロー、操作権限
Image Generation画像生成、UI案作成ブランド利用、著作権、生成物のレビュー
Local MCP社内ツール連携実行環境、ネットワーク、認証情報の漏えい防止

特にMCP連携は、エージェントが外部ツールを呼び出す入口になります。GitHub、チケット管理、社内DB、ナレッジ基盤などにつなぐ場合は、「読めるだけ」なのか「書き込みや実行もできる」のかを明確に分けてください。

Assistants API利用中の移行チェックリスト

OpenAI Assistants APIを使っている場合は、早めに棚卸しが必要です。OpenAIの公式移行ガイドでは、Assistants APIからResponses APIへ移行する流れとして、既存Assistantの指示やツール構成をPromptに移し、新しいユーザーチャットをConversationsとResponsesに移す方針が示されています。(OpenAI Developers)

移行前に確認すること

チェック項目確認内容
Assistantの一覧どのAssistantが本番利用中か
Instructionsシステム指示、業務ルール、禁止事項
ToolsFile Search、Code Interpreter、Function callingなど
Threads会話履歴を保持しているか
Runs非同期実行やポーリング処理があるか
ファイル・ベクトルストア移行後も同じ検索体験を再現できるか
監査ログ誰が、いつ、どのツールを使ったか追跡できるか

移行で失敗しやすいポイント

Assistants APIからResponses APIへの移行では、次の点でつまずきやすくなります。

失敗例対策
Assistant IDを前提にした設定がコード内に散在している設定ファイルや環境変数に集約する
Threadの履歴移行を後回しにする新規会話から先に移行し、必要な履歴だけ段階的に移す
Runのポーリング処理をそのまま残すResponsesの実行モデルに合わせて処理を見直す
ツール呼び出しの承認設計がないTool Approvalや操作権限を事前に定義する
検証環境だけで成功して本番権限を確認していない本番相当の権限・ネットワーク・データでテストする

移行は一括切り替えよりも、新規会話からResponsesに寄せ、既存会話や履歴は必要に応じて段階移行する方が安全です。

Semantic Kernel利用者が見るべき違い

Microsoft Agent Frameworkは、Semantic KernelのAgent Frameworkから移行する利用者向けのガイドも用意しています。移行ガイドでは、Microsoft Agent Frameworkの利点として、APIの簡素化、オブジェクト作成やメモリ使用の最適化、AIプロバイダー間で一貫したインターフェース、開発者体験の改善が挙げられています。(Microsoft Learn)

Semantic Kernelから移行する場合、単純な名前空間の置き換えだけでなく、Agentの作成方法、Sessionの扱い、Hosted Agentのクリーンアップ方法が変わる可能性があります。

Semantic Kernelからの主な見直しポイント

項目見直し内容
名前空間Microsoft.SemanticKernel中心からMicrosoft.Agents.AI中心へ
Agent作成Kernel依存の設計から、各プロバイダーの拡張メソッド中心へ
Session呼び出し側がThread種別を意識する設計から、AgentがSessionを作る設計へ
Microsoft.Extensions.AIのメッセージ・コンテンツ型との関係を確認
Hosted Agentクラウド側リソースの作成・取得・削除フローを確認

既存のSemantic Kernelアプリを抱えているチームは、まず「エージェント作成」「会話履歴」「ツール呼び出し」「認証」の4点だけに絞って差分を確認すると、移行計画を立てやすくなります。

管理者向け:展開前に確認すべき設定

OpenAI Agentsの更新は開発者だけの問題ではありません。管理者は、エージェントがどのデータにアクセスし、どのツールを実行し、どの認証情報で動くかを把握する必要があります。

展開前チェックリスト

分類チェック内容
API選定新規開発がResponses中心になっているか
既存連携Chat Completions継続の理由が明確か
AssistantsAssistants API依存が残っていないか
Azure設定azure_endpointapi_versioncredentialが明示されているか
環境変数OpenAI用とAzure OpenAI用が混在していないか
認証本番でManaged Identityなど明示的な認証を使っているか
ツールWeb検索、ファイル検索、MCP、コード実行の許可範囲が定義されているか
ログプロンプト、ツール呼び出し、エラー、利用量を追跡できるか
コストツール利用やファイル検索による追加コストを監視できるか
利用ルール業務データ、個人情報、機密情報の扱いが明文化されているか

特に本番運用では、「動くこと」よりも「意図した権限だけで動くこと」が重要です。AIエージェントは通常のチャットボットよりも外部ツールへの接続範囲が広くなりやすいため、最小権限で設計してください。

開発者向け:移行・実装の進め方

開発チームは、いきなり全面的に書き換えるよりも、影響範囲を小さく分けて移行するのが現実的です。

推奨する進め方

手順やること
現状調査使っているAPI、SDK、クラス名、環境変数を一覧化
方針決定新規はResponses、既存Chat Completionsは維持または移行判断
小さなPoC代表的な1機能をResponsesで再実装
ツール確認File Search、Web Search、MCPなど必要なツールを検証
認証確認ローカル、検証、本番で接続先と権限を確認
ログ確認失敗時に原因を追えるログを整備
段階展開新規会話や一部ユーザーから切り替える
旧実装整理Assistants APIや旧クラス名を削除する計画を立てる

PoCでは、難しい業務全体を再現する必要はありません。まずは「社内文書を1つ検索して回答する」「Web検索結果を要約する」「Function Toolを1つ呼び出す」といった小さな単位で、Responsesクライアントの動作、権限、ログを確認するとよいでしょう。

利用者への影響をどう説明するか

エンドユーザーにとって、OpenAI Agentsの更新はAPI名の変更としては見えません。しかし、社内AIチャットや業務エージェントを使っている利用者には、次のような形で影響が出る可能性があります。

利用者に見える変化背景
ファイルを参照した回答が増えるFile Searchの活用
最新情報を含む回答が可能になるWeb Searchの活用
計算やデータ処理が正確になるCode Interpreterの活用
外部システムと連携した回答が増えるMCPやFunction Toolsの活用
一部操作で承認が求められるTool Approvalや権限管理

利用者向けには、「AIができることが増えます」だけでなく、「どの情報を参照するのか」「外部ツールを使う場合にどの操作が行われるのか」「機密情報を入力してよい範囲はどこまでか」を説明する必要があります。

今回の更新で取るべき次の行動

MicrosoftのOpenAI Agents更新で最初にやるべきことは、現在のエージェント実装を棚卸しし、Responsesへ寄せるべきものとChat Completionを維持するものを分けることです。

新規開発ではResponsesを第一候補にし、既存のChat Completions連携は「なぜ残すのか」を明確にします。Assistants APIを使っている場合は、停止予定日を待たずに移行計画を作り、Assistant、Thread、Run、Tools、Files、認証、ログを順番に確認してください。

管理者は環境変数、Azureルーティング、認証方式、ツールの許可範囲を点検します。開発者は旧クラス名、model指定、ResponsesとChat Completionのツール差分を確認します。利用部門には、AIエージェントが参照できる情報と実行できる操作を分かりやすく共有します。

OpenAI Agentsは、単なるチャット機能ではなく、業務システムとAIをつなぐ実行基盤に近づいています。だからこそ、早い段階でResponses中心の設計、最小権限のツール管理、段階的な移行計画を整えることが、安定したAI活用につながります。

この記事を書いた人

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

コメント

コメントする

目次