Microsoft Agent Framework の紹介 - SK/AutoGenの統合
本記事では Microsoft Agent Framework を紹介します。
Semantic Kernel(SK)や AutoGen との違い、エージェントパターンの進化、そして今後の展望について解説します。
すぐに触ってみたい方はこちらから👇
Microsoft Agent Framework の紹介
Microsoft Agent Framework は、エンタープライズ対応の基盤と革新的なオーケストレーションを統合したオープンソース SDK & ランタイムです。
- Semantic Kernel → 安定したエンタープライズ SDK
- AutoGen → 実験的なマルチエージェントパターン
-
Agent Framework → 両者の強みを統合
Semantic Kernel/AutoGen/Microsoft Agent Framework の比較
項目 | Semantic Kernel | AutoGen | Microsoft Agent Framework |
---|---|---|---|
フォーカス領域 | エンタープライズ向けコネクタ、ワークフロー、オブザーバビリティを備えた安定した SDK | 研究由来の実験的なマルチエージェントオーケストレーション | イノベーションとエンタープライズ対応を統合した SDK |
相互運用性 | プラグイン、コネクタ、MCP・A2A・OpenAPI のサポート | ツール統合は可能だが、ランタイム間の標準化プロトコルが欠如 | コネクタを標準搭載、MCP・A2A・OpenAPI をサポート |
メモリ管理 | 複数のベクトルストアコネクタとメモリストア抽象化(例: Elasticsearch, MongoDB) | インメモリ/バッファ履歴サポート + 外部ベクトルストアメモリ(ChromaDB, Mem0 など) | プラグ可能なメモリ(1st/3rd パーティ対応)、永続的 & 適応型メモリ(検索連携)、ハイブリッドアプローチ |
オーケストレーション | 決定論的 + 動的オーケストレーション(Agent Framework, Process Framework) | 動的 LLM オーケストレーション(ディベート、リフレクション、ファシリテーター/ワーカー、グループチャット) | 決定論的 + 動的オーケストレーション(Agent Orchestration, Workflow Orchestration) |
エンタープライズ対応 | テレメトリ、オブザーバビリティ、コンプライアンスフック | 最小限 | オブザーバビリティ、承認ワークフロー、CI/CD、長期稼働耐久性、ハイドレーション |
Microsoft Agent Framework で得られるもの
-
オープン標準と相互運用性
MCP、A2A、OpenAPI により、エージェントはポータブルかつベンダーニュートラルに。 -
研究から本番へのパイプライン
Microsoft Research で開発された最先端オーケストレーションパターンを、エンタープライズで利用可能に。 -
コミュニティ主導の拡張性
モジュール設計により、コネクタ、プラガブルメモリ、宣言的エージェント定義を柔軟に拡張可能。 -
エンタープライズ対応
観測性、承認、セキュリティ、長時間の耐久性を組み込み。
位置づけ
Microsoft Agent Framework は Semantic Kernel や AutoGen を置き換えるものではありません。両者の強みを統合し、妥協なく実験からエンタープライズ運用へ移行できる基盤を提供します。
- Agent Orchestration(LLM 駆動の創造的推論・意思決定)
- Workflow Orchestration(ビジネスロジック駆動の決定論的マルチエージェントワークフロー)
これらを両立させることで、チームは課題に応じて適切なアプローチを選択できます。
- オープンエンドなタスクには柔軟な協働
- 繰り返し可能な業務プロセスには構造化されたワークフロー
今後の展望
Microsoft Agent Framework は、Microsoft のエージェント開発スタック全体でさらなる統合を進めています。その中には Microsoft 365 Agents SDK との統合や、Azure AI Foundry Agent Service との共有ランタイムが含まれます。
Microsoft 365 Agents SDK はプロフェッショナル向けの開発ツールキットであり、開発者はフルスタックかつマルチチャネル対応のエージェントを構築し、Microsoft 365 Copilot、Teams、Web、その他のプラットフォームに公開できます。また、Copilot Studio のローコードコネクタや Microsoft 365 Copilot のカスタムエンジンエージェントと深く相互運用することが可能です。
この SDK を Microsoft Agent Framework と統合し、さらに Foundry Agent Service で使用される共有ランタイムと整合させることで、開発者はエージェントの 作成・実行・スケーリング・公開を行うための統一された抽象化レイヤー を得られます。
これにより次のようなことが可能になります:
- ローカルでプロトタイプを作成
- 一貫したテレメトリでデバッグ
- エンタープライズグレードの観測性、コンプライアンス、セキュリティを備えた拡張ホスティングへシームレスに移行
- エージェントを再構築することなく、あらゆる希望するコミュニケーションチャネルに公開
Microsoft Agent Framework の4つの柱
1.オープン標準と相互運用性
エージェントは孤立して存在するものではなく、データ、ツール、他のエージェントと接続する必要があります。Microsoft Agent Framework はオープン標準を基盤として構築されており、開発者は統合先を自由に選択でき、システムがフレームワークやクラウドを超えて移植可能であることを保証します。
-
MCP (Model Context Protocol):
エージェントは MCP を介して公開されている外部ツールやデータサーバーを動的に発見・呼び出すことが可能。Microsoft Agent Framework により、MCP 準拠サービスのエコシステムにカスタムコードなしで接続できます。 -
Agent-to-Agent (A2A):
エージェントは構造化されたプロトコル駆動型メッセージングでランタイムを超えて協働可能。A2A により、異なるフレームワークや環境で動作していても「1 つ目のエージェントがデータを取得」「2 つ目が分析」「3 つ目が検証」といったワークフローを構築可能。 -
OpenAPI-first デザイン:
OpenAPI 仕様を持つ任意の REST API を、呼び出し可能なツールとして即座にインポート可能。スキーマ解析、ツール定義、安全な呼び出しをフレームワークが処理するため、数千のエンタープライズ API をラッパーを作らず活用できます。 -
クラウド非依存のランタイム:
エージェントはコンテナ、オンプレミス、複数クラウド上で稼働可能。Azure OpenAI、OpenAI など任意の SDK でエージェントを起動し、既存メソッドを AIFunction としてラップしてツールを追加、外部 API へ即座に接続できます。
また、VS Code AI Toolkit の最新アップデートにより、開発者は Microsoft Agent Framework を使ったマルチエージェントワークフローをローカルで作成・実行・可視化可能になりました。これにより開発サイクルが合理化され、VS Code 環境で容易に構築・デバッグ・反復できます。
2.研究のためのパイプライン
Microsoft Agent Framework は、研究での革新とエンタープライズ本番運用をつなぐ架け橋として設計されています。多くの革新的なマルチエージェントオーケストレーションパターンは Microsoft Research の AutoGen から生まれており、新しいフレームワークにより耐久性・ガバナンス・パフォーマンスを犠牲にすることなく実システムで利用可能になります。
フレームワークがサポートするオーケストレーション関連サンプル(ディレクトリ別)
agents
サンプル | ファイル | コンセプト |
---|---|---|
Azure Chat Agents (Streaming) | agents/azure_chat_agents_streaming.py |
Azure エージェントをエッジとして追加し、ストリーミングイベントを処理 |
Custom Agent Executors | agents/custom_agent_executors.py |
エージェントの実行メソッドを処理するエグゼキュータを作成 |
Azure AI Chat Agents (Streaming) | agents/azure_ai_agents_streaming.py |
Azure AI エージェントをエッジとして追加し、ストリーミングイベントを処理 |
Azure Chat Agents (Streaming) | agents/azure_chat_agents_streaming.py |
Azure Chat エージェントをエッジとして追加し、ストリーミングイベントを処理 |
Workflow as Agent (Reflection Pattern) | agents/workflow_as_agent_reflection_pattern.py |
ワークフローをラップしてエージェントのように動作させる(リフレクションパターン) |
Workflow as Agent + HITL | agents/workflow_as_agent_human_in_the_loop.py |
Human-in-the-loop 機能を持つ workflow-as-agent を拡張 |
checkpoint
サンプル | ファイル | コンセプト |
---|---|---|
Checkpoint & Resume | checkpoint/checkpoint_with_resume.py |
チェックポイントを作成し、確認して実行を再開 |
Checkpoint & HITL Resume | checkpoint/checkpoint_with_human_in_the_loop.py |
チェックポイントと人間の承認を組み合わせ、保留中の HITL リクエストを再開 |
Checkpointed Sub-Workflow | checkpoint/sub_workflow_checkpoint.py |
人間の承認で一時停止するサブワークフローを保存・再開 |
composition
サンプル | ファイル | コンセプト |
---|---|---|
Sub-Workflow (Basics) | composition/sub_workflow_basics.py |
ワークフローをエグゼキュータとしてラップし、サブワークフローをオーケストレーション |
Sub-Workflow: Request Interception | composition/sub_workflow_request_interception.py |
サブワークフローリクエストをインターセプトし、RequestInfoMessage サブクラスを転送 |
Sub-Workflow: Parallel Requests | composition/sub_workflow_parallel_requests.py |
同一サブワークフローからの異なるリクエストタイプを複数のインターセプタで処理 |
control-flow
サンプル | ファイル | コンセプト |
---|---|---|
Sequential Executors | control-flow/sequential_executors.py |
明示的なエグゼキュータ設定による逐次ワークフロー |
Sequential (Streaming) | control-flow/sequential_streaming.py |
単純な逐次実行からイベントをストリーミング |
Edge Condition | control-flow/edge_condition.py |
エージェント分類に基づく条件付きルーティング |
Switch-Case Edge Group | control-flow/switch_case_edge_group.py |
分類器の出力を利用した switch-case 分岐 |
Multi-Selection Edge Group | control-flow/multi_selection_edge_group.py |
動的に 1 つまたは複数のターゲットを選択(部分的ファンアウト) |
Simple Loop | control-flow/simple_loop.py |
エージェントが ABOVE/BELOW/MATCHED を判定するフィードバックループ |
human-in-the-loop
サンプル | ファイル | コンセプト |
---|---|---|
Human-In-The-Loop (Guessing Game) | human-in-the-loop/guessing_game_with_human_input.py |
人間との対話型リクエスト/レスポンスプロンプト |
observability
サンプル | ファイル | コンセプト |
---|---|---|
Tracing (Basics) | observability/tracing_basics.py |
ワークフローテレメトリ用の基本的なトレーシングを利用 |
orchestration
サンプル | ファイル | コンセプト |
---|---|---|
Concurrent Orchestration (Default Aggregator) | orchestration/concurrent_agents.py |
複数エージェントにファンアウトし、デフォルトのアグリゲータで ChatMessages を統合 |
Concurrent Orchestration (Custom Aggregator) | orchestration/concurrent_custom_aggregator.py |
コールバックでアグリゲータを上書きし、LLM で結果を要約 |
Concurrent Orchestration (Custom Agent Executors) | orchestration/concurrent_custom_agent_executors.py |
子エグゼキュータが ChatAgents を所有し、ConcurrentBuilder で並列化 |
Magentic Workflow (Multi-Agent) | orchestration/magentic.py |
Magentic マネージャーとストリーミングで複数エージェントをオーケストレーション |
Magentic + Human Plan Review | orchestration/magentic_human_plan_update.py |
実行前に人間がプランをレビュー・更新 |
Magentic + Checkpoint Resume | orchestration/magentic_checkpoint.py |
保存されたチェックポイントから Magentic オーケストレーションを再開 |
Sequential Orchestration (Agents) | orchestration/sequential_agents.py |
エージェントを会話コンテキストを共有しながら順番にチェーン |
Sequential Orchestration (Custom Executor) | orchestration/sequential_custom_executors.py |
エージェントとサマライザーを組み合わせ、コンパクトな要約を追加 |
parallelism
サンプル | ファイル | コンセプト |
---|---|---|
Concurrent (Fan-out/Fan-in) | parallelism/fan_out_fan_in_edges.py |
複数エグゼキュータに分散し、結果を集約 |
Aggregate Results of Different Types | parallelism/aggregate_results_of_different_types.py |
複数並列エグゼキュータから異なる型の結果を処理 |
Map-Reduce with Visualization | parallelism/map_reduce_and_visualization.py |
Fan-out/Fan-in パターンを使い、ダイアグラム出力を伴うマップリデュース |
また、実験的機能の拡張パッケージも提供されており、明確にラベル付けされた インキュベーションチャネルで先進ユーザーが Microsoft Research や OSS コミュニティの最先端機能を試せます。実験的であることを透明にしつつ、成功した機能は安定版に自然に移行します。
これらのパターンはかつてはプロトタイプでしたが、今では耐久性・監査性・エンタープライズ制御を備えています。まさに 研究の革新が現実利用に成熟した姿です。
3.拡張性とコミュニティ主導
Microsoft Agent Framework は 100% オープンソース であり、コミュニティと共に成長するよう設計されています。モジュール構造により拡張・カスタマイズ・貢献が容易です。
- エンタープライズシステムへのコネクタ: Azure AI Foundry、Microsoft Graph、Microsoft Fabric、SharePoint、Oracle、Amazon Bedrock、MongoDB、Azure Logic Apps 経由でさまざまな SaaS に接続可能。
- プラガブルなメモリモジュール: Redis、Pinecone、Qdrant、Weaviate、Elasticsearch、Postgres などから選択可能。抽象化はフレームワークが提供し、バックエンドは自由に選べます。
- 宣言的エージェント: YAML や JSON でプロンプト、役割、ツールを宣言的に指定可能。バージョン管理、テンプレート化、チーム間共有も容易。
- コミュニティ主導の革新: オーケストレーション戦略、新しいコネクタ、ベストプラクティスを取り込み可能。
つまり Microsoft Agent Framework は固定的な製品ではなく、Microsoft Research とグローバル OSS コミュニティによる貢献で進化し続ける生態系です。
4.本番運用対応
Microsoft Agent Framework は単なる実験のためではなく、最初からエンタープライズ本番運用向けに設計されています。プロトタイプからスケールまで自信を持って移行するために必要なエンドツーエンドのツールとランタイムを提供し、Azure AI Foundry エコシステムと深く統合されています。
- 観測性: OpenTelemetry によりすべてのエージェントアクション、ツール呼び出し、オーケストレーションステップを計測・可視化。推論フローのトレースやパフォーマンス監視を Azure AI Foundry ダッシュボードで容易に実施。
- セキュアなクラウドホスティング: エージェントは Azure AI Foundry 上でネイティブに稼働し、仮想ネットワーク統合、ロールベースアクセス、プライベートデータ処理、コンテンツセーフティを備える。
- セキュリティ & コンプライアンス: Azure AI Content Safety、Entra ID 認証、構造化ログにより規制産業での利用が可能。
- 長期稼働の耐久性: エージェントスレッドやワークフローは中断・再開・復元が可能。リトライやエラーハンドリングで大規模環境でも信頼性を確保。
- Human-in-the-loop: ガバナンスが必要なシナリオではツールを「人間の承認が必要」としてマーク可能。フレームワークは承認待ちリクエストを UI やキューに自動送信し、承認後に実行を継続または拒否。ローカルツールやリモートサービス呼び出しにも対応。
- CI/CD 統合: GitHub Actions や Azure DevOps と直接統合。テレメトリは Azure Monitor や Application Insights に流れ込み、エンタープライズ級のデプロイや根本原因分析を実現。
これらの機能により、Microsoft Agent Framework は ローカルでのプロトタイピング、リッチなテレメトリによるデバッグ、本番環境でのセキュアなスケーリングをシームレスに行えるようにし、モダンな AI システムに求められるエンタープライズ対応を満たします。
Microsoft Agent Framework への移行パス
多くの顧客がすでに Semantic Kernel や AutoGen を本番環境で利用しています。両方のプロジェクトはサポートが継続されますが、今後の投資の中心は Microsoft Agent Framework になります。
既存ユーザーは、大きな書き換えなしでスムーズに移行できます。
Semantic Kernel ユーザー向け
移行はシンプルで、Kernel とプラグインの仕組みを Agent と Tool 抽象化に置き換えるだけです。
-
.NET 開発者
- 名前空間を
Microsoft.SemanticKernel.*
→Microsoft.Extensions.AI.*
に変更 - Kernel に依存せず、プロバイダーから直接エージェントを生成可能
- 名前空間を
-
Python 開発者
- フルパッケージ:
pip install agent-framework
- 必要なコンポーネントだけ導入も可能(例:
agent-framework-azure-ai
,agent-framework-redis
)
- フルパッケージ:
-
改善点
- エージェントがスレッドをネイティブ管理
-
RunAsync
/RunStreamingAsync
で非同期処理をシンプル化 - 属性やラッパー不要でツールをインライン登録
- 既存のベクトルストア統合(Azure AI Search、Postgres、Cosmos DB、Redis、Elasticsearch など)もそのまま利用可能
- Bing、Google、OpenAPI、Microsoft Graph などのプラグインは MCP / OpenAPI 経由で直接ツール化
👉 結果: ボイラープレート削減、メモリ管理の簡素化、オープン標準準拠
AutoGen ユーザー向け
AutoGen の多様なオーケストレーションパターンは、Agent Framework の Workflow 抽象化に統合されます。
-
エージェント移行
-
AssistantAgent
→ChatAgent
(マルチターン対応、ツール呼び出しを自動継続)
-
-
ツール移行
-
FunctionTool
ラッパー →@ai_function
デコレーター - スキーマ自動推論、ホスト型ツール(コードインタープリターや Web 検索)対応
-
-
メッセージング
- 複数クラスを廃止し、
ChatMessage
に統一 - 役割: USER / ASSISTANT / TOOL / SYSTEM
- 複数クラスを廃止し、
-
オーケストレーション
- イベント駆動モデル → 型付きグラフベースの Workflow API
- 機能: チェックポイント、ポーズ&再開、Human-in-the-loop
-
観測性
- OpenTelemetry が標準サポート
- デバッグ・トレーシングがシンプルに
👉 結果: 単一エージェントは軽微な修正のみ、マルチエージェントは Workflow モデルで耐久性・拡張性が向上
ポイントまとめ
- Semantic Kernel → API 呼び出しの簡素化 + コードのボイラープレート削減
- AutoGen → Workflow API による構成性・耐久性強化
- 共通 → OpenTelemetry で統一された観測性を提供
Microsoft Agent Framework は代替品ではなく、革新と安定性を兼ね備えた進化形です。
既存コードを大きく壊さずに、最新の機能とエンタープライズ対応を取り込めます。
顧客事例
さまざまな業界の企業が Microsoft Agent Framework を活用し、マルチエージェントシステムを本番シナリオでテスト/導入しています。
-
KPMG
Clara AI(監査テストと文書作成を自動化)。
→ Foundry Agent Service + Agent Framework により、データ連携と規制業界向けのガバナンス/オブザーバビリティを実現。 -
Commerzbank
アバター駆動のカスタマーサポート。
→ コーディング簡素化、MCP対応、Azure AI Foundry エージェント活用で IT 運用負荷を削減。 -
BMW
テラバイト級の車両テレメトリ解析。
→ 耐久性/観測性を備え、分析を数日→数分に短縮。 -
Fujitsu
統合サービスに組込み、グループチャット/ディベート戦略を安全に導入。
→ 人間と AI の共存を重視したマルチエージェント実装。 -
Citrix
Virtual Workspace Agent。
→ マルチエージェントワークフローを直感的に開発、本番運用可能な AI ソリューションへ。 -
Fractal
Cogentiq プラットフォームでエージェント/ワークフローをスケーリング。
→ 複雑なワークフロー構築を高速化、業界固有課題解決に注力可能。 -
TCS
金融・IT・小売のマルチエージェント実践。
→ Frontier モデルと組み合わせ、業界バリューチェーン変革を推進。 -
Sitecore
コンテンツサプライチェーン自動化。
→ 非決定論的オーケストレーションと決定論的エージェントを両立。 -
NTT DATA
R&D 標準化と展開最適化。
→ マルチエージェント管理を標準化し、顧客の価値実現を加速。 -
MTech Systems
取引データ異常検知や HITL 承認。
→ チェックポイントや YAML ワークフローで再デプロイ不要のスケーラビリティ。 -
TeamViewer
IT サポートスタック強化。
→ リアルタイム診断、要約、推奨を提供。 -
Weights & Biases
エージェントの学習・追跡・運用化を支援。
→ 柔軟なオーケストレーションとチェックポイントでプロトタイプ→本番移行を容易化。 -
Elastic
ネイティブコネクタで Agent Framework と統合。
→ エージェントやワークフローに組織データをシームレス接続。
これらの事例は、革新的なアプローチを可能にしつつ、本番環境での安定稼働も保証する Microsoft Agent Framework の強みを示しています。
今すぐ Microsoft Agent Framework を始めよう
エージェントは、次世代アプリケーションロジックの基盤になりつつあります。
目標を推論し、ツールを呼び出し、他のエージェントと協働し、動的に適応する ― これがエージェントの役割です。
Microsoft Agent Framework を使えば、研究の最先端イノベーションを本番運用にそのまま持ち込めます。
耐久性(Durability)、観測性(Observability)、エンタープライズ対応を備え、スケールに耐えられる単一のオープンソース基盤を提供します。
これは Semantic Kernel と AutoGen から始まった進化の自然な延長であり、まだ始まりにすぎません。
オープン開発とコミュニティとの共創を通じて、Microsoft Agent Framework は次世代マルチエージェントシステムの基盤として進化し続けます。
開発者のためのスタートガイド
- SDK ダウンロード: aka.ms/AgentFramework
- ドキュメント:aka.ms/AgentFramework/Docs
- デモを見る: AI Showや Open at Microsoft
- ハンズオン学習: Microsoft Learn モジュールAgent Framework & AI Agents for Beginners
-
コミュニティ参加: Azure AI Foundry Discord
- 開発者・製品チームとつながり、リアルタイムで学習・議論可能
- AMA セッション: 10月7日(火) 午前9時(PST)開催
引用
Discussion