Microsoft Agent Pipeline Architectureとは?AI/Copilot更新の変更点と管理者・開発者の確認ポイント

MicrosoftのAIエージェント開発で重要になるのが、Agent Pipeline Architectureの理解です。結論から言うと、Microsoft Agent Frameworkでは、エージェントの処理が「ミドルウェア」「コンテキスト」「チャットクライアント」「ツール呼び出し」などの層に分かれており、どの層に処理を追加するかで、ログ取得、権限制御、RAG、Copilot連携、監査、移行時の修正範囲が変わります。

特に2026年5月26日前後に更新されたMicrosoft Agent Framework関連の公式情報では、Microsoft Foundry、GitHub Copilot Agents、ツール、プロバイダー対応の整理が進み、管理者や開発者は「どのエージェントがローカルのChatClientを使うのか」「どの機能がリモートサービス側で管理されるのか」「ツール実行やファイル操作をどこで承認・監査するのか」を確認する必要があります。Agent Pipeline Architectureそのものは、Agent Frameworkのリクエスト処理を層構造として説明する公式ドキュメントで、エージェントの挙動を安全にカスタマイズするための前提知識になります。(Microsoft Learn)

目次

Agent Pipeline Architectureとは何か

Agent Pipeline Architectureとは、Microsoft Agent Frameworkのエージェントがユーザーからのリクエストを処理する流れを、複数の層に分けて整理した考え方です。

単純に「プロンプトをLLMへ送る仕組み」ではありません。実際には、入力の検証、履歴の読み込み、RAGやメモリの追加、ツール呼び出し、モデルへの送信、応答の整形、監査ログの出力といった処理が、決められた順序で実行されます。

Microsoftの公式ドキュメントでは、C#のChatClientAgentは主に次の3層で構成されると説明されています。(Microsoft Learn)

役割代表的な用途
Agent middlewareエージェント実行全体を包み込むログ、入力検証、監査、ブロック処理
Context layer履歴や追加コンテキストを組み込む会話履歴、RAG、ユーザー設定、動的指示
Chat client layerLLMサービスとの通信を担当するモデル呼び出し、チャットミドルウェア、ツール呼び出し

Pythonでは、AgentChatClientが分かれた構成として説明されており、Agent側ではミドルウェア、テレメトリ、RawAgent、Context Providersが動き、ChatClient側ではFunctionInvocation、Chat Middleware、RawChatClientがモデル通信を処理します。(Microsoft Learn)

ここで重要なのは、すべてのカスタマイズを同じ場所に入れるべきではないという点です。例えば、入力の禁止語チェックはAgent middlewareに向いていますが、検索結果や社内ナレッジを追加する処理はContext layerに置く方が自然です。LLMへの送信直前のメッセージやオプションを調整したい場合は、Chat client layerの方が適しています。

MicrosoftのAI/Copilot更新で何が変わるのか

今回のAgent Pipeline Architecture関連の更新を実務目線で見ると、変化の中心は「エージェントの処理場所が明確になったこと」です。

以前のAIエージェント開発では、プロンプト、ツール、履歴、ログ、承認処理をアプリケーション側にまとめて実装しがちでした。しかしMicrosoft Agent Frameworkでは、処理の責務が層ごとに整理されているため、どこに何を実装すべきかを設計しやすくなっています。

特に影響が大きいのは次の3点です。

変更・整理されたポイント影響を受ける人確認すべきこと
エージェント処理が層構造で明確化開発者、アーキテクトログ、検証、RAG、ツール制御をどの層に置くか
Microsoft FoundryやGitHub Copilot Agentsなどプロバイダーごとの差が明確化管理者、開発者ローカルChatClientを使うか、サービス管理型エージェントを使うか
ツール実行、MCP、Bing/SharePoint/Fabric連携などの対応範囲が整理管理者、セキュリティ担当利用可能なツール、プレビュー機能、承認フロー、監査ログ

Microsoft Foundryの公式情報では、Foundry連携には大きく「Responses Agent」と「Foundry Agent」の2パターンがあります。Responses Agentはアプリ側でモデル、指示、ツールをプログラム的に指定する方式で、Foundry AgentはFoundry側で作成・バージョン管理されたサービス管理型のエージェントを利用する方式です。(Microsoft Learn)

この違いは、管理者にとって非常に重要です。アプリケーション側で柔軟に指示やツールを差し替えたいならResponses Agentが扱いやすく、厳格なバージョン管理やポータル管理を重視するならFoundry Agentが向いています。ただし、Foundry Agentではツールや指示はFoundry側の定義に従うため、実行時にクライアント側から自由に変更する設計には向きません。(Microsoft Learn)

利用者への影響:CopilotやAIエージェントの挙動が安定しやすくなる

一般利用者にとって、Agent Pipeline Architectureそのものを意識する場面は多くありません。しかし、業務システムやCopilot連携アプリを使う側には、次のような形で影響が出ます。

会話履歴や文脈の扱いが改善しやすい

Context layerでは、会話履歴や追加情報をリクエスト前に組み込めます。MicrosoftのContext Providersの説明では、各呼び出しの前後でコンテキストを追加し、実行後のデータ処理もできるとされています。(Microsoft Learn)

これにより、例えば次のような挙動を作りやすくなります。

「前回の問い合わせ内容を踏まえて回答する」
「ユーザーの所属部署に応じて参照する社内文書を変える」
「SharePointやAzure AI Searchの検索結果を回答前に追加する」
「会話後に重要な情報だけをメモリへ保存する」

ただし、何でも履歴やメモリに保存すればよいわけではありません。個人情報、機密情報、不要な長文履歴を無制限に保持すると、セキュリティリスクやコスト増加につながります。利用者向けに「何が保存されるのか」「どの範囲で使われるのか」を明示する運用が必要です。

ツール実行前の承認を組み込みやすい

Agent FrameworkのTools Overviewでは、Function Tools、Code Interpreter、File Search、Web Search、Hosted MCP Tools、Local MCP Tools、Foundry Toolboxesなど、複数のツール種別が整理されています。また、Tool Approvalにより、ツール実行前に人間の承認を挟む設計が可能です。(Microsoft Learn)

これは、CopilotやAIエージェントが単なる回答生成ではなく、ファイル検索、コード実行、外部システム連携、MCP経由の操作を行う場面で重要です。

例えば、社内FAQを検索するだけなら自動実行でも問題ない場合があります。一方で、ファイルの書き換え、シェルコマンド実行、外部APIへの登録、顧客データの参照などは、承認や監査ログを必須にすべきです。

管理者が確認すべき設定・運用ポイント

管理者が最初に確認すべきなのは、Agent Pipeline Architectureの全体像ではなく、自社のエージェントがどの層で何をしているかです。

エージェント種別ごとの管理範囲を確認する

すべてのエージェントが同じパイプラインで動くわけではありません。公式ドキュメントでは、A2AAgentGitHubCopilotAgentCopilotStudioAgentなどはローカルのIChatClientを使わず、リモートサービスと通信するため、フルのChatClientAgentパイプラインを使わない場合があると説明されています。これらのエージェントでもAgent-level middlewareは使えますが、Chat client middlewareは適用できないケースがあります。(Microsoft Learn)

管理者は、次のように整理しておくと判断しやすくなります。

確認項目見るべきポイント
エージェント種別ChatClientAgentFoundryAgentGitHubCopilotAgentCopilotStudioAgentなど
実行場所アプリ側、Foundry側、GitHub Copilot CLI側、外部A2A先
ミドルウェア適用範囲Agent middlewareだけか、Chat middlewareまで使えるか
ツール定義の管理場所コード側か、Foundryポータル側か、リモートサービス側か
監査対象入力、出力、ツール呼び出し、承認結果、外部接続先

この整理をせずに導入すると、「ログを入れたつもりなのにLLM呼び出し部分が記録されない」「ツールの承認を実装したつもりだがリモート側の操作は対象外だった」といった見落としが起きやすくなります。

GitHub Copilot Agentsは権限管理を必ず確認する

GitHub Copilot Agentsは、GitHub Copilot SDKをバックエンドとして使うエージェントをAgent Frameworkから扱える仕組みです。公式ドキュメントでは、シェルコマンド実行、ファイル操作、URL取得、MCPサーバー連携などのコーディング向け機能にアクセスできると説明されています。(Microsoft Learn)

一方で、GitHub Copilot AgentsではGitHub Copilot CLIのインストールと認証が必要であり、シェルやファイル権限を使う場合はDockerやDev Containerなどのコンテナ化環境で実行することが推奨されています。(Microsoft Learn)

管理者が確認すべきポイントは次の通りです。

項目推奨される確認内容
実行環境ローカルPCで直接実行させず、Dev Containerや隔離環境を使う
権限シェル、ファイル読み書き、URL取得を既定で許可しない
承認フローPermission handlerやTool Approvalで危険操作を止める
ログ実行コマンド、対象ファイル、承認者、結果を追跡する
MCP接続ローカルMCP、リモートMCPの接続先と認証方式を管理する

特に、ファイル操作やシェル実行を許可する場合は、AIエージェントを「補助ツール」ではなく「操作権限を持つ実行主体」として扱う必要があります。

OpenTelemetryの二重記録と機密データに注意する

Agent FrameworkはOpenTelemetryとの統合に対応しており、トレース、ログ、メトリックを出力できます。公式ドキュメントでは、Agent FrameworkがOpenTelemetry GenAI Semantic Conventionsに従って情報を出力すると説明されています。(Microsoft Learn)

ただし、チャットクライアントとエージェントの両方で可観測性を有効にすると、プロンプトや応答などのチャットコンテキストが両方のスパンに含まれ、情報が重複する可能性があります。特に機密データを含むトレースを有効にする場合は、どの層で記録するかを明確にする必要があります。(Microsoft Learn)

実務では、次のようなルールを決めておくと安全です。

目的推奨設定
全体の実行時間を見たいAgent layer中心で計測
モデル呼び出しの遅延を見たいChat client layer中心で計測
ツール実行の失敗を追いたいFunction middlewareとTool Approval結果を記録
機密情報を扱うプロンプト・応答本文の記録を最小化
障害解析を優先する検証環境一時的に詳細ログを有効化し、本番とは分ける

「あとで調査できるように全部ログに残す」は、AIエージェントでは危険です。プロンプトには業務情報や個人情報が含まれやすいため、ログ設計はセキュリティ設計の一部として扱うべきです。

開発者が押さえるべき実装ポイント

開発者にとってAgent Pipeline Architectureの最大のメリットは、カスタマイズ箇所を選べることです。

Agent middlewareは全体制御に使う

Agent middlewareは、エージェントの実行全体を横断的に制御したい場合に使います。公式ドキュメントでは、Agent FrameworkのMiddlewareはログ、セキュリティ検証、エラー処理、結果変換などの横断的関心事を、コアのエージェントや関数ロジックを変更せずに実装できる仕組みとして説明されています。(Microsoft Learn)

向いている処理は次の通りです。

向いている処理理由
入力チェックモデルやツールに渡す前に止められる
監査ログすべての実行に一貫して適用できる
レート制限ユーザー単位、テナント単位で制御しやすい
結果のマスキング応答が返る直前に加工できる
セキュリティブロック後続処理を実行せず終了できる

一方で、Agent middlewareにRAG検索やモデル固有のオプション調整を詰め込みすぎると、処理の見通しが悪くなります。エージェント全体に共通する処理だけを置くのが基本です。

Context Providersは履歴・RAG・動的指示に使う

Context Providersは、実行前にメッセージ、ツール、指示などを追加し、実行後に状態を保存する用途に向いています。公式ドキュメントでは、カスタムContext Providerは動的な指示、メッセージ、ツールの注入や、実行後の状態抽出に使えると説明されています。(Microsoft Learn)

よくある活用例は次の通りです。

「顧客IDに基づいてCRM情報を取得する」
「SharePointの関連文書を検索して追加する」
「過去の会話からユーザーの好みを反映する」
「部署ごとに回答ポリシーを変える」
「実行後に重要なメモだけを保存する」

ただし、Context Providerのインスタンスにセッション固有の状態を直接持たせる設計は避けるべきです。公式ドキュメントでも、AIContextProviderのインスタンスは複数セッションで使われるため、セッション固有の値はAgentSession側に保存する考え方が示されています。(Microsoft Learn)

Chat middlewareはモデル呼び出し直前の調整に使う

Chat middlewareは、AIモデルへ送信されるメッセージ、オプション、応答を扱う層です。Pythonの説明では、Chat middlewareは関数呼び出しループの内部で実行され、ツール結果をモデルへ戻す呼び出しを含め、モデル呼び出しごとに実行されるとされています。(Microsoft Learn)

この性質を理解していないと、ログが想定より多く出たり、ミドルウェアが複数回動いてコストや遅延が増えたりします。

Chat middlewareに向いている処理は、モデル呼び出し単位のロギング、モデルオプションの調整、LLM応答の検査、プロバイダー固有のパラメータ処理などです。ツールを複数回呼ぶエージェントでは、Chat middlewareが何回実行されるかをテストで確認しておく必要があります。

移行時に確認すべきポイント

Microsoft Agent Frameworkを既存のSemantic Kernel、AutoGen、独自エージェント基盤、または古いAgent Frameworkプレビュー版から移行する場合、Agent Pipeline Architectureの理解は移行漏れの防止に役立ちます。

Pythonはパッケージ分割とAPI変更を確認する

公式のPython 2026 Significant Changes Guideでは、2026年のプレビューから1.0.0への移行に伴う重要な変更が整理されています。例えば、agent-frameworkagent-framework-coreagent-framework-openaiagent-framework-foundryはリリース済みパッケージとして--preが不要になった一方、agent-framework-github-copilotagent-framework-foundry-localなどの一部ベータ系コネクターでは引き続き--preが必要です。(Microsoft Learn)

また、PythonではFoundry関連の埋め込み機能がagent_framework.foundryへ移動し、スタンドアロンのagent-framework-azure-aiパッケージからの移行が必要になります。(Microsoft Learn)

確認すべき代表例は次の通りです。

確認対象移行時の注意点
パッケージagent-framework-coreだけで不足する場合は、OpenAIやFoundryなどプロバイダー別パッケージを明示的に追加
モデル指定model_idではなくmodelへ統一されている箇所を確認
メッセージ生成Message(..., text=...)ではなくcontents=[...]を使う
Foundryagent_framework.foundry配下のクライアントと環境変数へ移行
ワークフローfunction_invocation_kwargsclient_kwargsの使い分けを確認
GitHub Copilotagent-framework-github-copilotのPython要件やツールハンドラー変更を確認

移行時にやりがちな失敗は、「動いているサンプルコードをそのまま本番コードへ混ぜること」です。プレビュー機能、ベータパッケージ、GAパッケージが混在しているため、依存関係ファイルでバージョンと--preの有無を明示する必要があります。

Foundry Agentは「実行時に差し替えられる」と思い込まない

Foundry Agentを使う場合、エージェント定義はFoundry側にあります。公式ドキュメントでは、Foundry Agentのツールや指示は作成時の定義に厳格であり、実行時にツールや指示を変更することはサポートされないとされています。(Microsoft Learn)

そのため、移行時には次の判断が必要です。

柔軟にプロンプトやツールをコードで切り替える必要があるなら、Responses AgentやChatClientAgent寄りの設計が向いています。監査済みのエージェント定義をポータルやサービスAPIで管理し、バージョン固定で運用したいなら、Foundry Agentが向いています。

この判断を後回しにすると、開発中は動いても、本番展開時に「運用部門がバージョン管理できない」「セキュリティ部門がツール定義を確認できない」「逆に開発側が必要な動的変更を行えない」といった問題が起きます。

展開・本番運用で注意すべきこと

Agent Pipeline Architectureは開発だけでなく、本番展開の設計にも直結します。

本番ではDefaultAzureCredentialの扱いに注意する

Microsoft FoundryやOpenTelemetryのサンプルではDefaultAzureCredentialが使われることがありますが、公式ドキュメントでは、本番環境ではManagedIdentityCredentialなど特定の資格情報を検討するよう注意されています。理由として、フォールバックによる遅延や意図しない資格情報探索、セキュリティリスクが挙げられています。(Microsoft Learn)

本番では、少なくとも次を確認してください。

確認項目推奨
Azure認証Managed Identityなど明示的な資格情報を使う
ローカル開発Azure CLI認証と本番認証を分ける
シークレット.envやローカル設定を本番へ持ち込まない
権限エージェント実行に必要な最小権限だけを付与
監査誰が、どのエージェントを、どの権限で実行したか記録

プレビュー・実験的機能は用途を限定する

Tools Overviewでは、一部のツールがpreviewやexperimentalとして整理されています。例えば、Bing Grounding、Bing Custom Search、Azure AI Search、SharePoint、Microsoft Fabric、Memory Search、Computer Use、Browser Automation、A2A toolなど、利用できる機能は増えていますが、状態がpreviewやexperimentalのものも含まれます。(Microsoft Learn)

プレビュー機能を本番で使う場合は、次のようなガードレールを置くべきです。

リスク対策
APIや仕様が変わるバージョン固定、変更検知、検証環境での先行テスト
管理画面やドキュメントが変わる運用手順を定期更新
コンプライアンス境界が変わるデータ送信先とリージョンを確認
予期せぬ操作が発生する承認フロー、サンドボックス、操作ログを必須化

特にWeb検索系やグラウンディング系ツールは、データが外部に送信される可能性があります。Foundryの公式情報でも、Bing系のWeb groundingは検索データがAzureのコンプライアンス境界外へ送信される旨が説明されています。(Microsoft Learn)

失敗しやすいポイントと回避策

Agent Pipeline Architectureを導入する際、設計でつまずきやすいのは「機能をどこに置くか」の判断です。

失敗例起きる問題回避策
すべてをAgent middlewareに入れるRAG、ログ、承認、変換が混ざり保守しにくい横断制御はAgent middleware、文脈追加はContext Providersへ分ける
Chat middlewareで重い処理をするツール呼び出しループで何度も動き遅くなるモデル呼び出し単位で必要な処理だけに限定する
Foundry Agentをコード管理の延長で扱う実行時にツールや指示を変えられず詰まるFoundry側定義とコード側定義の責務を分ける
GitHub Copilot Agentに広い権限を与えるファイル操作やシェル実行の影響範囲が大きくなるコンテナ化、許可制、監査ログを必須にする
可観測性を全層で有効化するプロンプトや応答が重複記録される記録する層と機密データの扱いを決める
プレビュー機能を無条件で本番投入する仕様変更や運用トラブルが起きやすい検証環境、代替手段、ロールバック手順を用意する

実務では、最初から複雑なマルチエージェント構成にするより、1つのエージェントで「入力検証」「履歴管理」「ツール承認」「ログ」の最小構成を作り、パイプライン上のどこで何が動いているかを確認する方が安全です。

管理者・開発者向けチェックリスト

最後に、Microsoft Agent FrameworkのAgent Pipeline Architectureを確認する際のチェックリストをまとめます。

管理者向け

チェック項目確認内容
エージェント種別ChatClientAgent、FoundryAgent、GitHubCopilotAgent、CopilotStudioAgentのどれか
実行環境ローカル、コンテナ、Foundry、GitHub Copilot CLI、外部A2A先
権限ファイル、シェル、URL取得、MCP、外部APIの許可範囲
承認ツール実行前に人間の承認が必要な操作を定義
ログ入力、出力、ツール呼び出し、承認結果、エラーをどこまで残すか
データ境界Web検索、Bing grounding、SharePoint、Fabric連携時の送信先
バージョン管理Foundry Agentや依存パッケージのバージョン固定
本番認証Managed Identityなど本番向け資格情報の利用

開発者向け

チェック項目確認内容
ミドルウェア設計Agent、Function、Chatのどこに置くべき処理か
Context Providers履歴、RAG、メモリ、動的指示を適切に分離しているか
ツール定義Function Tools、MCP、Hosted Toolsの対応プロバイダーを確認したか
ストリーミング非ストリーミングとストリーミングの両方で動作確認したか
Python移行modelcontents、パッケージ分割、Foundry namespaceを確認したか
例外処理ツール失敗、モデル失敗、承認拒否、タイムアウトを処理しているか
テストミドルウェアの実行順序、ツール承認、監査ログをテストしているか
コストChat middlewareやツールループで不要なモデル呼び出しが増えていないか

まず何から対応すべきか

Agent Pipeline Architectureは、Microsoft Agent FrameworkでAIエージェントを安全に拡張するための設計図です。まずは、自社または自分のプロジェクトで使っているエージェントを一覧化し、「どの層で何をしているか」を書き出してください。

最初に見るべき順番は、次の通りです。

  1. 使っているエージェント種別を確認する
  2. ツール、MCP、ファイル操作、シェル実行の有無を確認する
  3. Agent middleware、Context Providers、Chat middlewareの責務を分ける
  4. OpenTelemetryや監査ログの記録範囲を決める
  5. Foundry AgentやGitHub Copilot Agentsを使う場合は、実行環境と権限を確認する
  6. Pythonやパッケージ構成を移行中なら、1.0.0向けの変更点を洗い出す

MicrosoftのAI/Copilot連携は、単に「高性能なモデルを呼び出す」段階から、業務システム内で安全に動くエージェント基盤へ移っています。Agent Pipeline Architectureを理解しておくことで、開発者は拡張ポイントを間違えにくくなり、管理者は権限、監査、移行、展開のリスクを具体的に管理しやすくなります。

この記事を書いた人

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

コメント

コメントする

目次