AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

Microsoft Agent Frameworkとは?使い方、料金、主要機能を解説

この記事のポイント

  • Microsoft Agent Frameworkは、Semantic KernelとAutoGenを統合した後継のオープンソース開発キット
  • 個々のAIエージェント構築と、複数のエージェントが連携する複雑なワークフローの両方をサポート
  • Human-in-the-Loopやチェックポイントなど、実行時間の長いタスクや人間の承認を伴うプロセスに対応
  • 無料で利用可能だが、連携するLLMやホスティングサービスのコストは別途必要
  • タスク遵守、プロンプトシールド、PII検出といったResponsible AI機能もプレビュー提供され、安全な運用を支援
坂本 将磨

監修者プロフィール

坂本 将磨

XでフォローフォローするMicrosoftMVP

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。


「AIエージェントを自社開発したいけど、どのフレームワークを選べばいいかわからない」「Semantic KernelとAutoGen、結局どっちを使えばいいの?」
そんな開発者の悩みに終止符を打つべく、Microsoftは両者の強みを統合した後継フレームワーク「Microsoft Agent Framework」を発表しました。
本記事では、この新しい「Microsoft Agent Framework」について、その全貌を徹底的に解説します。
Semantic KernelとAutoGenからの進化点、主要機能、具体的な使い方、そして企業利用で不可欠なResponsible AI機能まで、詳しくご紹介します。

Microsoft Agent Frameworkとは?

Microsoft Agent Framework
Microsoft Agent Framework

Microsoft Agent Frameworkとは、.NETおよびPython用のAIエージェントとマルチエージェントワークフローを構築するためのオープンソース開発キットです。

Agent Frameworkは、AIエージェントとマルチエージェントオーケストレーション(複数の処理の連携)の概念を開拓したSemantic KernelAutoGenという2つのプロジェクトからアイデアをまとめ、拡張した後継フレームワークです。AIエージェントを構築するための統合基盤として、幅広い開発シーンで活用が期待されています。


Semantic KernelとAutoGenとは?

Semantic KernelとAutoGen
Semantic KernelとAutoGen

Microsoft Agent Frameworkを深く理解するために、まずその前身となった2つの主要プロジェクト、Semantic KernelとAutoGenについてご説明します。

Semantic Kernelとは

Semantic Kernelは、エンタープライズ向けのAIオーケストレーションに特化したSDKです。主な強みは、本番環境で求められる堅牢な機能群にあります。

具体的には、スレッドベースの厳密な状態管理、データ型チェックによる安全性、フィルタ機能、リモート監視やデータ収集、そして幅広いモデルや埋め込みのサポートなど、エンタープライズレベルの機能が充実していました。

AutoGenとは

AutoGenは、複数のAIエージェントが協調して動作するマルチエージェントシステムの構築とオーケストレーションに特化したライブラリです。

単一エージェントおよびマルチエージェント向けのシンプルなパターンを備えている点が強みで、開発者は複雑なエージェント間の対話や協調動作を迅速に実験し、構築することができました。

Agent Frameworkが提供された理由

Agent Frameworkは、Semantic Kernelが持つ本番環境向けの堅牢性と、AutoGenが持つマルチエージェントの柔軟性とシンプルさを統合するために開発されました。

さらに、単に両者を統合するだけでなく、Semantic KernelやAutoGenでは対応が難しかった新しい要件にも対応しています。具体的には、実行時間の長いタスクや、プロセス中に人間の承認や入力を必要とするタスクに対応するため、より堅牢な状態管理システムが導入されました。詳しくは、次のセクションでご説明します。

Semantic KernelとAutoGenの今後の方向性

重要な戦略転換として、Microsoftは2025年10月、Semantic KernelおよびAutoGenをメンテナンスモードに移行させることを発表しました。これにより、両フレームワークは引き続きセキュリティパッチとバグ修正を受け取りますが、新機能の開発はMicrosoft Agent Frameworkに一本化されます。

既存のSemantic Kernel v1.xおよびAutoGenを使用しているプロジェクトは当面サポートされますが、新しい要件や機能拡張を必要とする場合は、Microsoft Agent Frameworkへの移行を検討する必要があります。


Microsoft Agent Frameworの主要機能と基本構成要素

Microsoft Agent Frameworkは、主にAIエージェントとワークフローという2つの主要な機能と、それらを支える基本的な構成要素に大別されます。以下で、主な機能のカテゴリをご説明します。

AI エージェント(個々の実行単位)

これは、タスクを実行する個々のAIエージェントそのものを指します。Agent FrameworkにおけるAIエージェントは、以下の処理を行います。

  1. LLM(大規模言語モデル)を使用して、ユーザーからの入力(プロンプト)を処理し、理解します。

  2. タスクの実行に必要な場合、事前定義されたツールやMCP (Model Context Protocol) サーバーを呼び出し、外部のアクション(例:天気予報APIの実行、データベースからの情報取得、ファイルの読み書きなど)を実行します。


  1. 処理結果とLLMの能力に基づき、最終的な応答を生成します。

ワークフロー(複数のエージェントの連携)

ワークフローは、複数のエージェントや関数を接続し、複雑なマルチステップのタスクを実行するための仕組みです。従来のAIエージェントが自律的なプランニングに依存していたのに対し、Agent Frameworkのワークフローはグラフベースのアーキテクチャを採用しています。

これにより、開発者は処理の順序、分岐、並行処理といった実行パスを明示的に制御できます。このアプローチは、ビジネスシーンにおいて高い信頼性と監査性が求められる場合に特に有効です。

ワークフロー機能は、以下のようなタスクをサポートします。

  • 実行時間の長いプロセス:数時間から数日にわたるタスクの実行状態を管理します。

  • Human-in-the-Loop:処理の途中で人間の承認、修正、または追加の入力を組み込むことができます(例:経費申請の承認フロー)。

Human-in-the-Loopのコード例
async def handle_approvals(query: str, agent) -> str:
    current_input = query

    while True:
        result = await agent.run(current_input)

        if not result.user_input_requests:
            # これ以上承認は不要なため、最終結果を返す
            return result.text

        # すべてのコンテキストを含む新しい入力を作成する
        new_inputs = [query]

        for user_input_needed in result.user_input_requests:
            print(f"承認が必要な関数: {user_input_needed.function_call.name}")
            print(f"引数: {user_input_needed.function_call.arguments}")

            # 承認リクエストを含むアシスタントメッセージを追加する
            new_inputs.append(ChatMessage(role=Role.ASSISTANT, contents=[user_input_needed]))

            # ユーザーの承認を取得する
            user_approval = True

            # ユーザーの承認応答を追加する
            new_inputs.append(
                ChatMessage(role=Role.USER, contents=[user_input_needed.create_response(user_approval)])
            )

        # すべてのコンテキストを引き継いで続行する
        current_input = new_inputs


  • 高度な制御
    型ベースのルーティング(データの種類に応じた処理分岐)、入れ子構造(ワークフロー内に別のワークフローを組み込み)、チェックポイント処理(処理の途中で状態を保存し、障害時にそこから再開する)といった機能をサポートしています。

基本的な構成要素 (開発の基盤)

上記のAIエージェントやワークフローを円滑に構築するため、Agent Frameworkは再利用可能なビルディングブロックを提供しています。以下は主な構成要素です。

  • モデルクライアント:LLMとのチャット通信や応答処理を担います。

  • エージェントスレッド:会話の履歴や文脈(コンテキスト)を保持するための状態管理機能です。これはSemantic Kernelのスレッドベースの状態管理機能を受け継いでいます。

エージェントスレッドのコード例
async def main():
    thread = agent.get_new_thread()

    result1 = await agent.run("A社向けの提案資料の導入を提案して.", thread=thread)
    print(result1.text)

    result2 = await agent.run("現在の課題に関連させた導入に修正して.", thread=thread)
    print(result2.text)

asyncio.run(main())


  • コンテキストプロバイダーエージェントのメモリや、RAG(検索拡張型生成)のために必要な外部知識を提供します。


  • ミドルウェア:エージェントのアクションを途中で捕捉する仕組みです。これにより、開発者はエージェントのコアロジックを変更することなく、ログ記録、フィルタリング、承認フローなどの共通処理を挿入できます。


これらのコンポーネントを組み合わせることで、開発者は、インタラクティブで安全性の高いAIアプリケーションを柔軟に構築できます。


Microsoft Agent Frameworkの料金

Microsoft Agent Frameworkはオープンソースとして提供されており、無料で利用可能です。

ただし、Azure AI Foundryなどのクラウドサービスと連携して利用する場合は、それらのサービスに対して別途課金が発生する可能性があります。Agent Framework自体は無料ですが、利用するLLM(Azure OpenAI、OpenAIなど)やホスティングサービスのコストは別途計上が必要です。

最新情報は、Microsoft Agent Framework公式リポジトリをご覧ください。


Microsoft Agent Frameworkの使い方

それでは、実際にMicrosoft Agent Frameworkを利用開始する手順をご説明します。

前提条件

Python環境の場合:Python 3.10以降

.NET環境の場合:.NET SDK 8.0以降

インストール

Python環境の場合、以下のコマンドを実行することで、Agent Frameworkをインストールできます。

pip install agent-framework

.NET環境の場合は、以下のコマンドを実行してください。

dotnet add package Microsoft.Agents.AI

基本的な使い方

エージェントを作成し、実行する基本的なコード例を以下に示します。

エージェントの作成コード例
import asyncio
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential

async def main():
    # エージェントの設定
    agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
        name="",    # エージェントの名前
        instructions=""   # エージェントの説明
    )

    # エージェントの実行
    response = await agent.run("")    # プロンプト
    print(result.text)

if __name__ == "__main__":
    asyncio.run(main())


より詳細なチュートリアルやサンプルコードは、Microsoft Agent Framework公式ドキュメントをご覧ください。

次のセクションでは、より実践的な使い方をサンプルコードと併せてご説明します。


Microsoft Agent Frameworkの活用デモ

このセクションではMicrosoft Agent Frameworkを活用し、外部ツールと連携して気象情報を取得するエージェントのデモを行います。

まずは上記のセクションに沿ってMicrosoft Agent Frameworkをセットアップします。

以下は、httpxを使用してWeatherAPIを非同期で呼び出し、必要な情報を抽出する関数です。APIキーは環境変数 WEATHER_API_KEYとして設定します。

天候を取得する関数のコード例
async def get_weather(
location: Annotated[str, Field(description="天気予報を取得したい都市名。例: '東京', 'サンフランシスコ'")]
) -> str:
    """
    指定された場所の現在の気象情報を取得します。
    """
    api_key = os.environ.get("WEATHER_API_KEY")

    base_url = "http://api.weatherapi.com/v1/current.json"
    params = {"key": api_key, "q": location, "aqi": "no"}

    async with httpx.AsyncClient() as client:
        response = await client.get(base_url, params=params)

    data = response.json()
    
    # 必要なデータを抽出
    loc_name = data.get("location", {}).get("name", "不明な場所")   # 都市
    condition = data.get("current", {}).get("condition", {}).get("text", "不明")    # 天気
    temp_c = data.get("current", {}).get("temp_c", "N/A")   # 気温


続いて、以下のコードでエージェントを定義します。ChatAgentクラスに先ほど作成したget_weatherを登録します。

エージェントを設定するコード例
async def main():
    # エージェントの設定
    agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
        name="weather_agent_demo",
        instructions="あなたは役立つアシスタントです。ユーザーから天気を尋ねられた場合は、利用可能な`get_weather`ツールを積極的に使用して、具体的で実用的な回答を提供してください。"
    )

    # tools引数に、定義したPython関数オブジェクトをリストとして渡す
    weather_agent = ChatAgent(
        chat_client=chat_client,
        instructions=agent_instructions,
        tools=[get_weather]  # ツールを登録
    )

    # エージェントの実行
    response = await agent.run("大阪の天気はどうですか?")    # プロンプト
    print(result.text)

if __name__ == "__main__":
    asyncio.run(main())


実際にエージェントを実行し、「大阪の天気はどうですか?」というプロンプトに対して、以下の結果が得られました。

大阪の現在の天気は曇り、気温は18.0°Cです。


上記のように、事前定義した関数を自律的に選択し、自動で実行するエージェントを作成できます。


Microsoft Agent Framework運用上のベストプラクティス

Microsoft Agent Frameworkを活用し、堅牢で信頼性の高いAIエージェントを構築するためには、いくつかのベストプラクティスがあります。このセクションでは、代表的な3つの機能をご説明します。

ガードレールと承認

AIエージェントは自律的に動作するため、「一定金額を超える決済の実行」や「本番環境のデータベースの削除」といった操作を、開発者の意図しないタイミングで実行してしまうリスクがあります。

Agent Frameworkでは、このような操作に対して、承認/拒否のフローを標準の機能として提供します。これにより、AIエージェントによる意図しない操作を防ぐことができます。

グラウンディング

LLMは、ハルシネーションと呼ばれる事実に基づかない情報を生成することがあります。グラウンディングは、エージェントに必要な場合にのみ、RAGを実行するためのベクトル検索や、社内データベースなどの構造化データを参照させ、回答を裏付けする技術です。

Agent Frameworkは、グラウンディング機能を柔軟に追加・削除できるため、不要な場合はエージェントを軽量に保ち、必要な場合はエージェント処理の正確性を向上させることができます。

オブザーバビリティ

AIエージェントの意思決定プロセスは複雑で、しばしばブラックボックスと見なされます。エージェントが期待通りに動作しない場合、オブザーバビリティがなければ、問題の特定は困難です。

オブザーバビリティ機能は、デバッグや障害発生後の事後分析に不可欠です。Agent Frameworkでは、OpenTelemetryなどをサポートしています。


Microsoft Agent Frameworkのユースケース

このセクションでは、Microsoft Agent Frameworkで構築したAIエージェントの活用が期待できる具体的な例をご紹介します!

従業員の出張手配エージェント

従業員が「来週、東京へ出張」と指示するとエージェントが起動し、定義されたワークフローに従って、フライト検索ツール、ホテル予約ツール、社内経費システムを順次呼び出して手続きを自動化します。

費用が規定額を超える場合はガードレールが作動して上司に承認依頼を送り、承認が得られると予約が確定します。

旅行サポートエージェント

顧客から「予約情報を確認したい」と依頼された場合、エージェントはまず顧客認証を行い、認証後にツールを呼び出してデータベースから予約情報を取得して提示します。

さらに顧客が「フライトを変更したい」と追加で依頼した際も、会話の文脈を維持したまま必要な承認や確認を行い、予約内容の変更という実務タスクを完了させます。

専門的な分析と開発支援

開発リポジトリに新しいIssueが作成されると、エージェントが内容を確認します。まず分類エージェントを呼び出して、Issueを「バグ報告」「機能要望」などに振り分ます。

次に、RAGエージェントで過去の類似Issueをベクトル検索して関連情報でグラウンディングします。最後に、これらの結果をもとに、対応に適した担当者候補を自動で提案します。


Microsoft Agent FrameworkのResponsible AI機能

2025年10月のリリースに合わせて、MicrosoftはResponsible AI機能のパブリックプレビューを提供開始しました。企業のAIガバナンスを強化するために設計された以下の3つの機能があります。

タスク遵守(Task Adherence)

エージェントが割り当てられたタスクから逸脱しないよう監視する機能です。エージェントが意図しない目的でツールを呼び出すことを防止し、タスク焦点の維持と予期しない動作の防止を実現します。

プロンプトシールド(Prompt Shields with Spotlighting)

プロンプトインジェクション攻撃に対する防御を提供します。悪意あるユーザーが巧妙に指示を埋め込もうとする試みを検出し、エージェントの堅牢性を向上させます。Spotlighting機能により、検出された攻撃の詳細情報が提供され、セキュリティ監視が容易になります。

PII検出(PII Detection)

エージェントが処理する情報から、個人識別情報(PII:名前、メールアドレス、クレジットカード番号など)を自動的に検出・分類します。これにより、機密データの不用意な外部送信を防ぎ、GDPR等の規制要件への対応を支援します。

これらのResponsible AI機能は、特に金融、ヘルスケア、法務といった規制が厳しい業界でのAgent Framework導入を促進する重要な機能です。


Microsoft Agent Framework導入時の注意点と制限事項

Microsoft Agent Frameworkは、AIエージェント開発の強力な基盤ですが、特に企業での導入を検討する上で、把握しておくべき重要な注意点と制限事項があります。ここでは、特に注意が必要なポイントをご説明します。

パブリックプレビュー段階であること

Agent Frameworkは、2025年10月1日にパブリックプレビューとしてリリースされました。Microsoftは、GitHubリポジトリを通じて、開発者コミュニティからの積極的なフィードバックを求めています。

Microsoftは2026年第1四半期末までにAgent Framework 1.0の一般提供(GA)を目指していることを公式に発表しており、その時点で安定したAPIと本番環境向けのサポート体制が整備される見通しです。

現在のパブリックプレビュー期間中は、将来のアップデートで、APIが変更されたり、互換性のない破壊的変更が含まれる可能性があるため、本番環境への導入は、これらのリスクを理解した上で慎重に評価する必要があります。

サードパーティ連携におけるデータコンプライアンスの責任

Agent Frameworkを使用して、サードパーティのサーバーやエージェントと連携するアプリケーションを構築する場合、その実行は利用者の自己責任となります。

AIエージェントは自律的にツールを呼び出すことができますが、開発者が予期しない形で機密データがプロンプトに含まれ、組織のコンプライアンス境界や地理的境界の外(例:GDPRや国内法規制の管轄外にあるサーバー)に送信されるリスクがあります。

開発者は、エージェントが外部とどのようなデータを共有しているかを厳密に監視し、必要に応じてガードレールを実装して、機密データの外部送信を制御する仕組みを構築する必要があります。

AIエージェントの適用限界

定義済みのルールに厳密に従う必要があるタスクや、簡潔にプログラムできるタスクにAIエージェントを適用することは避けましょう。

これらのタスクにAIエージェントを使用すると、不必要なコストの発生、応答時間の遅延、そしてAIのハルシネーションによる不確実性といった問題を引き起こす可能性があります。


バックオフィス業務をAIで自動化 AI Agent Hub

AI Agent Hub

Microsoft Teams上でAIエージェントが業務を代行

経費精算・請求書処理をAIが自動実行。インボイス制度・電帳法にも対応し、金融機関レベルのセキュリティで安心導入。

まとめ

本記事では、Semantic KernelとAutoGenの特徴を統合したMicrosoft Agent Frameworkの概要、主要機能、具体的な利用手順、実務での活用例、そして導入時の注意点について解説しました。

Agent Frameworkは、2025年10月にパブリックプレビューとしてリリースされた、AIエージェントとマルチエージェントワークフローを構築するためのオープンソース開発キットです。Microsoftが公式に発表した2026年第1四半期末のGA達成予定により、今後のロードマップが明確になり、企業での導入検討もしやすくなりました。

Agent Frameworkで構築したエージェントは、柔軟性と堅牢性を兼ね備え、複雑なタスクの自動化や効率化を実現します。さらに、Responsible AI機能(タスク遵守、プロンプトシールド、PII検出)により、企業ガバナンスの要件にも対応可能になりました。

一方で、Semantic KernelとAutoGenがメンテナンスモードに移行したことに伴い、既存ユーザーは今後の新機能要件に対してAgent Frameworkへの移行を視野に入れた計画が必要です。また、データコンプライアンスの責任やパブリックプレビュー段階での利用という点は、導入に際して引き続き考慮すべき点です。

企業や開発者がこのフレームワークを活用することで、AI技術をより効果的に実装し、業務プロセスの最適化を図ることが期待されます。本記事を参考に、ぜひ導入を検討して下さい!

AI総合研究所では企業のAIエージェント導入を支援しています。開発・導入支援・研修など、幅広いサービスを提供しています。ぜひお気軽にご相談ください

監修者
坂本 将磨

坂本 将磨

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。

関連記事

AI導入の最初の窓口

お悩み・課題に合わせて活用方法をご案内いたします
お気軽にお問合せください

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!