Microsoft Foundry / Azure OpenAIの2026年4月更新ポイント:Agent Serviceの実務影響を解説

Microsoft Foundry / Azure OpenAIでAIエージェントを設計するなら、2026年4月更新ポイントの核心は「agents」「conversations」「responses」を別々の役割として理解することです。従来のチャットAPIの延長で実装すると、状態管理、ツール実行、監査、データ保持の設計でつまずきやすくなります。

Microsoft Learnの「Build with agents, conversations, and responses」は、Foundry Agent Serviceの実行時コンポーネントを整理した公式ドキュメントです。MicrosoftDocsリポジトリ上では2026年4月23日にも該当ファイルへの更新履歴が確認でき、2026年4月時点の実装方針を把握するうえで重要な資料といえます。(GitHub)

結論から言うと、実務では「agentは振る舞いの定義」「conversationは状態の保管場所」「responseは1回の実行結果」と分けて考えるべきです。この分離により、カスタマーサポート、社内ナレッジ検索、業務自動化、マルチターンのAIアシスタントを、より運用しやすい形で設計できます。Microsoftの公式ドキュメントでも、Foundry Agent Serviceはagents、conversations、responsesの3つの中核コンポーネントでステートフルな複数ターンの対話を実現すると説明されています。(Microsoft Learn)

目次

Microsoft Foundry / Azure OpenAIの2026年4月更新で押さえるべき全体像

今回の更新で読み取るべきポイントは、単に「エージェントが使えるようになった」という話ではありません。Microsoft Foundry Agent Serviceは、Azure OpenAIのResponses APIを軸に、エージェントの定義、会話履歴、ツール呼び出し、長時間処理、メモリを組み合わせる設計へ寄っています。

特に重要なのは、次の3点です。

観点これまでありがちだった実装2026年4月時点で意識したい設計
状態管理アプリ側で会話履歴をすべて連結して渡すconversationまたはprevious_response_idを使い分ける
エージェント定義プロンプトを都度リクエストに埋め込むagentを名前付き・バージョン付きの資産として管理する
実行結果テキストだけを見るresponseの出力、ツール呼び出し、ステータスを確認する
運用PoC単位で個別実装セキュリティ、保持期間、ツール権限、監査を前提に設計する

Microsoftの移行ガイドでも、新しいAgentsの開発体験はResponses APIを土台にしており、ThreadsはConversationsへ、RunsはResponsesへ置き換わる流れが示されています。(Microsoft Learn)

agents、conversations、responsesの違い

Foundry Agent Serviceを理解するうえで、最初に混同しやすいのがこの3つです。名前は似ていますが、責務は明確に異なります。

コンポーネント役割実務での見方
agentモデル、指示、ツール、パラメーターなどをまとめた実行定義「どんなAI担当者にするか」を決める設定ファイルに近い
conversationメッセージ、ツール呼び出し、ツール出力などを保持する永続的な会話オブジェクト「このユーザーとのやり取り履歴」を管理する場所
response入力を処理した結果として生成される出力「今回のAI実行結果」として扱う単位

agentは「AI担当者の定義」

agentは、単なるプロンプトではありません。Microsoftの公式ドキュメントでは、agentはAIモデル、instructions、code、tools、parameters、必要に応じたsafetyやgovernance controlsを組み合わせた永続的なオーケストレーション定義と説明されています。また、agentはMicrosoft Foundry内で名前付き・バージョン付きの資産として保存されます。(Microsoft Learn)

実務では、たとえば次のように考えると分かりやすくなります。

agentの例主なinstructions付与するtoolの例
社内ITヘルプデスクagentMicrosoft 365、VPN、端末トラブルの一次回答を行うFile Search、Function calling
営業支援agent顧客情報を確認し、商談準備メモを作るCRM API、Web search
セキュリティ運用agentアラート内容を要約し、初動対応案を出すSIEM API、社内Runbook検索

ポイントは、agentを「毎回のリクエストで使い捨てるプロンプト」として扱わないことです。プロダクトオーナーやIT管理者が管理すべき業務ロールとして、命名、バージョン管理、権限管理を行う必要があります。

なお、公式ドキュメントでは、agentsは従来のようなGUID形式のAgentIDではなく、agent nameとagent versionで識別されると明記されています。既存実装を移行する場合は、この識別方法の変更に注意が必要です。(Microsoft Learn)

conversationsは「履歴と状態の置き場所」

conversationは、単なるチャット履歴ではありません。Microsoftの説明では、conversationは一意のIDを持つ永続的なオブジェクトで、作成後はセッションをまたいで再利用できます。また、messageだけでなく、tool calls、tool outputs、その他のデータもitemsとして保存できます。(Microsoft Learn)

たとえば、社内ヘルプデスクのAIアシスタントで次の流れがあるとします。

  1. ユーザーが「Outlookでメールが送れない」と質問する
  2. agentが過去の障害情報を検索する
  3. toolがMicrosoft 365のステータスや社内FAQを返す
  4. agentが回答する
  5. ユーザーが「さっきの手順2が分からない」と続ける

このときconversationを使っていれば、「さっき」が何を指すかを扱いやすくなります。さらに、tool callやtool outputも履歴として確認できるため、なぜその回答になったのかを後から追いやすくなります。

ただし、conversationを使えば無限にすべての文脈をモデルが読めるわけではありません。公式ドキュメントでは、conversationがモデルの対応するコンテキストサイズを超えた場合、conversation自体は切り詰められないものの、response生成に使われる入力コンテキストは自動的に一部へ切り詰められると説明されています。長期間の会話では、要約、検索、メモリ、業務データベースを組み合わせる設計が必要です。(Microsoft Learn)

responsesは「1回の実行結果」

responseは、agentまたは直接指定した構成に対して入力を渡したときに返ってくる実行結果です。agentの設定、conversationの履歴、リクエスト時のinstructions、toolの結果などを踏まえて生成されます。

Microsoftのドキュメントでは、response生成時にagentが設定と履歴を使ってモデルやtoolを呼び出し、必要に応じてconversationへitemsを追加すると説明されています。また、agentを定義せずにresponseだけを生成することも可能で、シンプルな用途や最小限のtoolだけを使う場面に向いています。(Microsoft Learn)

responseで重要なのは、output_textだけを見て終わらないことです。toolを使うagentでは、response outputにweb search、function call、file searchなどのtool call itemsが含まれることがあります。運用では「最終回答」だけでなく、「どのtoolを呼んだか」「toolの結果をどう使ったか」も確認できるようにしておくべきです。(Microsoft Learn)

実務で変わるポイント:ThreadsとRunsの発想から抜け出す

既存のAzure OpenAI Assistants APIや古いagent実装に慣れているチームほど、移行時に混乱しやすいのが用語の変化です。

旧来の考え方新しいFoundry Agent Serviceでの考え方実務上の意味
ThreadConversation履歴はmessageだけでなく、tool callやoutput itemも含む
RunResponse実行単位はresponseとして扱い、ステータスや出力を確認する
Assistant / classic agentNew agent名前・バージョン・ツール・ガバナンスを持つ資産として管理する

この変更は、単なる名称変更ではありません。AIエージェントを「チャットの延長」ではなく、「状態を持つ業務アプリケーション」として扱うための整理です。

IT管理者にとっては、以下の観点で設計レビューが必要になります。

レビュー項目確認すべきこと
agentの所有者誰がinstructionsやtoolsを変更できるか
conversationの保持ユーザーごとの履歴をどの範囲で保存するか
responseの保存previous_response_idを使うか、store=falseでアプリ側管理にするか
tool権限agentが参照・実行できる外部サービスを最小限にしているか
監査tool call、tool output、最終回答を追跡できるか

状態管理の選び方:conversation、previous_response_id、store=false、memory

Foundry Agent Serviceで最も実務差が出るのは、状態管理の設計です。どれを使うべきかは、ユースケースとデータポリシーで決まります。

選択肢向いている場面注意点
conversation複数ターンのチャット、セッション再開、tool履歴の確認長い会話ではコンテキスト切り詰めを前提にする
previous_response_id直前のresponseを引き継ぐ軽量なマルチターン分岐や長期履歴の管理には設計が必要
store=falseデータ保持を最小化したい、アプリ側で履歴管理したい次のリクエストに必要な文脈を自分で渡す必要がある
memoryユーザー嗜好や過去の要約をセッション横断で使いたいpreview機能のため、本番利用では条件確認が必要

Responses APIでは、既定でresponse historyがサーバー側に保存され、previous_response_idで複数ターンの文脈を参照できます。一方で、store=falseを指定するとservice側にresponseを永続化せず、アプリケーション側で前回出力などを引き継ぐ必要があります。これは、データ保持を抑えたい場合や、zero-data-retentionに近い運用要件を持つ場合に検討される選択肢です。(Microsoft Learn)

memoryはconversationとは別の概念です。conversationは主に会話の流れを保持しますが、memoryはセッションをまたいでユーザー嗜好や過去の要約などを長期的に活用するための仕組みです。Microsoft Foundry Agent Serviceのmemoryはpreviewとして提供され、user profile memoryやchat summary memoryといった長期記憶の用途が説明されています。(Microsoft Learn)

最小実装イメージ:agent、conversation、responseをつなぐ

実装の流れは、難しく考えすぎる必要はありません。基本形は次の順序です。

手順内容実装上のポイント
agentを作る名前、モデル、instructions、toolsを定義する業務ロールごとに分ける
conversationを作るユーザーまたは業務単位の会話を開始する再利用するならID管理が必要
responseを生成するinputとagent reference、conversation IDを渡す出力だけでなくstatusも確認する
follow-upを送る同じconversationに追加質問を渡す文脈が引き継がれる
必要に応じてstream/backgroundを使うリアルタイム表示や長時間処理に対応するUIとポーリング設計が必要

REST APIで考えると、概念的には次のような流れになります。

# 1. conversationを作成
curl -X POST "${ENDPOINT}/openai/v1/conversations" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}'

# 2. agentを参照してresponseを生成
curl -X POST "${ENDPOINT}/openai/v1/responses" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "社内VPNに接続できない場合の初動対応を教えてください",
    "conversation": "CONVERSATION_ID",
    "agent_reference": {
      "name": "it-helpdesk-agent",
      "type": "agent_reference"
    }
  }'

この例で重要なのは、instructionsやtoolsを毎回すべてリクエストに詰め込まないことです。業務ごとの振る舞いはagent側へ寄せ、ユーザーとのやり取りはconversationで管理し、個々の実行結果をresponseとして確認します。

streamingとbackground responsesの使い分け

ユーザー体験を改善するなら、responseの返し方も設計対象になります。

モード向いている用途例
通常response短い回答、即時処理FAQ回答、短文要約
streaming生成中の文章をリアルタイム表示したいチャットUI、長文ドラフト作成
background長時間処理を非同期で実行したい複雑な分析、画像生成、複数toolを使う処理

公式ドキュメントでは、長時間処理ではstreamingで部分結果を返すか、background modeで非同期実行し、完了までresponse statusを監視する流れが示されています。background modeではbackground=trueを指定し、queuedやin_progressの状態が終わるまでpollingします。(Microsoft Learn)

実務では、チャットボットだからといってすべてstreamingにする必要はありません。社内承認、データ分析、調査レポート生成のように時間がかかる処理では、backgroundでジョブ化し、完了通知や履歴画面から結果を確認できる設計のほうが安定します。

tool利用で確認すべきセキュリティとガバナンス

agentにtoolを付けると、単なる文章生成を超えて、Web検索、ファイル検索、コード実行、外部API呼び出しなどが可能になります。これは便利ですが、同時にリスクも増えます。

Microsoftのtool overviewでは、toolsはagentが会話中に特定タスクを実行するために呼び出す能力であり、Web検索、Pythonコード実行、ドキュメント検索、外部API呼び出しなどに使えると説明されています。built-in toolsとcustom toolsの分類も示されています。(Microsoft Learn)

特にIT管理者は、次の点を必ず確認してください。

確認項目失敗しやすい例推奨される対応
最小権限agentが不要なAPIやデータソースにアクセスできるtoolごとに権限を分離する
機密情報promptやconversation historyにシークレットを直接書くKey Vaultや接続情報管理を使う
外部送信non-Microsoft serviceにデータが流れる可能性を見落とすデータ分類と送信先を明示する
tool output検索結果やAPIレスポンスに個人情報が含まれるログ、マスキング、保持期間を設計する
監査最終回答だけ保存し、tool callを追えないresponse output itemsを確認できるようにする

公式ドキュメントでも、conversationやresponseにはユーザー提供コンテンツやtool outputが永続化され得るため、runtime dataをアプリケーションデータと同じように扱い、promptやconversation historyにシークレットを保存しないこと、tool accessを最小権限にすること、non-Microsoft serviceへのデータ流出に注意することが示されています。(Microsoft Learn)

Product Ownerが見るべきユースケースの優先順位

Microsoft Foundry / Azure OpenAIのAgent Serviceは強力ですが、最初から全社横断の巨大agentを作るのはおすすめしません。最初は「状態管理の価値があり、tool利用の範囲を制御しやすい」ユースケースから始めるべきです。

優先度ユースケース理由
高社内ITヘルプデスクナレッジ検索、複数ターン対応、エスカレーション設計と相性がよい
高カスタマーサポート一次回答conversationとmemoryの価値が分かりやすい
中営業・CS向け顧客メモ作成CRM連携が必要なためtool権限設計が重要
中インシデント初動支援Runbook検索やログ要約に向くが、誤操作防止が必要
低〜中完全自律の業務実行agent承認、監査、例外処理の設計が重くなりやすい

最初のPoCでは、「回答品質」だけで成功判断をしないことが重要です。以下のような運用品質も評価してください。

評価観点チェック内容
再現性同じ業務入力に対して、一貫した手順で回答できるか
追跡性tool call、検索結果、最終回答の関係を確認できるか
安全性権限外のデータや操作にアクセスしないか
継続性複数ターンや再訪問時に文脈を適切に扱えるか
移行性既存のAssistants API、チャットAPI、社内Botから移行しやすいか

導入時に失敗しやすいポイント

conversationを長期メモリ代わりに使う

conversationは履歴管理には有効ですが、長期的なユーザー嗜好や過去セッションの要約を扱うにはmemoryのほうが適する場合があります。逆に、memoryを使えばconversation設計が不要になるわけでもありません。

短期の会話文脈はconversation、長期のユーザー情報はmemory、組織の正しい情報源はFoundry IQやFile Searchのようなナレッジ基盤、と役割を分けるのが実務的です。

store=falseを設定したのに文脈を渡し忘れる

データ保持を抑える目的でstore=falseを使う場合、次回リクエストに必要な文脈をアプリ側で渡す必要があります。これを忘れると、ユーザーからは「さっきの話を覚えていないAI」に見えます。

データ保持ポリシーを優先するなら、アプリ側で履歴要約、必要最小限の文脈、削除フローをきちんと設計しましょう。

最終回答だけをログに残す

agentがtoolを使う場合、最終回答だけでは検証できません。なぜその回答になったのかを確認するには、tool call、tool output、response status、conversation itemsを見る必要があります。

特にIT adminsは、監査ログやトラブルシューティングの観点から、response全体をどう扱うかを設計に含めるべきです。

agentのバージョン管理を軽視する

業務agentのinstructionsを変更すると、回答方針やtoolの使い方が変わります。これはプロンプト修正ではなく、業務ロジックの変更に近いものです。

本番運用では、少なくとも以下を管理してください。

管理対象理由
agent name業務用途を識別するため
agent version変更前後の挙動を比較するため
instructions回答方針や禁止事項を明確にするため
tools外部データ・外部操作への接続点になるため
評価データ更新後に品質劣化していないか確認するため

既存環境から移行する場合の進め方

既存のAzure OpenAI Assistants API、独自チャットBot、社内AIアシスタントから移行する場合は、コードを書き換える前に棚卸しを行いましょう。

移行ステップ作業内容
既存Botの役割を整理する何を回答し、どのデータを参照し、どの操作をするかを洗い出す
agent単位に分割する1つの巨大agentではなく、業務単位でagentを設計する
状態管理を決めるconversation、previous_response_id、store=false、memoryの使い分けを決める
tool権限を定義する参照のみ、実行可能、承認必須などを分ける
評価シナリオを作るよくある質問、例外ケース、権限外要求をテストする
ログと監査を設計するresponse output items、tool call、conversation履歴を確認できるようにする

移行で最も避けたいのは、「旧Botのプロンプトをagent instructionsに貼り付けるだけ」で終えることです。Foundry Agent Serviceでは、agent、conversation、response、tool、memoryの責務が分かれているため、設計も分けて見直す必要があります。

IT管理者・プロダクトオーナー向け導入チェックリスト

本番導入前に、次の項目を確認してください。

項目確認ポイント
対象業務agent化する業務範囲が明確か
データ分類conversationやtool outputに含まれる情報の分類を決めたか
認証Microsoft Entra IDやDefaultAzureCredentialを前提に設計しているか
権限agentとtoolの権限が最小限になっているか
状態管理conversation、previous_response_id、store=false、memoryの使い分けを決めたか
応答方式通常、streaming、backgroundの選択基準があるか
監査tool callとresponse outputを確認できるか
運用agent version、変更履歴、評価データを管理できるか
グローバル対応リージョン、モデル可用性、データ所在の要件を確認したか
例外処理tool失敗、長時間処理失敗、権限不足時のUIを設計したか

特にグローバル展開する場合、モデル、region、tool support、streaming availabilityなどは時期や環境で変わる可能性があります。公式ドキュメントでも、limitsやconstraintsはモデル、region、付与するtoolによって依存する可能性があると説明されています。(Microsoft Learn)

まとめ:次にやるべきこと

Microsoft Foundry / Azure OpenAIの2026年4月更新ポイントは、AIエージェントを「1回のチャット応答」ではなく、「状態を持ち、toolを使い、運用管理される業務アプリケーション」として扱う方向へ進んでいることです。

まずは、次の順序で進めるのが現実的です。

次のアクション目的
既存BotやAI活用テーマを棚卸しするagent化に向く業務を見極める
agents、conversations、responsesの責務を設計書に分ける実装と運用の混乱を防ぐ
小さな業務agentでPoCする状態管理とtool利用の実効性を確認する
セキュリティ・保持・監査を先に決める本番化で手戻りを減らす
version管理と評価データを整備するagent改善を継続可能にする

最初に作るべきなのは、万能agentではありません。履歴が役立ち、参照するデータが明確で、失敗時の影響を制御しやすい業務agentです。たとえば社内ITヘルプデスクやカスタマーサポート一次回答から始めると、Foundry Agent Serviceのagents、conversations、responsesの価値を実務で検証しやすくなります。

この記事を書いた人

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

コメント

コメントする

目次