🎉

Microsoft Agent Framework の紹介 - SK/AutoGenの統合

に公開

本記事では Microsoft Agent Framework を紹介します。
Semantic Kernel(SK)や AutoGen との違い、エージェントパターンの進化、そして今後の展望について解説します。

すぐに触ってみたい方はこちらから👇
https://github.com/microsoft/agent-framework/tree/main

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 KernelAutoGen を置き換えるものではありません。両者の強みを統合し、妥協なく実験からエンタープライズ運用へ移行できる基盤を提供します。

  • 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 から生まれており、新しいフレームワークにより耐久性・ガバナンス・パフォーマンスを犠牲にすることなく実システムで利用可能になります。

フレームワークがサポートするオーケストレーション関連サンプル(ディレクトリ別)

https://github.com/microsoft/agent-framework/tree/main/python/samples/getting_started/workflows#orchestration

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 KernelAutoGen を本番環境で利用しています。両方のプロジェクトはサポートが継続されますが、今後の投資の中心は 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 抽象化に統合されます。

  • エージェント移行
    • AssistantAgentChatAgent(マルチターン対応、ツール呼び出しを自動継続)
  • ツール移行
    • 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 KernelAutoGen から始まった進化の自然な延長であり、まだ始まりにすぎません。
オープン開発とコミュニティとの共創を通じて、Microsoft Agent Framework は次世代マルチエージェントシステムの基盤として進化し続けます。

開発者のためのスタートガイド

引用

https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/
https://azure.microsoft.com/en-us/blog/introducing-microsoft-agent-framework/

Microsoft (有志)

Discussion