Copilot for Microsoft 365 如何决定使用哪个插件

Microsoft Copilot for Microsoft 365 是你的个人工作助理。 它有助于完成各种常规 任务,例如写作、总结、研究等。 Copilot 具有与这些不同类型的任务相对应的不同 技能 。 例如,Copilot 可以汇总会议中的操作项、建议对文件的编辑,或跟踪组织中给定主题的资源和专家。 每个技能都有自己的参数和输出,这些参数和输出是针对特定任务定制的。

与任何 Copilot 一样,适用于 Microsoft 365 的 Copilot 会在某个时间点使用数据进行训练。 若要检索和处理新的实时信息,尤其是特定于组织和工作流的数据,Copilot 需要 插件插件 为最终用户扩展了 Copilot for Microsoft 365 的技能和实用工具,使其能够从数千个中选择合适的技能。

但是,当你寻求帮助时,Copilot 如何知道要使用哪种技能呢? 它如何解释你的请求并将其与可用的最佳技能相匹配? 这是 Copilot for Microsoft 365 业务流程协调程序的工作。

本文将介绍 Copilot 技能选择过程背后的逻辑,以及如何确保 Copilot 在每一个可能使用户受益的机会中使用你的插件。

重要

  • Microsoft Copilot for Microsoft 365 的插件以公共预览版提供,仅适用于 Microsoft Teams 中的 Microsoft 365 聊天。
  • 默认情况下,在所有 Microsoft 365 Copilot 许可租户中启用此功能。 管理员可以基于用户和组禁用此功能,并控制各个插件的批准使用方式以及启用哪些插件。 有关详细信息,请参阅: 在集成应用中管理 Copilot 的插件

Copilot 业务流程协调程序

在最终用户的自然语言输入到 Copilot 的自然语言输出之间,Microsoft Copilot 业务流程协调程序在后台工作,从正确的插件选择和执行正确的技能 () , (最终用户给定任务的) 。

业务流程层表示基础 LLM 之间的接口,以及可为客户工作方式扩展、扩充和自定义 Copilot 的多种方式。

Microsoft Copilot 技术堆栈的示意图。从下到上:Microsoft 云、AI 基础结构、你的数据、基础模型、AI 业务流程、Microsoft Copilots |副驾驶、Teams AI 库、图形连接器、插件扩展性

下图演示了 Copilot for Microsoft 365 业务流程协调程序如何在正确的时间以正确的技能选择正确的插件,即使有数千个选项可供选择也是如此。

此图像后面的文本中顺序步骤的直观插图。

  1. 自然语言输入

    用户通过 Microsoft 365 聊天键入 Copilot 提示。

  2. 搜索相关工具

    Copilot 业务流程协调程序在其已安装和已启用插件的工具目录中搜索相关技能的初始列表。

  3. 原因

    Copilot 利用其 LLM 和 Microsoft Graph 中的组织数据的组合知识来分析请求并确定用户的上下文。 然后,它将用户的提示分解为意向或目标。 然后,每个目标将分解为任务。

  4. 将用户的意向映射到槽

    业务流程协调程序将用户的任务映射到插件技能和/或内置的 Copilot 技能函数,将隐式约束从用户的提示映射到槽 (参数值,) 执行每个已标识的技能所需的参数值。

  5. 执行工具

    将调用 Copilot 及其插件来执行其所选技能。

  6. 生成摘要

    Copilot 合并、筛选或排名来自不同助手的响应,并为用户生成单个响应。

  7. 自然语言输出

    最后,Copilot 向用户提供响应并更新聊天状态。 Copilot 已准备好迎接下一个提示。

如果你想象用户向 Copilot 发出提示,就像建筑项目一样,那么 Copilot 业务流程协调程序就是 总承包商,负责协调和组织专业 分包商(即插件)的工作。 与总承包商类似,业务流程协调程序负责确保根据用户输入 (隐含的规范“完成”项目,换句话说,即 Copilot 的响应满足用户在请求) 中的意图。

但是,每个插件的责任是向 Copilot 提供对其技能的准确描述,并有效地执行其技能。 这将为你的用户灌输信任感,并确保 Copilot 每次需要其技能时都会调用你的插件。 下一部分提供了有关如何优化插件以供业务流程协调程序查找和使用的详细信息。

插件搜索优化

适用于 Microsoft 365 的 Copilot 可以从数千个中唯一选择正确的技能。 但是,如何确保 Copilot 会选择 你的插件 来提供正确的技能呢?

答案在于如何描述插件、其技能和技能执行参数。 在插件清单中指定简洁准确的说明对于确保 Copilot 知道何时以及如何调用插件至关重要。

以下部分提供有关插件、技能和参数说明的指导和示例。

插件说明

插件说明应包括用户操作、输入类型和输出类型,插件应针对这些操作。

应用清单中的长篇和短应用说明必须明确定义应用的范围。 若要在 Copilot 中将应用呈现为插件,必须修改应用说明以满足以下插件要求:

  • 应用长说明必须清楚地说明用户如何在 Copilot 中使用消息扩展插件,以及他们可以期望的功能。 例如,在 Copilot 中使用 Contoso 云搜索和汇总任务。
  • 简短说明必须以自然语言简要描述应用的功能,并且可以包含应用的名称。

下表列出了各种插件方案的简短说明示例:

说明:创建、搜索、查看票证、bug 和项目。

应用说明示例:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
  "version": "1.0.0",
  "manifestVersion": "1.16",
  "id": "2bxxxxc5-5xxx-4xxx-aXXX-94xxxx8919e5",
  "name": {
    "short": "Tasks",
    "full": "Contoso Tasks"
  },
  "description": {
    "short": "Create, search, view tickets, bugs, and projects",
    "full": "Contoso Tasks makes it easy to stay organized. Create, assign, and track tasks individually or collaboratively with your team, and see everything come together in one place."
  },

技能说明

技能说明用于将用户的提示解释为意向,然后将其映射到 Copilot 可用的最相关的技能。 包括技能处理的操作,以及输出的预期输入和说明格式。

目前 Teams 消息扩展插件支持仅限于搜索命令,即将推出对操作命令的支持。

搜索技能说明应:

  • 重点介绍命令以自然语言 (详细列表) 搜索的内容和方式。
  • 包括谓词和同义词(如果适用)。
  • 关注本机应用的搜索功能中可能使用的关键字。

语义说明

semanticDescription 属性用于提供适用于 Microsoft 365 的 Copilot 命令的详细说明。 命令的语义说明最多支持 5,000 个字符,并且不会显示在用户界面中。 如果 属性 semanticDescription 留空,则 Copilot for Microsoft 365 将使用字段中的信息 description 。 编写 时, semanticDescription必须包含有关命令的预期值、限制和范围的信息。

属性 semanticDescription 不是必填字段。 但是,如果在 semanticDescription 应用清单中添加,则对简短说明、参数说明和命令说明的现有验证检查也适用于语义说明。

下表列出了各种插件方案的命令和语义说明示例:

说明:搜索明天到期的与 Northwind 相关的高优先级任务。

命令说明示例:

"commands": [
        {
          "id": "Search",
          "type": "query",
          "title": "Tasks",
          "description": "Search for high priority tasks related to Northwind that are due tomorrow",
          "semanticDescription": "Search for issues, epics, stories, tasks, sub tasks, bugs + additional details.",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],

参数说明

良好的参数说明说明了参数是什么,而不是参数的作用以及预期的格式。

在 Microsoft Teams 聊天和 Outlook 邮件撰写中直接使用时,可以使用邮件扩展一次查询一个参数。 当用作插件时,消息扩展搜索命令最多支持五个参数, (一个参数必须在消息扩展搜索栏中可见) 。 参数必须具有良好的说明,该说明应描述预期的输入,包括格式或类型。

semanticDescription 属性用于提供 Microsoft Copilot 命令的详细说明。 参数的语义说明最多支持 2,000 个字符,并且不会显示在用户界面中。 如果 属性 semanticDescription 留空,则 Copilot 将使用 字段中的信息 description 。 编写 时, semanticDescription必须包含有关命令的预期值、限制和范围的信息。

下面是各种插件方案的基本和高级搜索请求的几个示例:

基本搜索:搜索与 Northwind 相关的任务。
高级搜索:搜索明天到期的与 Northwind 相关的高优先级任务。

参数说明示例:

"parameters": [
    {
        "name": "Name",
        "title": "Project or Task Name",
        "description": "Project name or task name as keyword",
        "inputType": "text"
    },
    {
        "name": "Time",
        "title": "Time",
        "description": "Date or number of days for which to find tasks. Output: Number",
        "semanticDescription": "Date or number of days for which you need tasks for. Output: Number",
        "inputType": "text"
    },
    {
        "name": "Priority",
        "title": "Priority",
        "description": "Priority of tasks. Acceptable values: high, medium, low, NA ",
        "semanticDescription": "Priority of tasks. Acceptable values are high, medium, low, NA",
        "inputType": "text"
    }]

后续步骤

了解在 Copilot for Microsoft 365 中优化插件可发现性和实用性的最佳做法。