Semantic KernelとAutoGen、結局どっち使えばいいの?
——その悩み、Microsoftが2025年に公式に終わらせました。
こんにちは。この記事では、いま.NET / Python界隈で最もアツいAIエージェント開発SDK、Microsoft Agent Framework (MAF) について、これ1本読めば概要をつかめる保存版としてまとめました。
ブックマーク推奨です。
TL;DR(3行まとめ)
- Microsoft Agent Framework (MAF) は、AutoGen(研究寄り)と Semantic Kernel(エンタープライズ寄り)を統合したオープンソースのAIエージェント開発SDK
- 2025年10月2日にGA(1.0)を迎え、.NET / Python / Go に対応。プロダクション利用OK
- 単一エージェントからマルチエージェントのWorkflow(グラフベース)、MCP、OpenTelemetry、セッション状態管理まで全部入り
公式ドキュメント:Microsoft Agent Framework Overview
GitHub:microsoft/agent-framework
1. Microsoft Agent Frameworkとは何者か
一言で言うと、
AIエージェントとマルチエージェントワークフローを、本番運用レベルで構築するための統合SDK
です。
MicrosoftはこれまでAIエージェント系のOSSを2本走らせていました。
| プロジェクト | 特徴 | 立ち位置 |
|---|---|---|
| AutoGen | 抽象度が高くシンプル、マルチエージェント研究の先駆け | 実験・PoC寄り |
| Semantic Kernel (SK) | エンタープライズ機能(型安全・テレメトリ・ミドルウェア) | プロダクション寄り |
この2つを同じチームが融合させたのがAgent Frameworkです。公式は、Semantic Kernel と AutoGen の直接の後継と明言しています。Microsoft Learn
AutoGen(シンプルな抽象化)
+
Semantic Kernel(エンタープライズ機能)
+
Workflows(グラフベースのオーケストレーション) ← New!
↓
Microsoft Agent Framework 1.0
2. なぜ今、注目すべきなのか
2025年10月にGA、APIが安定
1.0リリースでAPIが安定し、後方互換性の約束付き。個人開発から企業導入までスケールできるフェーズに入りました。DevBlogs
マルチ言語対応(.NET / Python / Go)
.NETとPythonが一級市民、Goもサポート。チームの技術スタックを問わず採用しやすいのが大きな強みです。
Microsoft Foundryとの深い統合
Azure AI Foundry / Azure OpenAI / OpenAI / Anthropic / Ollama など、主要モデルプロバイダーをほぼ網羅。ローカルLLMからフロンティアモデルまで同じコードで切り替えられます。
MCP(Model Context Protocol)をネイティブサポート
Anthropicが提唱し、2025〜2026年にデファクトになったMCPを、ホスト側・クライアント側どちらも標準機能で扱えます。
OpenTelemetryによる可観測性
エージェントの推論・ツール呼び出し・ワークフロー実行をOTel標準でトレース。Azure Monitor でも、他のOTLPバックエンドでも受け止められます。Microsoft Tech Community
3. アーキテクチャの4本柱
MAFの機能は大きく4つの領域に整理されています。
| 領域 | 概要 |
|---|---|
| Agents | LLMで入力を処理し、ツール/MCPを呼び出して応答を返す単体エージェント |
| Harness Agent | 長時間タスク向けの全部入りエージェント。TODO追跡・コンテキスト圧縮・ファイル/メモリ・承認フロー・可観測性を内蔵 |
| Workflows | 関数ベースおよびグラフベースのマルチエージェントオーケストレーション |
| Integrations | モデル・ツール・コンテキスト・UI・評価サービスへのコネクタ群 |
さらに基礎ブロックとして、モデルクライアント、セッション状態管理、コンテキストプロバイダー(メモリ)、ミドルウェア、MCPクライアントが用意されています。Microsoft Learn
4. コードで見るMAF:Hello Agent
Python版
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
agent = Agent(
client=FoundryChatClient(
project_endpoint="https://your-foundry.services.ai.azure.com/api/projects/your-project",
model="gpt-5.4-mini",
credential=AzureCliCredential(),
),
name="HelloAgent",
instructions="You are a friendly assistant. Keep your answers brief.",
)
result = await agent.run("フランスで一番大きい都市は?")
print(result)
インストールはたった1行。
pip install agent-framework
.NET (C#)版
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
AIAgent agent = new AIProjectClient(
new Uri("https://your-foundry.services.ai.azure.com/api/projects/your-project"),
new AzureCliCredential())
.AsAIAgent(
model: "gpt-5.4-mini",
instructions: "You are a friendly assistant. Keep your answers brief.");
Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));
この抽象度の低さは扱いやすく、ここからツール追加・マルチターン化・ワークフロー化へ自然にスケールできます。
5. AgentとWorkflow、いつどう使い分ける?
MAFで最初に迷うのがここ。公式に判断基準が明記されています。
| Agent を使う | Workflow を使う |
|---|---|
| タスクがオープンエンド/会話的 | 手順が明確に決まっている |
| ツール使用と計画を自律的に任せたい | 実行順を明示的に制御したい |
| 単一LLMコール(+ツール)で足りる | 複数エージェント/関数の連携が必要 |
関数で書けるなら、AIエージェントではなく関数を書け——これは本当に大事なので額縁に入れておきましょう。
6. マルチエージェント:5つのオーケストレーションパターン
MAFのWorkflowが本当に強いのはここ。5つの標準パターンが用意されています。Microsoft Learn
| パターン | ユースケース |
|---|---|
| Sequential | ドキュメント作成 → レビュー → 校閲のような直列処理 |
| Concurrent | 複数の観点で並列に分析(財務・法務・技術など) |
| Handoff | 一次受付エージェントが専門エージェントへ引き継ぐ(カスタマーサポート型) |
| Group Chat | 複数エージェントが議論して結論を出す |
| Magentic | オーケストレータが動的に計画し、専門エージェントを呼ぶ(AutoGen由来) |
これらをグラフとして組み合わせ、Human-in-the-loop の承認ステップも差し込めます。
7. 移行するべき人/今から学ぶ人
Semantic Kernelユーザー
移行対象です。公式にSKからの移行ガイドあり。SKの資産(プラグイン、フィルター)は概念的にほぼ引き継げます。
AutoGenユーザー
こちらも移行対象。AutoGenからの移行ガイドを参照。AgentChatの思想はそのままに、より堅牢になっています。
これからAIエージェントを学ぶ人
迷ったらMAF一択でOK。SKとAutoGenを別々に学ぶ必要はもうありません。
8. 保存版チートシート
┌─────────────────────────────────────────────┐
│ Microsoft Agent Framework 早見表 │
├─────────────────────────────────────────────┤
│ pip install agent-framework │
│ dotnet add package Microsoft.Agents.AI │
├─────────────────────────────────────────────┤
│ 対応言語 : .NET / Python / Go │
│ モデル : Foundry / Azure OpenAI / │
│ OpenAI / Anthropic / Ollama … │
│ プロトコル: MCP ネイティブ対応 │
│ 観測性 : OpenTelemetry 標準 │
│ ライセンス: MIT (OSS) │
├─────────────────────────────────────────────┤
│ Agent → 自律的・会話的 │
│ Workflow → 明示的・グラフベース │
│ Harness → 長時間タスク全部入り │
└─────────────────────────────────────────────┘
9. これから追うべき情報源
- 公式ドキュメント(日本語版あり)
- microsoft/agent-framework (GitHub)
- Agent-Framework-Samples(Python & .NET のサンプル集)
- Microsoft DevBlogs (Agent Framework)
10. まとめ
Microsoft Agent Frameworkは、単なる新しいSDKではなく、Microsoftが数年かけて分岐させてきたエージェント技術を1本に束ねた到達点です。
- AutoGenのシンプルさ
- Semantic Kernelの堅牢性
- Workflowによる明示的オーケストレーション
- MCP / OpenTelemetry / マルチプロバイダー対応
いま新規でAIエージェントを作るなら、MAFから始めるのが最短距離です。
読んで理解したを作れるに変えるには、手を動かすのが一番の近道です。
【PR】手を動かして学びたい方へ
概念は分かったけど、実際に作れるようにならないと意味ないよね? ということで、演習ベースで学べる講座を用意しています。
Udemy講座を割引価格で受講する
- 全講座が演習型:読むだけ・見るだけでは終わらせません
- 手を動かしながらエージェント・テスト・実装力が身につく設計
- 上記リンクから割引価格で購入可能
今日読んだMAFを、来週には自分の手で動かしている——そんな学習体験を作りたい方は、ぜひ覗いてみてください。
この記事が役に立ったら、ストックといいねをよろしくお願いします。
コメントでMAFで作ってみたものもぜひ教えてください。