Microsoft Agent Framework(MAF)— Python と .NET で本番 AI エージェントを構築する公式フレームワーク
Microsoft Agent Framework(MAF)— Python と .NET で本番 AI エージェントを構築する公式フレームワーク
ひとことでいうと
Microsoft Agent Framework(MAF)は、Microsoft が公開した AI エージェント構築のための公式フレームワーク(枠組み・ツール群)です。Python と C#/.NET の両方の言語に対応しており、Azure OpenAI・OpenAI・GitHub Copilot SDK など複数の AI サービスを同じ書き方で利用できます。単純な質問応答から、複数の AI エージェントが協力して動く複雑なワークフロー(処理の流れ)まで、一つの仕組みで作れるのが特徴です。プロトタイプ(試作品)から実際の業務システムへの展開まで、同じ設計で対応できるように作られています。開発者がゼロから本番レベルの AI 機能を構築したいときに頼れる、マイクロソフト公式の基盤です。
こんな人におすすめ
業務システムに AI を組み込みたいエンジニア
社内システムや顧客向けアプリに AI アシスタントを追加したいチームに向いています。MAF は「耐久性(システムが途中で止まっても再開できる性質)」「観測可能性(動きを記録・監視できる性質)」を標準装備しているため、実際の業務で安定して動く AI を作りやすいです。Azure(マイクロソフトのクラウドサービス)と連携すれば、インフラを一から構築せずに本番レベルのエージェントを公開できます。
他のフレームワークから乗り換えを検討している開発者
Semantic Kernel や AutoGen(どちらも AI エージェント向けの人気フレームワーク)を使っていて、より統一された仕組みに移行したい方にも最適です。MAF は両フレームワーク向けに公式の移行ガイドを用意しており、既存のコードや設計知識を活かしながらスムーズに切り替えられます。Python と .NET の両方をまたいで使えるのも便利なポイントです。
AI ワークフローを研究・実験したい方
“AF Labs” と呼ばれる実験的なパッケージ群が含まれており、強化学習やベンチマーク(性能測定)など最先端の手法を早い段階で試せます。DevUI(対話型の開発用画面)を使えば、ワークフローの動作をビジュアルで確認・デバッグすることもできます。
インストール・使い方
Step 1: Python 環境のセットアップ
Python 3.10 以上が必要です。ターミナル(文字でコンピューターに命令を送る画面)を開き、以下のコマンドをコピー&ペーストして実行してください。
pip install agent-framework
pip は Python のパッケージ(機能のまとまり)を自動でインストールするツールです。このコマンド一つで、MAF に必要なサブパッケージをまとめてインストールできます。初回は少し時間がかかる場合があります。
.NET(C#)を使う場合は次のコマンドを実行します。
dotnet add package Microsoft.Agents.AI
Azure Foundry(クラウド上でエージェントを管理する基盤)と連携する場合は、追加で以下も必要です。
dotnet add package Microsoft.Agents.AI.Foundry
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity
Step 2: Azure へのサインイン
Python 版のクイックスタートでは Azure CLI(コマンドラインから Azure を操作するツール)でのサインインが必要です。
az login
このコマンドを実行するとブラウザが開き、Azure アカウントへのサインイン画面が表示されます。サインインが完了すると、自動的にターミナルへ戻ります。
Step 3: 最小構成のエージェントを動かす(Python 版)
import os
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main():
agent = Agent(
client=FoundryChatClient(
credential=AzureCliCredential(),
# 環境変数 FOUNDRY_PROJECT_ENDPOINT と
# FOUNDRY_MODEL_DEPLOYMENT_NAME を設定しておく
),
name="HaikuAgent",
instructions="You are an upbeat assistant that writes beautifully.",
)
print(await agent.run("Write a haiku about Microsoft Agent Framework."))
asyncio.run(main())
Agent クラスに名前・指示・接続先(クライアント)を渡すだけで、動く AI エージェントが作れます。asyncio.run は Python で非同期処理(複数の処理を効率よく並べて動かす仕組み)を実行するための書き方です。
デモについて
MAF の実行には、Azure Foundry のプロジェクトエンドポイント(接続先アドレス)か OpenAI の API キーといった外部サービスの認証情報が必須です。そのため、ブラウザだけで動くオンラインデモは現時点では提供されていません。ローカル環境(自分のパソコン)に Azure CLI と有効な Azure アカウントがあれば、上記「インストール・使い方」の手順でそのまま実際のエージェントを動かせます。OpenAI API キーをお持ちの方は FoundryChatClient を OpenAIChatClient に差し替えることでも同様に試せます。
動かしてみた
今回は Python 3.12.13 / Linux 環境でリポジトリの構成を確認しました。リポジトリ(ソースコードの置き場)のトップには python/ と dotnet/ という 2 つの主要ディレクトリがあり、それぞれ独立した設定ファイル(pyproject.toml や agent-framework-dotnet.slnx)を持つ構成です。Python パッケージの管理には uv(高速なパッケージマネージャー)が採用されており、uv.lock ファイルの存在から確認できました。
開発時のセットアップは python/devsetup.sh というスクリプト(一連の命令をまとめたファイル)で一括実行できる構成になっています。サンプルコードは python/samples/ ディレクトリ以下に 01-get-started から 05-end-to-end の 5 段階で整理されており、初歩から順を追って学べる親切な構成です。README に記載の pip install agent-framework コマンドは PyPI(Python パッケージの公式配布サイト)で公開されており、必要なサブパッケージをまとめてインストールできることも確認しています。
はじめの一歩:セットアップのコツ
スムーズに動かすための実践ポイントをまとめます。
- 認証設定を先に済ませる: 最初のつまずきポイントは認証(誰がアクセスしているかの確認)設定です。
az loginで Azure CLI にサインインしてから作業を始めましょう。 - 環境変数を設定しておく:
FOUNDRY_PROJECT_ENDPOINTとFOUNDRY_MODEL_DEPLOYMENT_NAMEの 2 つを.envファイルやexportコマンドで設定しておくと、サンプルコードがそのまま動きます。環境変数とは、プログラムが参照する設定値を OS レベルで保持する仕組みのことです。 - Azure がない場合の代替策: Azure サブスクリプション(契約)がない場合は、
FoundryChatClientをOpenAIChatClientに差し替えることで OpenAI API を使った動作確認が可能です。 - サンプルは番号順に試す:
python/samples/の01-get-startedから始め、番号順に進むと概念が積み上がって理解しやすくなります。 - 開発用 UI を活用する: DevUI を使うとブラウザ上でワークフローの動作を可視化できます。デバッグ(バグ探し・修正)の効率が格段に上がるので、早めに試してみてください。
活用アイデア
- 社内ナレッジ Q&A ボット: Agent Skills(エージェントに機能を追加する仕組み)でファイルや社内ライブラリをナレッジソース(知識の源)として登録し、社内文書に特化した質問応答エージェントを作る。
- 並列リサーチワークフロー: 複数のエージェントが同時並行でそれぞれ異なる情報源を調査し、ハンドオフパターン(エージェント間で処理を引き渡す方式)で結果を集約する調査システムを構築する。
- 承認フロー付き意思決定パイプライン: チェックポイント機能と human-in-the-loop(重要判断の前に人間が確認するステップ)を組み合わせ、重要な決定だけ人間がレビューするワークフローを作る。
- Azure Functions でのサーバーレスデプロイ:
04-hostingサンプルを参考に、Azure Functions(サーバー管理不要のクラウド実行環境)上にエージェントをデプロイし、負荷に応じて自動的に拡張できるバックエンドを構築する。 - 強化学習・ベンチマーク研究: AF Labs パッケージ群を活用して、最新の AI エージェント手法の実験や性能比較をすばやく行える研究環境を整える。
- 既存システムとの統合: Semantic Kernel や AutoGen から MAF へ段階的に移行しつつ、既存の業務アプリに AI エージェント機能を追加していく。
用語とポイント解説
MAF(Microsoft Agent Framework) マイクロソフトが公開した、AI エージェントを作るための公式フレームワーク(枠組み)です。かんたんに言うと「AI エージェントを作るためのマイクロソフト公式の道具箱」です。Python と .NET の両言語に対応しており、プロトタイプから本番運用まで一貫して使える設計になっています。
エージェント(Agent) ユーザーの指示や状況に応じて自律的に行動し、タスクを実行するプログラムのことです。かんたんに言うと「自分で考えて動く AI のプログラム」です。MAF ではエージェントに名前・指示・接続する AI モデルを設定するだけで動く形になっており、複数のエージェントを組み合わせることもできます。
オーケストレーション(Orchestration) 複数のエージェントや処理ステップを連携させ、全体をまとめて管理することです。かんたんに言うと「複数の AI を指揮者のようにまとめて動かす仕組み」です。MAF のグラフベースのワークフローがこれにあたり、逐次・並列・ハンドオフ・グループ協調の 4 パターンをサポートしています。
Azure AI Foundry(Foundry) マイクロソフトのクラウドサービス Azure 上で、AI エージェントのホスティング(運用・管理)を担う基盤です。かんたんに言うと「作ったエージェントをクラウドに置いて動かすためのサービス」です。MAF と組み合わせることで、自前でサーバーを用意せずに本番環境へデプロイできます。
human-in-the-loop(ヒューマン・イン・ザ・ループ) AI の処理フローの中に「人間が確認・承認する」ステップを入れる設計パターンです。かんたんに言うと「重要な判断の手前で人間にチェックしてもらう仕組み」です。自動化を進めつつも、誤りが許されない場面では人の目を介したいときに活用します。
タイムトラベル(Time Travel) ワークフローの過去の状態(チェックポイント)に巻き戻して、そこから処理をやり直す機能です。かんたんに言うと「ゲームのセーブデータを読み込んで途中からやり直す」ようなことを AI ワークフローでもできる仕組みです。本番環境での障害対応やデバッグ(バグ修正)に役立ちます。
Declarative Agent(宣言的エージェント) YAML(設定ファイルを書くための読みやすい形式)でエージェントの動作を定義する方式です。かんたんに言うと「コードを書かずに設定ファイルだけでエージェントを作る方法」です。エンジニア以外の人もエージェントの振る舞いを定義・変更しやすくなる点が魅力です。
OpenTelemetry(オープンテレメトリ) アプリケーションの動作ログ・トレース(処理の追跡)・メトリクス(数値指標)を収集・送信するオープンな標準規格です。かんたんに言うと「AI エージェントが何をしたか、どれだけ時間がかかったかを記録する共通の仕組み」です。MAF はこれを使った分散トレーシングを標準でサポートしており、複雑なマルチエージェントの動作も追いやすくなっています。
AF Labs
MAF リポジトリ内の python/packages/lab/ に含まれる実験的なパッケージ群です。かんたんに言うと「まだ正式版ではないが、最先端の手法を早期に試せる研究用の実験区画」です。強化学習・ベンチマーク・リサーチ用途を想定しており、最新の AI エージェント研究をすばやく試したい方に向いています。
A2A(Agent-to-Agent)
エージェント同士がメッセージや処理結果をやり取りするための通信プロトコル(取り決め・手順)です。かんたんに言うと「AI エージェント間の会話ルール」です。MAF のホスティングサンプル(04-hosting)に実装例があり、複数エージェントが連携するシステムを構築する際の基盤となる仕組みです。
Microsoft Agent Framework は、シンプルな一問一答から、複数 AI が協調する業務ワークフローまで、幅広いスケールに対応できる実践的なフレームワークです。ぜひ社内ナレッジ Q&A ボットの構築や、承認フロー付きの意思決定パイプラインの自動化などに活用してみてはいかがでしょうか。