适用于 Microsoft 365 的自定义引擎代理概述

自定义引擎代理允许组织生成适合其特定需求的 AI 支持助手,从而扩展了智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®的功能。 与标准 Copilot 体验不同,自定义引擎代理提供对业务流程、AI 模型和数据集成的完全控制,使企业能够创建符合其独特要求的高级工作流。 可以使用 Copilot StudioMicrosoft 365 智能体 SDKTeams SDKMicrosoft Foundry 来创建这些代理,具体取决于首选的开发方法和托管环境。

本文将指导你完成生成自定义引擎代理的功能和选项。

什么是自定义引擎代理?

自定义引擎代理是专用的 Copilot 代理,旨在满足特定的企业方案。 与声明性代理不同,它们使开发人员能够灵活地引入自己的业务流程和 AI 服务。 这允许对工作流、AI 模型和集成进行完全控制,使组织能够创建高级解决方案。

智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®自定义引擎代理剖析

自定义引擎代理的主要特征

自定义引擎代理具有以下特征:

  • 自定义业务流程 - 定义定制的工作流并连接到外部系统,以整合更多知识或调用操作。
  • 灵活的 AI 模型 - 从基础模型、微调模型或行业特定的 AI 中进行选择,以适应你的用例。
  • 主动自动化 – 以编程方式触发工作流,并在企业应用程序中执行操作。

自定义引擎代理的开发方法

可以使用低代码方法通过Copilot Studio生成自定义引擎代理,或使用开发工具和 SDK 使用支持代码方法。 还可以将现有的 Microsoft Foundry 代理与 Microsoft 365 集成。 所有选项都支持将外部知识和操作集成到智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®。 但是,它们的复杂性、所需的技能集以及它们最能支持的业务方案类型各不相同。

低代码方法

由于 Copilot Studio 是一个完全托管的 SaaS 平台,可简化自定义引擎代理的生成,因此可以专注于创建有效的代理体验,而不必担心基础结构、托管或治理问题。 它通过 Microsoft Power Platform 提供内置的合规性,以及用于 Microsoft 365 和合作伙伴服务的预生成模板和连接器。 虽然它支持低代码开发,但真正的价值在于其简化的部署和管理。

此方法非常适合希望快速生成和缩放自定义引擎代理的组织,而无需严重依赖开发资源。

Pro-code 方法

对于专业代码开发,请将 Visual Studio 或 Visual Studio Code 与 Microsoft 365 Agents Toolkit 扩展配合使用。 此工具包通过提供预生成模板、轻松调试和简化的部署工作流来简化代理开发。 它非常适合需要完全自定义体验的开发人员。

使用工具包生成代理时,请根据需要在两个 SDK 之间进行选择。

Microsoft 365 智能体 SDK

Microsoft 365 智能体 SDK是一个框架,旨在构建可跨智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®、Teams、合作伙伴平台、自定义应用程序和网站运行的全堆栈多渠道代理。

它非常适合需要使用语义内核或 LangChain 等框架的自定义业务流程的用例,并支持与任何 AI 模型或服务集成。 此 SDK 最适合需要高度定制的具有高级功能且能够跨多个渠道操作的代理的组织或 ISV。

Teams SDK

Teams SDK 是专门为Microsoft Teams 定制的框架。 它包括内置的操作规划器业务流程协调程序,并支持来自 Azure 和 OpenAI 的基于 GPT 的语言模型。

此选项非常适合希望构建在 Teams 频道和会议中运行的协作代理的组织。 在基于团队的协作环境中构建与用户实时交互的代理时,此功能非常有用。

集成 Microsoft Foundry 代理

Microsoft Foundry 提供了一个平台,用于使用代理框架 SDK (以前的语义内核) 生成、测试和发布智能代理。 这些代理可以通过 Foundry 门户Microsoft 365 代理工具包集成到 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶® 和 Teams 中。

此方法非常适合已在 Foundry 中维护 AI 逻辑和业务流程并希望在 Microsoft 365 中直接提供这些功能的开发人员或组织。

下表显示了 Foundry 代理的两种集成方法。

功能 从 Foundry 发布到 Microsoft 365 使用代理工具包与 Microsoft 365 集成
说明 以最少的设置直接将 Foundry 代理发布到 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶® 和 Teams。 自动预配Azure 机器人服务和Entra ID,并打包代理以供分发。 使用 Microsoft 365 代理工具包构建的代理应用,将现有 Foundry 代理连接到智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®。 启用高级自定义、调试和多环境部署。
工具 Foundry 门户 Visual Studio Code/Visual Studio 与 Microsoft 365 代理工具包
适用于 以最少的代码更改快速部署和测试 需要自定义逻辑、SSO 或托管基础结构的方案

这两种集成方法都通过机器人或代理层将 Foundry 代理服务连接到智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®,从而允许用户在 Microsoft 365 和 Teams 中直接与 Foundry 代理交互。

代理开发工具比较

下表提供了可用方法的快速比较。

功能 Copilot Studio Teams AI 代理 SDK 铸造
开发方法 低代码 Pro-code Pro-code 低代码或专业代码
工具 Copilot Studio UI 将 Visual Studio Code/Visual Studio 与 Teams SDK 配合使用 Visual Studio Code/Visual Studio 与 Microsoft 365 代理工具包 Foundry 门户或具有 Microsoft 365 代理工具包的 Visual Studio Code/Visual Studio
发布 我的组织 我的组织
ISV/store
我的组织
ISV/store
10 多个通道
我的组织
ISV/store
频道 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®、Teams、合作伙伴应用、移动应用和自定义网站 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®、Teams 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®、Teams、合作伙伴应用、移动应用和自定义网站 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®和 Teams (其他频道需要自定义集成)
工作效率 单个学生 单个学生
Orchestrator Copilot Studio Teams AI 操作规划器 自带 (,例如语义内核、LangChain) 自带 (,例如语义内核或 LangChain)
AI 模型 Copilot Studio 所选的任何模型 所选的任何模型 Foundry OpenAI 或自定义模型
支持的编程语言 (低代码) 不适用 C#、TypeScript、JavaScript、Python C#、JavaScript、Python Python、C#

主要注意事项

以下注意事项适用于选择开发工具:

  • 发布范围 - 只有使用 Teams SDK、Microsoft 365 智能体 SDK 或 Foundry 生成的代理才能使用 Agents Toolkit 发布到 Microsoft 商业应用商店。
  • 组工作效率 - 对于多用户方案(尤其是在 Teams 中),请考虑使用 Teams SDK 来获取对协作频道和会议的内置支持。 Foundry 代理也可以在 Teams 中使用,但可能需要对多用户交互进行其他设置。
  • 自定义需求 - 如果需要完全控制 AI 模型或业务流程,请通过代理工具包选择使用 Microsoft 365 智能体 SDK 或 Foundry 的亲代码方法。
  • 知识源访问 - Copilot Studio代理对 Microsoft 365 和 Copilot 连接器内容具有本机访问权限。 专业代码代理(包括通过代理工具包使用代理 SDK 或 Foundry 生成的代理)可以通过 Microsoft Graph API 访问相同的数据,并使用检索 API 来Microsoft 365 数据。

方案示例

下表提供了方案示例和建议的开发方法。

应用场景 说明 建议的方法
法律案例分析 一家律师事务所使用 Foundry 创建独立的 AI 代理。 代理使用经过自定义训练的 LLM 进行案例法分析,并与外部法律数据库集成。 代理在公司案例管理系统中使用,但也应在智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®内访问,并有权访问 SharePoint 中的文档。 使用 Foundry ,因为它允许公司维护自定义 AI 逻辑和业务流程,同时使代理在 Microsoft 365 中可访问。 代理可以通过 Foundry 门户发布,也可以通过 Microsoft 365 代理工具包进行集成。
医疗保健中的手术规划 医院为手术团队建立一个代理来计划和安排手术。 代理与医生、护士和管理人员协作,并与患者信息和计划系统集成。 代理促进与团队所有成员的协作,以计划、创建约会、解决冲突以及设置提醒和通知。 使用 Teams SDK ,因为代理在多用户协作环境中运行。 在 Teams 频道或会议中发布允许无缝交互,而内置的 Action Planner 业务流程协调程序则连接到计划和患者信息系统。
员工入职助手 某公司希望为新员工提供轻型 AI 助手,以便回答 HR 常见问题解答,指导他们完成文档,并引导他们访问内部资源。 代理主要处理已在 Microsoft 365 中提供的标准流程和文档。 使用 Copilot Studio,因为它可以实现快速、低代码的开发和部署。 代理可以使用内置Microsoft 365 知识和连接器,因此非常适合不需要自定义 AI 模型或多通道业务流程的简单工作流。

要求、设计和部署注意事项

在准备生成和部署自定义引擎代理时,请考虑本节中所述的关键因素,以确保性能、合规性和可持续性。

要求取决于你的开发方法:模型和业务流程协调程序托管因你选择 的开发方法 而异,你可以自带业务流程和基础模型,而自定义引擎代理需要应用清单版本 1.21 或更高版本。 有关生成自定义引擎代理所需内容的高级摘要,请参阅用于智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®的代理

注意

应用清单版本 1.21 及更高版本中支持自定义引擎代理。

消息排序和流式处理行为

Teams 和 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®基于服务器时间戳、活动 ID 以及流式处理更新与非流式处理活动之间的关系来呈现代理消息。 当自定义引擎代理在同一用户轮次内混合流式处理文本、媒体附件和最终消息时,消息可能会不按顺序显示。 若要保持一致的排序,

  • 每个用户轮次使用单个流式处理序列。 在发送任何其他消息之前,使用 endStream() 创建一个StreamingResponse对象并完成该对象。

  • 将媒体附加到同一流中。 使用 setAttachments() 而不是发送单独的非流式处理活动。 由于时间戳差异,单独的消息可能出现在流之前或流内。

  • 在完成上一个流之前,请勿启动新流。 同一轮次的多个流可以在 Teams 和 Copilot 中产生不可预知的排序。

  • 序列化传出消息。 避免并行发送来自多个线程的消息。 确保等待更新以保持排序。

  • 不要在 之后 endStream()发送流式处理更新。 当流完成时,任何新的更新都将成为单独的活动,并可能显示无序。 如果需要发送后续消息,请使用 replyToId 将其保留在同一线程中并减少排序问题。

AI 模型选择

自定义引擎代理可以根据任务的复杂性和特定于域的要求利用各种 AI 模型。 无论你的代理需要特定的基础模型、小型语言模型还是针对你的方案进行微调的模型,选择合适的模型都至关重要。

有关详细信息,请参阅 如何为应用选择正确的模型

负责任的 AI

通过遵循 RAI 原则、强制执行数据管理并满足 ISV 的存储发布要求,确保自定义代理符合、安全且符合 负责任 AI (RAI) 策略

成本因素

考虑与自定义引擎代理相关的许可、消耗和托管成本。

有关详细信息,请参阅 Copilot 扩展性的成本注意事项

隐私与合规性

Copilot 对话助手 和 Teams 中的自定义引擎代理提示和响应按照 Microsoft 365 产品条款和条件进行存储,并按照客户的指示进行管理。 若要查看和管理此存储的数据,管理员可以使用内容搜索或 Microsoft Purview。

有关代理的治理和管理控制的详细信息,请参阅 代理共享的治理和管理控制

如果要生成调用 智能 Microsoft 365 Copilot 副驾驶® API 的自定义引擎代理,请参阅 智能 Microsoft 365 Copilot 副驾驶® API 的安全和身份验证,详细了解 API 如何处理身份验证、授权和组织策略强制。