Copilot 代理的验证准则

重要

  • 智能 Microsoft 365 Copilot 副驾驶®代理处于预览状态,仅在智能 Microsoft 365 Copilot 副驾驶®中工作。
  • 智能 Microsoft 365 Copilot 副驾驶® 中的消息扩展代理为公共预览版,适用于 Microsoft Word 和 Microsoft PowerPoint。
  • 即将推出对 Excel 和 OneNote 客户端应用程序的支持。
  • 确保智能 Microsoft 365 Copilot 副驾驶®可供组织使用。 可通过两种方式获取用于智能 Microsoft 365 Copilot 副驾驶®的开发人员环境:
    • 沙盒Microsoft 365 租户,智能 Microsoft 365 Copilot 副驾驶® (通过 TAP 成员资格) 以有限预览版提供。
    • 具有智能 Microsoft 365 Copilot 副驾驶®许可证的企业客户生产环境。
  • 如果要为智能 Microsoft 365 Copilot 副驾驶®配置自定义 Graph 连接器,请确保遵循创建或升级 Graph 连接器的准则

本部分符合 Microsoft商业市场策略编号 1140.9

应用必须与负责任的 AI 检查一致。

说明

良好的说明提供了 Copilot 代理功能的清晰简洁摘要。 它增强了用户意识,并允许智能 Microsoft 365 Copilot 副驾驶®有效地发现和执行搜索操作。

必须确保满足 Copilot 代理的以下准则:

  • 与 Microsoft 365 应用的应用说明相关的 Teams 应用商店验证指南适用。 有关详细信息,请参阅 应用说明

  • Copilot 代理、参数、命令说明、语义说明和操作 ID 的简短说明不得包括:

    • 说明短语,例如,“如果用户说 X”、“忽略”、“删除”、“重置”、“新指令”、“以粗体显示答案”或“不打印任何内容”。 [必须修复]
    • URL、表情符号或隐藏字符,例如十六进制、二进制或非常规符号。 [必须修复]
    • 语法和标点符号错误。 [必须修复]
    • 过于冗长、花朵或营销语言。 [修复良方]
    • “#1”、“amazing”或“best”等最高声明。 [修复良方]

    注意

    • 对于声明性代理,简短说明指南 instructions 也适用于 和 conversation_starters 字段。
    • 对于基于 API 的插件,这些准则适用于 、、、 (标题和文本) 字段functionsstates\reasoning\description(如果提供)。 conversation_starterscapabilitiesdescription_for_modeldescription_for_human [必须修复]
    • 使用 Swagger 或 OpenAPI 文件格式时,请遵守与 GET、POST、PUT 或 DELETE API 的密钥和description字段关联的内容的这些准则path。 [必须修复]
  • 应用长说明必须明确指出 Copilot 代理在智能 Microsoft 365 Copilot 副驾驶®工作。 例如,在 智能 Microsoft 365 Copilot 副驾驶® 中使用 Contoso 搜索和汇总任务。 [必须修复]

    屏幕截图显示了传递方案,其中包含智能 Microsoft 365 Copilot 副驾驶®中消息扩展代理的示例提示示例。

    屏幕截图显示了失败方案,其中没有示例示例提示消息扩展作为 智能 Microsoft 365 Copilot 副驾驶® 中的代理。

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

返回页首

屏幕截图

必须确保满足 Copilot 代理的以下准则:

  • 与 Microsoft 365 应用的屏幕截图相关的 Teams 应用商店验证准则适用。 有关详细信息,请参阅 屏幕截图
  • 具有 Copilot 代理功能的应用必须至少有一个与智能 Microsoft 365 Copilot 副驾驶®功能相关的屏幕截图。 [必须修复]

返回页首

Copilot 代理名称

必须确保满足 Copilot 代理的以下准则:

  • 与 Microsoft 365 应用的应用名称相关的 Teams 应用商店验证准则适用。 有关详细信息,请参阅 应用名称
  • 对于声明性代理,请确保以下参数相同:[必须修复]
    • name 在应用清单中
    • name in declarativeAgent1.json
    • name_for_human plugin.json 文件中

返回页首

复合言语

Copilot 代理必须通过处理三个或更多参数来支持至少三个唯一的复合话语。

屏幕截图显示了一个传递方案示例,其中 Northwind 应用返回海鲜和库存参数的响应。

返回页首

提示

必须确保针对示例提示和提示初学者遵循以下准则:

示例提示

属性samplePrompts为用户提供有关在 智能 Microsoft 365 Copilot 副驾驶® 中使用各种代理的指导。

屏幕截图显示了在 智能 Microsoft 365 Copilot 副驾驶® 中启用消息扩展代理时显示的示例提示。

示例提示是使用 samplePrompts 应用清单中的 属性指定的。 这些提示必须满足以下要求:

  • 对于每个命令,代理必须至少有三个提示和最多五个提示。 [必须修复]
  • 每个提示符不得超过 128 个字符。 [必须修复]
  • 同一代理中的两个命令不能具有相同的提示。 [必须修复]
  • 所有示例提示都必须正常运行并返回响应。 [必须修复]
  • 提示必须与命令相关。 [必须修复]

提示初学者

提示初学者指导用户如何开始使用声明性代理。 必须确保提示初学者遵循以下准则:

  • 声明性代理必须至少有三个提示和最多六个提示。 [必须修复]
  • 所有提示初学者都必须正常运行并返回响应。 [必须修复]

返回页首

自适应卡片响应

作为自适应卡提供的 Copilot 代理响应必须满足以下要求:

  • 自适应卡片响应必须包含自适应卡片内容,并预览卡信息作为同一模板的一部分。 [必须修复]

    屏幕截图显示了示例应用的示例,其中显示智能 Microsoft 365 Copilot 副驾驶®应用响应包含同一响应中的预览和内容。

  • 除了信息的 Copilot 代理徽标、标题、缩略图和标题外,自适应卡片中的数据必须至少表示两条信息。 可以从最常搜索的属性(例如修改的数据、作者、状态和标志)中标识字段。 [必须修复]

    屏幕截图显示了自适应卡片响应中的信息标题、其他用户字段和操作按钮的示例。

  • 自适应卡片的格式必须正确,以适应桌面、Web 和移动 (iOS 和 Android) 客户端。 [必须修复]

  • 自适应卡片必须包含 URL 作为 元数据的一部分,这允许将卡片从一个中心轻松复制到另一个中心。 [必须修复]

返回页首

兼容性

Copilot 代理必须在这些客户端的最新版本上完全响应并正常运行:[必须修复]

  • 在桌面和 Web 上Microsoft Teams
  • web 上的 copilot.microsoft.com
  • Word 中的 Microsoft 365 Copilot

确保 Copilot 插件在 Teams 会议中正常工作

必须实现以下各项:

  • 自适应卡片不得显示水平滚动。 若要避免水平滚动,请勿指定固定宽度:[必须修复]

    • ColumnSets

      • 不要使用三个以上的列进行定义 ColumnSets
      • 不要对集中的多个列使用显式像素宽度。
      • 确保列不超过最窄卡宽度的四分之一,例如会议聊天或智能 Microsoft 365 Copilot 副驾驶®。
      • 通常,显式宽度不得超过 48 像素,但某些方案可能允许出现异常。
    • 调整图像大小

      • 在 包含多个列的 中使用 ColumnSet 图像时,请指定包含图像的列的大小,而不是图像本身。
      • 如果图像不在 中 ColumnSet,建议将其大小设置为 autostretch
      • 如果要以像素为单位定义显式宽度,请确保它不超过最窄卡宽度的四分之三。
      • 如果要定义显式大小(以像素为单位),请为宽度或高度定义它。 为任何一个参数设置显式大小会保留图像的纵横比。
      • 建议设置图像的宽度,但某些方案可能允许出现异常。

有关为团队会议创建插件的详细信息,请参阅 为会议启用消息扩展作为 Copilot 的插件

返回页首

确保 Copilot 代理使用 Microsoft 365 - Word、Excel、PowerPoint、OneNote、Office 和 Outlook Copilots

必须确保满足 Copilot 代理的以下准则:

  1. 如果使用启用了 SSO 的应用,请更新Microsoft Entra应用注册:[必须修复]

    Microsoft Entra邮件扩展的单一登录 (SSO) 的工作方式与在 Teams 或 Outlook 中的工作方式相同。 如果为应用启用了 SSO,请将 Office 应用 Copilot 的客户端应用程序标识符添加到租户应用注册门户中机器人的Microsoft Entra应用注册。

    1. 使用沙盒租户帐户登录 Azure 门户

    2. 打开“应用注册”。

    3. 选择应用程序的名称以打开其应用注册。

    4. “管理 ”部分中,选择“ 公开 API”。

    5. “授权的客户端应用程序 ”部分中,确保列出以下客户端 ID 值:

      Microsoft 365 客户端应用程序 客户端 ID
      Word、PowerPoint、Excel (Web、桌面) 3068386c-7a16-4f6a-a664-043b6b232816
      Teams 桌面、移动设备 1fec8e78-bce4-4aaf-ab1b-5451cc387264
      Teams Web 5e3ce6c0-2b1f-4285-8d4b-75ee78787346
      Microsoft 365 Web 4765445b-32c6-49b0-83e6-1d93765276ca
      Microsoft 365 桌面 0ec893e0-5785-4de6-99da-4ed124e5296c
      Microsoft 365 手机 d3590ed6-52b3-4102-aeff-aad2292ab01c
      Outlook 桌面版 d3590ed6-52b3-4102-aeff-aad2292ab01c
      Outlook Web bc59ab01-8403-45c6-8796-ac3ef710b3e3
      Outlook Mobile 27922004-5251-4030-b22d-91ecd9a37ea4
      必应 9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7

      注意

      有关 SSO 如何为消息扩展工作的详细信息,请参阅 为应用启用 SSO

  2. 确保已注册的机器人已连接到 Microsoft 365 并Microsoft Teams 频道:[必须修复]

    1. 使用沙盒租户帐户登录 Azure 门户
    2. 打开 机器人服务
    3. 选择机器人的名称以更新其通道。
    4. “设置” 部分,选择“ 通道”。
    5. “可用频道”中,选择“ Microsoft 365 & Microsoft Teams”,然后选择“ 应用”。
  3. 配置内容安全策略标头 [必须修复]

    如果 Copilot 代理使用 内容安全策略 (CSP) 标头,请确保 CSP 标头中包含以下所有 帧祖先

    Microsoft 365 应用版 frame-ancestors 许可
    所有主机 (新) *.cloud.microsoft
    Word fa000000125.resources.office.net
    PowerPoint fa000000129.resources.office.net
    Excel fa000000124.resources.office.net
    OneNote fa000000128.resources.office.net
    智能 Microsoft 365 Copilot 副驾驶®和必应 edgeservices.bing.com, www.bing.com, copilot.microsoft.com
    Microsoft 365 应用 *.microsoft365.com, *.office.com
    Outlook outlook.office.com, outlook.office365.com, outlook-sdf.office.com, outlook-sdf.office365.com
    Office.com Office.com/copilot
    Office.com/chat
    Microsoft365.com Microsoft365.com/copilot
    Microsoft365.com/chat
    M365.cloud.microsoft M365.cloud.microsoft/chat
    M365.cloud.microsoft/copilot
    Copilot.cloud.microsoft Copilot.cloud.microsoft
  4. 将 Teams JS 版本升级到 2.22.0 内部版本 [必须修复]

    如果使用的是 Teams JS 版本 2.22 或更低版本,请将其更新到版本 2.22 或更高版本。 

    有关详细信息,请参阅 Teams JS 存储库 @microsoft/teams-js - npm (npmjs.com)

返回页首

技术要求

对于要验证、调用和无缝工作的 Copilot 代理,请确保它满足以下条件:[必须修复]

标准 实现
清单版本 应用清单版本必须为 1.13 或更高版本。 [必须修复]
如果使用声明性代理,则必须使用 公共开发人员预览版应用清单架构。 [必须修复]
答复时间 99% 的响应时间不得超过 9 秒,75% 的响应时间不得超过 5 秒,50% 的响应时间不得超过 2 秒。 [必须修复]
可靠性 应用必须保持 99.9% 的可用性。 例如,如果智能 Microsoft 365 Copilot 副驾驶®调用代理 1,000 次,它必须提供有意义的响应 999 次。 [必须修复]
零回归 如果需要重新提交 Copilot 代理进行验证,则以前工作的现有消息扩展功能不得中断。 此要求仅适用于独立软件供应商 (ISV) 应用,不适用于为组织构建的应用。 [必须修复]
Microsoft 365 通道 若要让用户从 Outlook 与邮件扩展进行交互,需要向机器人添加 Microsoft 365 通道。 有关详细信息,请参阅 为应用添加 Microsoft 365 通道。 [必须修复]
单一登录 (SSO) 如果适用,请更新 SSO Microsoft Entra 应用注册。 [必须修复]
内容安全策略 (CSP) 如果适用,请根据 配置内容安全策略标头修改 CSP 标头和 X-Frame-Options。 [必须修复]

返回页首

操作方案的用户披露和确认

该图显示了用户披露和用户确认的示例。

对于操作方案,Copilot 代理必须共享用户披露并寻求用户确认:

  • 通过对话) (第三方服务中显示的数据必须反映用户提供的确认。 [必须修复]

  • 代理必须以卡的形式共享操作完成确认。 [必须修复]

  • 用户执行的操作必须正确反映在第三方服务中。 [必须修复]

  • 用户确认操作前的修改请求必须得到接受。 [必须修复]

  • 必须不支持批量删除等高度后果性任务。 [修复良方]

  • 声明性代理必须使用显式寻求用户权限的明确语言,提供与用户发起的操作一致的确认提示。 [必须修复]

    通过使用 清单中函数的 Function 功能对象中的 Confirmation 对象中的 属性,可以设置body确认提示。 有关详细信息,请参阅 自定义确认文本

    传递示例 失败示例
    对于搜索票证的函数 - “是否允许在 Contoso 中搜索?”“是否允许搜索票证?” 是否要继续?“ --> 不指示函数的作用。
    对于创建新订单的函数,“是否继续创建新订单?” 搜索票证“--> 不寻求权限
    对于创建新票证的函数:“是否继续创建新票证?” “创建票证”--> 不寻求权限
  • 对于声明性代理,任何对外部系统产生后果的操作不得将 isConsequential 标志设置为“False”。 [必须修复]

    有关详细信息,请参阅 重写提示行为

    操作类型 操作 标志的预期 isConsequential
    创建 相应 True
    阅读 非后果性 False 或 True
    更新 相应 True
    Delete 相应 True
    命令说明 结果函数? 标志的预期 isConsequential
    根据用户的兴趣返回任务建议的列表。 如果没有引号建议,请创建一个新引用建议。 True
    根据用户的偏好返回冥想建议的列表。 False 或 True
    根据用户的兴趣返回任务建议的列表。 如果没有引号建议,请创建一个新引用建议。 True

返回页首

自定义引擎代理的机器人要求

自定义引擎代理是对话 Teams 机器人,必须满足以下要求:

  1. 自定义引擎代理必须始终包含基于大型语言模型的聊天机器人 (LLM) ,以便无缝进行用户交互。 [必须修复]

  2. 作为自定义引擎代理节点的机器人 ID 声明必须与应用清单中的机器人节点中定义的机器人 ID 相同。 [必须修复]

  3. 用户必须能够在 Teams 中的智能 Microsoft 365 Copilot 副驾驶®和切换聊天体验中引用自定义引擎代理。 [修复良方]

  4. 机器人必须包含以下 UX 设计组件:

    1. 一个 AI 标签 ,使用户能够识别消息是使用 AI 生成的。 [必须修复]

    2. 一个 反馈按钮 ,使用户能够向代理的消息提供正面或负面反馈。 [必须修复]

    3. 一个 引文 ,使用户能够通过文本内引文和引用来引用机器人消息的源。 [必须修复]

    4. 一个 敏感度标签 ,使用户能够了解机器人消息的机密性。 [修复良方]

    5. 代理必须将其响应流式传输到用户。 [必须修复]

    6. 代理必须至少包含三个提示初学者或欢迎消息。 [必须修复]

      有关详细信息,请参阅 机器人欢迎消息

    7. 机器人应向用户提供至少两个特定于上下文的建议或提示,而不是泛型或固定建议或提示。 [必须修复]

返回页首

Copilot 代理必须具有操作或知识源

  • Copilot 代理必须在应用清单中将节点定义为操作。 所有代理都必须具有通过 API 操作提供的核心用例。 [必须修复]

  • 对于 Websearch、图形艺术或代码解释器等功能,字段 Instruction 必须包含有关如何在代理上下文中使用功能的详细信息。 [必须修复]

返回页首

正常错误处理

所有 Copilot 代理都必须正常处理以下情况,即代理必须拒绝用户请求并提供前进方式:[必须修复]

  • 对于不正确的搜索参数

  • 误用或不适当的语言

  • 对于 Copilot 代理不专门处理的主题

    例如,声明性代理的正常错误消息与前进方向:

    屏幕截图显示如何合并正常错误处理。

返回页首

OpenAPI 规范 URL 的安全要求

使用 OpenAPI 规范的 Copilot 代理必须确保以下安全标准:

  • 所有 API 调用都必须将 HTTPS 与 TLS 1.2 或更高版本配合使用。 [必须修复]
  • API 调用不得导致任何 URL 重定向。 实际 API 调用必须来自与为开发人员验证的根域相同的域或子域。 [必须修复]

返回页首

另请参阅