次の方法で共有


クイックスタート: JavaScript Claude エージェント SDK サンプル エージェントの設定と実行

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

前提条件

Microsoft 365 Agents Toolkit から Claude + Node.js サンプルを設定する

準備を整えるには、VS CodeにMicrosoft 365 Agents Toolkit をインストールし、サンプルギャラリーを開き、Claude + Node.js サンプルをローカルにスキャフォールディングします。これにより後で構成と実行が可能になります。 次のスクリーンショットは、フロー内を移動するときに想定される内容を示しています。

  1. Visual Studio Code で、拡張機能 パネル (Ctrl+Shift+X) を開き、Microsoft 365 Agents Toolkit を検索し、インストール を選択します。

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

  2. VS Code アクティビティ バーから M365 Agents Toolkit ビューを開き、サンプルの表示を選択します。

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

  3. Claude + Node.js サンプルを選択し、作成を選択し、プロジェクトをスキャフォールディングするフォルダー (C:\A365-Ignite-Demo など) を選択 (または作成) します。 ツールキットはサブフォルダー (sample_agent など) を作成し、VS Code で開きます。

    Claude サンプルをフォーカスしたエージェント ツールキットのサンプルのスクリーンショット。

スキャフォールディングが完了すると、実行可能なプロジェクトが作成されます。 次の手順は、新しいサンプル フォルダー内で行われます。

依存関係をインストールして、環境を構成する

生成された package.json には、サンプルに必要なパッケージが既に一覧表示されているため、すべてを 1 つのパスにインストールします。

npm install

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

npm run dev

開発サーバーはサンプル (既定では localhost:3978) で構成されたポートで待機し、Agents Playground または CLI からの要求を受け付ける準備が完了します。

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

CLI の a365 開発コマンドを使用することで、MCP サーバーを探索および管理できます。 @microsoft/agents-a365-tooling-extensions-claude パッケージはこれらの MCP サーバーを Claude オーケストレーターに接続します。これによって、Agent SDK が Claude のエージェント プランで定義されたスキルに沿って Microsoft 365 ツールを呼び出せるようになります。

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 のすべての通知を購読し、それらを 1 つのハンドラーにルーティングします。 このハンドラーにより、エージェントは直接的なユーザー メッセージだけでなく、バックグラウンドやシステム イベントにも反応できるようになります。

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

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

constructor() {
  super();

  this.onAgentNotification("agents:*", async (context, state, activity) => {
    await this.handleAgentNotificationActivity(context, state, activity);
  });
}

async handleAgentNotificationActivity(context, state, activity) {
  await context.sendActivity("Received an AgentNotification!");

  // Add custom handling here
}

監視

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

import {
  InferenceOperationType,
  InferenceScope,
  ObservabilityManager
} from '@microsoft/agents-a365-observability';

const sdk = ObservabilityManager.configure(b =>
  b.withService('<service-name>', '<version>')
);

sdk.start();

async invokeAgentWithScope(prompt: string) {
  const scope = InferenceScope.start(
    {
      operationName: InferenceOperationType.CHAT,
      model: '<llm-name>'
    },
    {
      agentId: '<agent-id>',
      agentName: '<agent-name>',
      conversationId: '<conv-id>'
    },
    { tenantId: '<tenant-id>' }
  );

  const response = await this.invokeAgent(prompt);
  scope?.recordInputMessages([prompt]);
  scope?.recordOutputMessages([response]);
  scope?.recordResponseId(`resp-${Date.now()}`);
  return response;
}

このコードは、Node.js + Claude サンプルに必要な完全な可観測性のセットアップです。 プレースホルダーのメタデータを、エージェント用に既に構成済みの値で置き換えます。 監視に関する詳細

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

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

テスト手順の概要

  • ANTHROPIC_API_KEY とモデル設定を .env ファイルに追加し、サンプルが Claude と通信できるようにします。
  • 認証モードを選択します。 ローカル開発では、サンプルは 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

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