重要
需要成为 Frontier 预览计划的一部分,才能获得 抢先体验Microsoft Agent 365。 边界将你直接与Microsoft最新的 AI 创新联系起来。 Frontier 预览版受客户协议中现有预览条款的约束。 由于这些功能仍在开发中,其可用性和功能可能会随时间而变化。
在本快速入门中,逐步介绍如何使用 Agent 365 设置工作Python代理框架代理,以便使用 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 . --prerelease=allow访问 GitHub
现有的 AI 代理项目。 本快速入门使用了 Microsoft 365 代理工具包 中的 Agent 365 示例代理,该工具包在 VS Code 中简称为 ATK。
设置 Microsoft 365 Agents Toolkit 中的 Agent 框架和 Python 示例
若要准备好一切,请在 VS Code 中安装 Microsoft 365 Agents Toolkit,打开示例库,并在本地搭建代理框架 + Python示例,以便稍后对其进行配置和运行。 以下屏幕截图显示在继续时应看到的内容。
打开 Visual Studio Code, 然后打开 Extensions 面板Ctrl+Shift+X。
在搜索栏中,键入“Agents Toolkit”。
应会看到以下屏幕截图中显示的结果:
选择 Microsoft 365 Agents Toolkit。
选择“安装”。
VS Code 显示类似于以下内容的扩展详细信息视图:
安装后, M365 Agents Toolkit 图标将显示在左侧导航栏中。
选择它以打开欢迎体验。
现在应会看到“生成声明性代理”、“创建新代理/应用”和“查看示例”等选项,如下所示:
选择“ 查看示例”。
在示例列表中,滚动以查找 Agent 框架 + Python代理示例。
将其选中。
你将看到两个选项:Create(基架本地)或 View on GitHub。
选择“创建”。
出现提示时,在应生成示例的计算机上选择一个文件夹。 例如:
C:\A365-python-sample该工具包将代理框架 + Python示例搭建到子文件夹中(如sample_agent),然后在 VS Code 中自动打开它。
基架完成后,你现在在计算机上拥有一个功能齐全的代理框架 + Python代理项目
安装必需的 Agent 365 软件包
在运行示例之前,请打开项目中的
pyproject.toml,并确认已列出所有必需的Agent 365和Agent框架依赖项。 Microsoft 365 Agents Toolkit 生成的示例已包含这些条目。审核完pyproject.toml后,请执行以下命令安装所有文件:
uv pip install -e . --prerelease=allow这会拉取所有代理 365 SDK 库、代理框架依赖项、托管组件以及示例中定义的任何其他依赖项。
安装后,使用以下命令启动开发服务器,验证项目生成并运行:
uv run python start_with_generic_host.py
添加Microsoft 365工具(MCP 服务器)
可以使用 CLI 中的 a365 开发命令浏览和管理 MCP 服务器。
使用 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 SDK 通知,并将它们路由到单个处理程序。 此处理程序允许代理对后台事件或系统事件做出反应,而不仅仅是直接用户消息。
以下代码演示如何在 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."
可观测性
此代码片段显示了在示例中实现可观测性所需的最小更改。 它初始化代理 365 可观测性 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 + 代理框架示例所需的完整可观测性设置。 详细了解可观测性
测试您的智能体
设置所需的环境变量,选择身份验证模式,并在本地启动代理。 可以在不需要 Microsoft 365 租户的情况下,使用 Agents Playground 进行所有的端到端测试,除非你想发布代理并在 Teams 或 Outlook 等应用中使用它。
测试步骤概述
- 将 API 密钥和模型设置添加到
.env文件中,以便示例可以与 LLM 通信。 - 选择身份验证方法 对于本地开发,此示例通过使用从智能体蓝图中创建的值来支持智能体身份验证。
- 在本地启动智能体,以将其显示给智能体操作等工具。
- 使用 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