Work IQ:全新的 retrieve 工具

Work IQ:全新的 retrieve 工具

💡 原文英文,约2000词,阅读约需7分钟。
📝

内容提要

Work IQ 推出新 MCP 工具 retrieve,支持跨邮件、文件、会议、Teams 消息及企业数据源检索,仅返回用户有权访问的内容。其响应包含带内联引用的 markdown 和结构化命中记录,便于智能体生成可信答案;支持 copilot 与 grounding 两种策略,并可通过 capabilities 限定来源,实现检索与任务委派分离。

🔎

延伸解读

检索与委派分离的设计意图

文章明确将 retrieve 与 ask、do_action 定位为不同操作:retrieve 只负责为当前智能体收集相关上下文,而把任务交给其他智能体时应使用 ask 或 do_action。这种分离让检索查询专注于寻找证据,而不是隐式地路由工作。对开发者而言,这意味着在构建多智能体架构时,可以更清晰地划分“找信息”和“派任务”两个环节,避免检索请求承担额外职责。

两种策略的适用边界

strategy 参数只有 copilot 和 grounding 两个合法值。copilot 是默认的宽泛选择,除已索引的 Microsoft 365 内容外,还能搜索联合连接器、外部数据源和 MCP 工具,适合位置未知或可能超出索引范围的情况。grounding 则限定在已索引的 SharePoint、OneDrive、Teams 和 Outlook 内容,适合仅凭 Microsoft 365 索引即可回答的请求。其他取值会被拒绝,调用时需注意。

capabilities 的收窄能力与组合限制

capabilities 接受一个可选的允许列表,可限定到 Email、TeamsMessages、OneDriveAndSharePoint 等能力族,并支持指向特定 SharePoint 站点、OneDrive 位置、共享邮箱、邮件文件夹或单个联合连接器。省略或传空列表则保留所选智能体可用的全部来源。需注意:它不能与非默认 agentId 组合,Dataverse 和 GraphConnectors 也不能与 grounding 策略同时使用。

响应结构决定答案如何落地

retrieve 返回两部分:面向模型的 grounding markdown 和结构化的 retrievalHits。文章建议以 markdown 字段作为答案依据,其内联引用 ID 对应各条命中记录;命中记录包含 id、webUrl、entityType、sensitivityLabel 等字段。总结时应保留引用,需要回链来源或做来源感知处理时则使用命中元数据。响应以 application/vnd.ms-workiq.retrieval 命名空间封装,调试编排时可开启 includeDeveloperCard

❓

Q&A

Work IQ 的 retrieve 工具能搜索哪些工作数据源?

retrieve 可搜索用户的工作场所数据,包括邮件、文件、会议、Teams 消息和人员,以及已连接的企业数据源。每个用户只能检索其有权访问的工作源,安全与访问控制始终优先。

retrieve 返回的响应包含哪些内容,智能体应该基于哪部分生成答案?

响应包含两部分:原始的各源检索命中记录(retrievalHits)和带内联引用的、模型友好的 grounding markdown。智能体应基于 markdown 字段生成答案,其内联引用 ID 对应各条命中记录;命中记录携带 URL、敏感度标签等结构化元数据,可用于链接回来源或做来源感知处理。

retrieve 的 strategy 参数中 copilot 和 grounding 有什么区别?

copilot 是默认的宽泛策略,搜索已索引的 Microsoft 365 内容,还可搜索联合连接器、外部数据源和 MCP 工具,适用于位置未知或可能在索引之外的情况;grounding 仅限检索已索引的 SharePoint、OneDrive、Teams 和 Outlook 内容,适用于仅靠 Microsoft 365 索引即可回答的请求。其他取值会被拒绝。

如何把 retrieve 的检索范围限定到特定来源,比如某个 SharePoint 站点或邮箱?

使用 capabilities 参数,它接受基于 Declarative Agent capability 结构的可选允许列表,可将检索限制到 Email、TeamsMessages、OneDriveAndSharePoint 等能力族,并支持能力专属的范围字段,从而定位到特定 SharePoint 站点、OneDrive 位置、SharePoint Embedded 容器、共享邮箱或特定邮件文件夹,或单个联合连接器。省略或传空列表则保留所选智能体可用的全部来源。

retrieve 和 ask、do_action 在使用上有什么区别?

检索与任务委派是分离的操作:retrieve 用于为当前智能体收集相关上下文;当任务需要委派给另一个智能体时,应使用 ask 或 do_action,并可选择目标智能体 ID。这样检索查询专注于寻找证据,而不是隐式地路由工作。

使用 capabilities 参数时有哪些组合限制?

capabilities 不能与非默认的 agentId 组合使用;Dataverse 和 GraphConnectors 不能与 grounding 策略组合使用。

query 参数有什么要求,includeDeveloperCard 是做什么的?

query 为必填项,是用自然语言描述要查找的内容,空或仅含空白的输入无效。includeDeveloperCard 为可选项,用于获取后端的编排诊断信息,包括智能体元数据、工具调用详情和检索摘要,默认值为 false;调试编排时可设为 true,正常检索路径应保持 false。

🏷️

标签

➡️

继续阅读