Important
Microsoft Agent 365 の早期アクセスを利用するには、フロンティア プレビュープログラムに参加する必要があります。 フロンティアは、Microsoft の最新の AI イノベーションと直接接続します。 Frontier のプレビューは、お客様の契約書に記載されている既存のプレビュー利用規約に従います。 これらの機能は現在開発中であるため、提供状況や機能は今後変更される可能性があります。
このクイックスタートでは、Agent 365 を使用して Python エージェントフレームワークを設定し、ツール、通知、可観測性を実装する方法を説明します。また、エージェント プレイグラウンドおよび 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 . --prerelease=allowGitHub へのアクセス既存の AI エージェント プロジェクト。 このクイック スタートでは、Microsoft 365 エージェント ツールキット VS Code の ATK とも呼ばれるエージェント 365 サンプル エージェントを使用します。
Microsoft 365 Agents Toolkit からエージェント フレームワークと Python サンプルを設定する
すべてを準備するには、VS Code に Microsoft 365 Agents Toolkit をインストールし、サンプル ギャラリーを開き、エージェント フレームワークと Python サンプルをローカルにスキャフォールディングして、後で構成して実行できるようにします。 以下のスクリーンショットは、操作を進める際に表示される内容の例を示しています。
Visual Studio Code を開いたら、Ctrl Shift X を押して、Extensions パネルを開きます。検索バーに、Agents Toolkit と入力します。
結果が次のスクリーンショットのように表示されます。
Microsoft 365 Agents Toolkit を選択します。
インストールを選択します。
VS Code には、次のような拡張機能の詳細ビューが表示されます。
インストールすると、左側のナビゲーション バーに M365 Agents Toolkit アイコンが表示されます。
これを選択して、ウェルカム エクスペリエンスを開きます。
次に示すように、宣言型エージェントの構築、新しいエージェント/アプリの作成、サンプルの表示などのオプションが表示されます。
サンプルの表示を選択します。
サンプルの一覧で、スクロールして Agent framework + Python エージェント サンプルを見つけます。
それを選択します。
Create (ローカルでスキャフォールディング) または View on GitHub の 2 つの選択肢があります。
[作成] を選択します。
Pythonサンプルを使用したAgent 365 SDKによるエージェントフレームワークエージェントのスクリーンショット プロンプトが表示されたら、サンプルを生成するマシン上のフォルダを選択してください。 例:
C:\A365-python-sampleこのツールキットは、エージェント フレームワーク + Pythonサンプルをサブフォルダー (sample_agent など) にスキャフォールディングし、VS Code で自動的に開きます。
スキャフォールディングが完了すると、完全に機能するエージェント フレームワーク + Python エージェント プロジェクトがマシン上に作成されました
必須の Agent 365 パッケージをインストールする
サンプルを実行する前に、プロジェクト内の
pyproject.tomlを開き、必要なすべての Agent 365 と Agent Framework の依存関係が一覧表示されていることを確認します。 Microsoft 365 Agents Toolkit によって生成されたサンプルには、既にこれらのエントリが含まれています。pyproject.tomlを確認したら、次のコマンドを実行してすべてをインストールしてください:
uv pip install -e . --prerelease=allowこれにより、すべての Agent 365 SDK ライブラリ、Agent Framework の依存関係、ホスティング コンポーネント、およびサンプルで定義されているその他の依存関係がダウンロードされます。
インストール後、次のコマンドを使用して開発サーバーを起動して、プロジェクトのビルドと実行を確認します。
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 + エージェント フレームワーク のサンプルに必要な完全な可観測性のセットアップです。 監視に関する詳細
エージェントをテストする
必要な環境変数を設定し、認証モードを選択して、エージェントをローカルで起動します。 エージェントを発行して 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でエージェントのブループリントを設定しなければなりません。 Developer Portalでエージェントブループリントの設定方法を学びましょう
公開されたエージェントは、次のページで確認できます: https://admin.cloud.microsoft/#/agents/all