通过


快速入门:设置并运行 JavaScript Claude 代理 SDK 示例代理

重要

需要成为 Frontier 预览计划的一部分,才能获得 抢先体验Microsoft Agent 365。 边界将你直接与Microsoft最新的 AI 创新联系起来。 Frontier 预览版受客户协议中现有预览条款的约束。 由于这些功能仍在开发中,其可用性和功能可能会随时间而变化。

在本快速入门中,我们将逐步介绍如何使用 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,然后选择 安装

    Extensions Marketplace 搜索 Agents Toolkit 的屏幕截图。

  2. 从 VS Code 活动栏中打开 M365 代理工具包视图,然后选择“查看示例”。

    工具包欢迎视图的屏幕截图,其中包含生成声明性代理、创建新代理或应用以及查看示例选项。

  3. 选择 Claude + Node.js示例,选择创建,然后选择或创建项目应搭建基架的文件夹(例如,C:\A365-Ignite-Demo)。 该工具包创建一个子文件夹(例如 sample_agent),并在 VS Code 中打开它。

    代理工具包示例的屏幕截图。克洛德示例被聚焦。

基架完成后,你有一个可运行的项目。 后续步骤将发生在新的示例文件夹中。

安装依赖项并配置环境

生成的 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 可以直接调用 Microsoft 365 工具,并符合 Claude 代理计划中定义的技能。

使用 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 示例所需的完整可观测性设置。 将占位符元数据替换为已为智能体配置的值。 详细了解可观测性

测试您的智能体

设置所需的环境变量,选择身份验证模式,并在本地启动代理。 可以在不需要 Microsoft 365 租户的情况下,使用 Agents Playground 进行所有的端到端测试,除非你想发布代理并在 Teams 或 Outlook 等应用中使用它。

测试步骤概述

  • 将你的 ANTHROPIC_API_KEY 设置和模型设置添加到 .env 文件中,以便示例可以与 Claude 通信。
  • 选择身份验证方法 对于本地开发,此示例使用从代理蓝图创建的值支持代理身份验证。
  • 在本地启动智能体,以将其显示给智能体操作等工具。
  • 使用 Agents Playground 测试消息、工具和通知,而无需设置租户或部署任何内容。
  • 当您准备好进行实际测试时,请发布一个 Microsoft 365 租户,并在 Teams、Outlook 或其他 Microsoft 365 界面中测试该智能体。

了解有关测试的详细信息

发布您的智能体

当代理准备好体验实际的 Microsoft 365 应用,例如 Teams 聊天、Outlook 消息或 Word @mentions 时,可以将其发布到 Microsoft 365 租户。 Agent 365 CLI publish 命令负责打包:它更新你的清单,打包所有内容,并将代理上传到 Microsoft 管理中心。

在发布期间,在完成上传之前,查看并自定义代理的名称、说明、图标和版本。 发布后,您的代理会在租户中可被发现并安装。

重要

发布代理后,你必须在开发者门户中配置代理蓝图,然后再创建实例。 了解如何在开发者门户中配置代理蓝图

您可以在此处查看已发布的智能体:https://admin.cloud.microsoft/#/agents/all

详细了解完整的工作流和分步说明