次の方法で共有


クイックスタート: Python Agent Framework サンプル エージェントの設定と実行

このクイックスタートでは、Microsoft Agent 365 のツール、通知、可観測性を使用して動作する Python Agent フレームワーク エージェントの設定手順について説明し、Agents Playground と Teams を使用してエージェントのテストを行います。

前提条件

  • Visual Studio Code を使用する場合は、.NET がインストールされている必要があります。 (.NET 8.0 が推奨されています。)

  • Python 3.11 以降がインストールされている

  • UV パッケージ マネージャーがインストールされている。 pip install uv を使用してターミナルにこれをインストールします。

  • Microsoft Agents Toolkit/Agent Framework の依存関係

    このチュートリアルで使用するサンプルは、Microsoft 365 Agents Toolkit (ATK) を通じて提供される Agent Framework ライブラリに依存しています。 VS Code の「Agents Toolkit」拡張機能を使用してサンプルをスキャフォールディングする場合、これらは自動的にインストールされます。または、次のコマンドを使用してパッケージを手動でインストールすることもできます:

    uv pip install -e . --find-links ../dist --pre
    
  • GitHub へのアクセス

  • 既存の AI エージェント プロジェクト。 このクイックスタートでは、Microsoft 365 エージェント ツールキット (ATK) の Agent 365 サンプル エージェントを VS Code で使用します。

  • A365 CLI

  • エージェント ID 認証

Microsoft 365 Agents Toolkit から Agent Framework と Python サンプルを設定する

準備するには、VS CodeにMicrosoft 365 Agents Toolkit をインストールし、サンプルギャラリーを開き、Agent Framework と Python サンプルをローカルにスキャフォールディングします。これにより、後で構成して実行できるようになります。 以下のスクリーンショットは、操作を進める際に表示される内容の例を示しています。

  1. Visual Studio Code を開き、Extensions パネルを開きます (Ctrl+Shift+X)。

  2. 検索バーに、Agents Toolkit と入力します。
    結果が次のスクリーンショットのように表示されます。

    Agents Toolkit の Extensions Marketplace 検索のスクリーンショット。

  3. Microsoft 365 Agents Toolkit を選択します。

  4. インストールを選択します。

    VS Code には、次のような拡張機能の詳細ビューが表示されます。

    インストール ボタンと有効化ボタンが表示された拡張機能の詳細ページのスクリーンショット。

  5. インストールすると、左側のナビゲーション バーに M365 Agents Toolkit アイコンが表示されます。

  6. これを選択して、ウェルカム エクスペリエンスを開きます。

    次に示すように、宣言型エージェントの構築新しいエージェント/アプリの作成サンプルの表示などのオプションが表示されます。

    宣言型エージェントの作成、新しいエージェントまたはアプリの作成、サンプルの表示オプションを含む Toolkit ウェルカム ビューのスクリーンショット。

  7. サンプルの表示を選択します。

  8. サンプルの一覧で、スクロールして Agent framework + Python エージェントのサンプルを見つけます。

  9. それを選択します。

    Create (ローカルでスキャフォールディングする) と GitHub で表示するの 2 つの選択肢が表示されます。

  10. [作成]を選択します。

    Python のサンプルを使用した A365 SDK と Agent Framework のエージェントのスクリーンショット。

  11. プロンプトが表示されたら、サンプルを生成するマシン上のフォルダを選択してください。 例: C:\A365-python-sample

    ツールキットは、エージェント フレームワークと Python サンプルをサブフォルダ (sample_agent など) に展開し、その後自動的に VS Code で開きます。

    スキャフォールディングが完了すると、マシンに完全に機能するエージェント フレームワークと Python エージェント プロジェクトが作成されます

  12. 必須の Agent 365 パッケージをインストールする

    サンプルを実行する前に、プロジェクト内の package.json を開き、必要なすべての Agent 365 と Agent Framework の依存関係が一覧表示されていることを確認します。 Microsoft 365 Agents Toolkit が生成したサンプルには、既にこれらのエントリが含まれています。

    package.json を確認したら、次のコマンドを実行してすべてをインストールします。

    uv pip install -e
    

    これにより、すべての Agent 365 SDK ライブラリ、Agent Framework の依存関係、ホスティング コンポーネント、およびサンプルで定義されているその他の依存関係がダウンロードされます。

  13. インストール後、次のコマンドを使用して開発サーバーを起動して、プロジェクトのビルドと実行を確認します。

    uv run python start_with_generic_host.py
    

Microsoft 365 ツール (MCP サーバー) を追加する

CLI の a365 開発コマンドを使用することで、MCP サーバーを探索および管理できます。

MCP サーバーを使用すると、次のことができます。

  • 使用可能な MCP サーバーを検出する
  • エージェントの構成に 1 つ以上の MCP サーバーを追加する
  • 現在構成されている MCP サーバーを確認する
  • 不要になった MCP サーバーを削除する

MCP サーバーが追加されると、エージェントのツール マニフェストが拡張され、次のようなエントリが含まれます。

{
   "mcpServers": [
      {
         "mcpServerName": "mcp_MailTools",
         "mcpServerUniqueName": "mcp_MailTools",
         "scope": "McpServers.Mail.All",
         "audience": "api://00001111-aaaa-2222-bbbb-3333cccc4444"
      }
   ]
}

ツールの追加と管理する方法について説明します

通知サブスクリプションと処理

サンプル エージェントは、onAgentNotification("*") を使用して Agent 365 SDK のすべての通知を購読し、それらを 1 つのハンドラーにルーティングします。 このハンドラーにより、エージェントは直接的なユーザー メッセージだけでなく、バックグラウンドやシステム イベントにも反応できるようになります。

エージェントに通知する方法について説明します

次のコードは、agent.py ファイルでの通知の構成方法を示しています。

if notification_type == NotificationTypes.EMAIL_NOTIFICATION: 
if not hasattr(notification_activity, "email") or not notification_activity.email: return "I could not find the email notification details."
email = notification_activity.email
email_body = getattr(email, "html_body", "") or getattr(email, "body", "")

message = (
    "You have received the following email. "
    "Please follow any instructions in it. "
    f"{email_body}"
)

result = await self.agent.run(message)
return self._extract_result(result) or "Email notification processed."

監視

このスニペットは、サンプルで監視機能を有効にするために必要となる最小限の変更を示しています。 Agent 365 Observability SDK を初期化し、各エージェント呼び出しを InferenceScope でラップすることで、入力、出力、メタデータを自動的にキャプチャできるようになります。

以下のコードは、agent.py ファイルにおける簡素化された可観測性の例を示しています。

def _enable_agentframework_instrumentation(self): 
"""Enable Agent Framework instrumentation.""" 
try: 
AgentFrameworkInstrumentor().instrument() 
logger.info("✅ Instrumentation enabled")
 except Exception as e: 
logger.warning(f"⚠️ Instrumentation failed: {e}")

このコードは、Python +Agent Framework のサンプルに必要な完全な可観測性のセットアップです。 監視に関する詳細

エージェントをテストする

必要な環境変数を設定し、認証モードを選択して、エージェントをローカルで起動します。 エージェントを発行して Teams や Outlook などのアプリで使用する場合を除き、Microsoft 365 テナントがなくても、Agents Playground でエンド ツー エンドのテストをすべて実行できます。

テスト手順の概要

  • API キーとモデル設定を .env ファイルに追加し、サンプルが LLM と通信できるようにしてください。
  • 認証モードを選択します。 ローカル開発では、サンプルは Agent Blueprint から作成された値を使用したエージェント型認証をサポートします。
  • エージェントをローカルで起動し、Agents Playground などのツールに公開します。
  • Agents Playground を使用して、テナントの設定や何かを展開することなく、メッセージ、ツール、通知をテストできます。
  • 運用環境での動作準備が整ったら、Microsoft 365 テナントを公開し、Teams、Outlook、またはその他の Microsoft 365 インターフェース内でエージェントをテストします。

テストの詳細情報

エージェントを公開する

エージェントが Teams チャット、Outlook メッセージ、Word @mentions などの実際の Microsoft 365 エクスペリエンスの準備ができたら、Microsoft 365 テナントに公開します。 Agent 365 CLIpublish コマンド はパッケージングを処理します。マニフェストを更新し、すべてをバンドルし、エージェントを Microsoft 管理センターにアップロードします。

公開中に、アップロードを完了する前に、エージェントの名前、説明、アイコン、バージョンを確認してカスタマイズします。 公開されると、エージェントはテナント内で検出可能となり、インストール可能になります。

Important

エージェントを公開した後は、インスタンスを作成する前にDeveloper Portalでエージェントのブループリントを設定しなければなりません。 開発者 ポータルのエージェントブループリント構成を参照してください。

公開されたエージェントは、次のページで確認できます: https://admin.cloud.microsoft/#/agents/all

完全なワークフローと詳細な手順について