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 的插件,这些准则适用于 、、、 (标题和文本) 字段
functions
states\reasoning\description
(如果提供)。conversation_starters
capabilities
description_for_model
description_for_human
[必须修复] - 使用 Swagger 或 OpenAPI 文件格式时,请遵守与 GET、POST、PUT 或 DELETE API 的密钥和
description
字段关联的内容的这些准则path
。 [必须修复]
应用长说明必须明确指出 Copilot 代理在智能 Microsoft 365 Copilot 副驾驶®工作。 例如,在 智能 Microsoft 365 Copilot 副驾驶® 中使用 Contoso 搜索和汇总任务。 [必须修复]
属性
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 代理必须通过处理三个或更多参数来支持至少三个唯一的复合话语。
提示
必须确保针对示例提示和提示初学者遵循以下准则:
示例提示
属性samplePrompts
为用户提供有关在 智能 Microsoft 365 Copilot 副驾驶® 中使用各种代理的指导。
示例提示是使用 samplePrompts
应用清单中的 属性指定的。 这些提示必须满足以下要求:
- 对于每个命令,代理必须至少有三个提示和最多五个提示。 [必须修复]
- 每个提示符不得超过 128 个字符。 [必须修复]
- 同一代理中的两个命令不能具有相同的提示。 [必须修复]
- 所有示例提示都必须正常运行并返回响应。 [必须修复]
- 提示必须与命令相关。 [必须修复]
提示初学者
提示初学者指导用户如何开始使用声明性代理。 必须确保提示初学者遵循以下准则:
- 声明性代理必须至少有三个提示和最多六个提示。 [必须修复]
- 所有提示初学者都必须正常运行并返回响应。 [必须修复]
自适应卡片响应
作为自适应卡提供的 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
,建议将其大小设置为auto
或stretch
。 - 如果要以像素为单位定义显式宽度,请确保它不超过最窄卡宽度的四分之三。
- 如果要定义显式大小(以像素为单位),请为宽度或高度定义它。 为任何一个参数设置显式大小会保留图像的纵横比。
- 建议设置图像的宽度,但某些方案可能允许出现异常。
- 在 包含多个列的 中使用
有关为团队会议创建插件的详细信息,请参阅 为会议启用消息扩展作为 Copilot 的插件。
确保 Copilot 代理使用 Microsoft 365 - Word、Excel、PowerPoint、OneNote、Office 和 Outlook Copilots
必须确保满足 Copilot 代理的以下准则:
如果使用启用了 SSO 的应用,请更新Microsoft Entra应用注册:[必须修复]
Microsoft Entra邮件扩展的单一登录 (SSO) 的工作方式与在 Teams 或 Outlook 中的工作方式相同。 如果为应用启用了 SSO,请将 Office 应用 Copilot 的客户端应用程序标识符添加到租户应用注册门户中机器人的Microsoft Entra应用注册。
使用沙盒租户帐户登录 Azure 门户。
打开“应用注册”。
选择应用程序的名称以打开其应用注册。
在 “管理 ”部分中,选择“ 公开 API”。
在 “授权的客户端应用程序 ”部分中,确保列出以下客户端 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。
确保已注册的机器人已连接到 Microsoft 365 并Microsoft Teams 频道:[必须修复]
- 使用沙盒租户帐户登录 Azure 门户。
- 打开 机器人服务。
- 选择机器人的名称以更新其通道。
- 从 “设置” 部分,选择“ 通道”。
- 在 “可用频道”中,选择“ Microsoft 365 & Microsoft Teams”,然后选择“ 应用”。
配置内容安全策略标头 [必须修复]
如果 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
将 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 机器人,必须满足以下要求:
自定义引擎代理必须始终包含基于大型语言模型的聊天机器人 (LLM) ,以便无缝进行用户交互。 [必须修复]
作为自定义引擎代理节点的机器人 ID 声明必须与应用清单中的机器人节点中定义的机器人 ID 相同。 [必须修复]
用户必须能够在 Teams 中的智能 Microsoft 365 Copilot 副驾驶®和切换聊天体验中引用自定义引擎代理。 [修复良方]
机器人必须包含以下 UX 设计组件:
Copilot 代理必须具有操作或知识源
Copilot 代理必须在应用清单中将节点定义为操作。 所有代理都必须具有通过 API 操作提供的核心用例。 [必须修复]
对于 Websearch、图形艺术或代码解释器等功能,字段
Instruction
必须包含有关如何在代理上下文中使用功能的详细信息。 [必须修复]
正常错误处理
所有 Copilot 代理都必须正常处理以下情况,即代理必须拒绝用户请求并提供前进方式:[必须修复]
OpenAPI 规范 URL 的安全要求
使用 OpenAPI 规范的 Copilot 代理必须确保以下安全标准:
- 所有 API 调用都必须将 HTTPS 与 TLS 1.2 或更高版本配合使用。 [必须修复]
- API 调用不得导致任何 URL 重定向。 实际 API 调用必须来自与为开发人员验证的根域相同的域或子域。 [必须修复]