共用方式為


快速入門:設定並執行JavaScript Claude Agent範例SDK。

在這份快速入門中,將帶你一步步使用 Agent 365 工具設定一個運作中的 JavaScript Claude 代理程式、通知、可觀察性,以及使用 Agents Playground 和 Teams 測試代理程式。

先決條件

從 Microsoft 365 Agents 工具包中設定 Claude + Node.js 範例

要準備好一切,請在 VS Code 安裝 Microsoft 365 代理工具包,打開範例庫,並在本地架設 Claude + Node.js 範例,方便日後設定和執行。 以下截圖展示了你在流程中可以期待的內容。

  1. Visual Studio Code 中,開啟擴充功能面板(按 Ctrl+Shift+X),搜尋 Microsoft 365 代理工具包,然後選擇安裝。

    Agents Toolkit 的 Extensions Marketplace 搜尋截圖。

  2. 從 VS Code 活動列開啟 M365 代理工具包 檢視,選擇 檢視範例

    工具包歡迎檢視截圖,包含建立宣告式代理、建立新代理或應用程式,以及查看範例選項。

  3. 選擇 Claude + Node.js 範例,選擇「建立」,然後選擇(或建立)專案應該搭建支架的資料夾(例如)。 C:\A365-Ignite-Demo 工具包會建立一個子資料夾(例如 sample_agent),並以 VS Code 開啟。

    特工工具包範例截圖。Claude 取樣聚焦。

一旦鷹架完成,你就有一個可執行的專案。 接下來的步驟會在新的樣本資料夾內進行。

安裝及設定開發環境

產生 package.json 的套件已經列出範例所需的套件,所以一次安裝所有套件:

npm install

安裝後,啟動開發伺服器驗證專案是否能建置並執行

npm run dev

開發伺服器會監聽範例中localhost:3978 預設設定的埠口,並準備接受來自 Agents Playground 或 CLI 的請求。

新增 Microsoft 365 工具(MCP 伺服器)

你可以使用 CLI 中的 a365 開發指令 來探索和管理 MCP 伺服器。 該 @microsoft/agents-a365-tooling-extensions-claude 套件將這些 MCP 伺服器接入你的 Claude 編排器,讓代理 SDK 能依照你 Claude 代理計畫中定義的技能呼叫 Microsoft 365 工具。

在使用 MCP 伺服器時,你可以:

  • 了解哪些 MCP 伺服器可供使用
  • 將一台或多台 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 的通知,並將其路由到單一處理器。 此處理器允許代理對背景或系統事件作出反應,而不僅僅是直接的使用者訊息。

了解如何通知代理人

以下程式碼顯示通知在檔案中的 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 可觀察性 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 樣本所需的完整可觀察性設定。 用你已經設定的代理值取代佔位元資料。 了解更多關於可觀察性的資訊

測試您的 Agent

設定必要的環境變數,選擇認證模式,然後在本地啟動代理程式。 你可以用 Agents Playground 端對端測試所有東西,除非你想發佈代理並在 Teams 或 Outlook 等應用程式中使用,否則不需要 Microsoft 365 租戶。

測試步驟概述

  • 把你的 ANTHROPIC_API_KEY 和模型設定加入 .env 檔案,讓樣本能跟 Claude 溝通。
  • 選擇您的驗證方法 在本地開發方面,範例支援使用由代理藍圖建立的值進行代理認證。
  • 在本地啟動代理,讓它接觸像是代理遊樂場這類工具。
  • 使用 Agents Playground 測試訊息、工具和通知,無需設定租戶或部署任何東西。
  • 當你準備好體驗實際行為時,發布一個 Microsoft 365 租戶,並在 Teams、Outlook 或其他 Microsoft 365 表面中測試代理程式。

了解更多關於檢測的資訊

發佈您的 Agent

當你的代理程式準備好使用真正的 Microsoft 365 體驗,如 Teams 聊天、Outlook 訊息或 Word @mentions時,你就會將它發佈給 Microsoft 365 租戶。 Agent 365 CLI publish 指令負責打包:它更新你的清單、打包所有內容,並將代理程式上傳到 Microsoft 管理中心。

發布時,請在完成上傳前,檢視並自訂代理人的名稱、描述、圖示及版本。 一旦發布,你的代理就會在租戶中被發現並安裝。

你可以在這裡查看已發表的代理人: https://admin.cloud.microsoft/#/agents/all

了解更多完整的工作流程與逐步說明