工具是使代理能够与外部系统交互的构建基块。 工具扩展代理的功能,允许它执行各种操作以响应用户请求或自动触发器。 每个工具都表示代理可执行的特定功能。 例如,你可以为代理配备可以执行类似以下任务的工具:
- 使用 Office 365 Outlook 连接器发送电子邮件
- 检查当前天气状况和预报
- 从 Dataverse 读取和写入数据
- 读取并发布消息到 Teams
用于添加工具的机制
可以通过添加一个或多个 工具来扩展自定义代理的功能。 您的智能体可以使用工具来使用生成式业务流程自动对用户做出响应。 还还可以在主题内显式调用工具。
使用 生成业务流程 (默认处于活动状态),代理可以自动选择最合适的工具或主题,或者跨知识进行搜索,以响应用户。 此编排模式可创建更动态和更智能的对话体验。
在经典模式下(生成编排已关闭),代理只能通过使用主题来响应用户。 但是,你仍然可以设计你的代理,使其能够显式地从主题中调用工具。
可通过多种机制将工具添加到代理:
-
连接器:通过Power Platform连接器连接专有API和服务,以获取数据或执行作。
- 预生成连接器:从一系列预设连接中进行选择,从Microsoft和非Microsoft服务中选择成千上万的常用 API。
- 自定义连接器:定义与自定义服务或系统的连接,以使用 Power Platform 连接器启用自定义工具选项。 连接器需要查看和共享组织的权限,以便智能体使用连接器。
- 代理流程:定义代理流程,包括一项或多项需要执行的动作。
- 提示:基于单回合的模型提示,可以引用你提供的知识并生成分析数据的代码。
- REST API:定义一个连接到REST API的接口,并选择一个或多个API端点和方法作为工具添加。
- 模型上下文协议:连接到MCP服务器以访问工具和资源。
- 计算机使用:允许您的代理与任何带有图形用户界面的系统交互,无论是网站还是桌面应用,选择按钮、菜单,并在屏幕上的字段中输入文本。
有另外两种机制可以用来为智能体添加类似工具的行为。
- 技能:承载一组相关工具的容器。
- 客户端工具:将事件活动发送到客户端,以便客户端执行作并返回响应。
有关技能和客户端工具的详细信息,请参阅 “相关内容 ”部分中的链接。
在代理级别创建和添加新工具
直接在 Copilot Studio 中创建新工具简化了开发过程,并确保与代理正确集成。 添加到智能体的工具可在整个智能体对话中用于自动业务流程。
在左侧导航窗格中选择智能体,然后从列表中选择智能体,打开智能体。
转到代理的 “工具 ”页。
选择 “添加工具”。
在 “添加工具 ”窗格中,选择“ 新建”工具。
从显示的列表中选择要添加的工具类型:
- Prompt
- 代理流
- 计算机使用
- 自定义连接器
- 模型上下文协议
- REST API
执行特定于所选工具类型的配置步骤。 例如,如果选择 “提示”,则必须执行以下步骤:
- 定义提示模板和说明
- 指定输入参数
- 配置知识源
- 设置响应格式和约束
选择 “保存 ”或“ 发布”(视情况而定),以创建新工具。
选择 “添加并配置”。 该工具将添加到您的代理。 此时将显示工具的配置页面。 您可以在此处 查看和更改您的工具配置 。
可以在代理的 “工具” 页上看到新工具。
查看和更改工具配置
可以随时查看和编辑工具的配置:转到代理的 “工具” 页,然后从工具列表中选择该工具。
工具的配置页面随即打开。 详细信息显示在三个部分中:
- 详细信息
- 输入
- 补全
对于作为代理工具连接的MCP服务器,配置页面与其他工具类型不同。 “详细信息”部分类似,但不是“输入和完成”,而是“工具和资源”部分,其中包含有关 MCP 服务器可用工具和资源的信息。 有关详细信息,请参阅 查看现有 MCP 服务器中的工具和资源。
详细信息
“ 详细信息 ”部分允许配置有关工具的基本详细信息。
可在此处查看和更新:
名称:工具的名称。 这个名称显示在您代理的工具列表中。 选择一个明确指示工具函数的名称。
说明:工具的说明。 生成式业务流程依赖于此说明来确定智能体何时应使用该工具。 明确、具体的说明,包括工具的作用以及何时应使用该工具。
其他详细信息:
- 允许代理动态决定何时使用该工具:选择此选项后,代理可以使用生成业务流程来确定何时使用该工具。 如果未选择此选项,智能体仅在工具被从主题显式调用时使用该工具。 (默认情况下,启用生成编排时会选择此选项。)
- 在运行之前询问最终用户:在最终用户聊天体验中,请在运行该工具之前请求代理进行确认。 此选项默认设置为 “否 ”。
- 身份验证:选择是将用户(最终用户)还是制作者(制作者提供的)凭据用于工具。 默认情况下,用户身份验证适用。
- 说明:(可选)可以添加代理在用户想要运行该工具时向用户显示的工具的说明。 此说明使用户知道他们被要求进行身份验证的内容。
输入
在这里,可以查看和配置工具的输入。 输入用于从用户收集信息,来填充工具所需的输入。 信息显示为表,每个输入对应一行。
默认情况下,每个输入的填充方式列值设置为动态填充 AI。 智能体尝试从可用上下文中提取值,例如,从用户的消息中提取值。 如果没有找到合适的值,它会生成一个问题,要求用户输入一个值。 选择自定义以访问输入收集和填充的更精细自定义选项:
- 显示名称和说明:输入如何显示给用户。
- 标识为:如何解释用户的响应,例如文本字符串或映射到预定义实体。
- 重试逻辑:如果代理未标识用户语句中的实体,它可以再次提出问题。
- 输入验证:在用户的输入上配置额外的验证行为,超出实体类型的默认值。
还可以选择使用显式值替代输入,而不是让代理提取它。 要设置替代,将填充方式设置为自定义值,并输入值、选择变量或使用 Power Fx 公式。 如果输入被覆盖,代理不会要求用户输入值。
补全
在这里,您可以选择工具运行完成后要发生的事情。
可以让代理根据用户的查询和工具结果自动生成用户的上下文响应。
或者,您可以选择创作特定格式的响应来由工具返回。 可以使用变量选取器插入对工具输出变量的引用。 还可以使用 Power Fx 公式设置响应的格式。
在 “运行后”下,选择以下几个不同的选项之一,了解该工具在运行该工具后应如何响应用户:
- 不响应(默认值):代理将工具输出合并到其响应中
- 使用生成 AI 编写响应:让 AI 使用工具输出创建上下文响应
- 发送特定响应:使用变量插入创作模板化响应
- 发送自适应卡片:使用按钮和动作创建丰富的交互式响应
还可以配置要提供给代理和其他工具的输出变量。
工具选择和输入集合
在 Copilot Studio 中定义工具时,还提供描述其用途的信息。 此信息使代理能够确定何时使用该工具。 该工具描述还有助于业务流程协调器根据需要使用生成式 AI 生成问题以收集输入。 你的经纪人可以通过提问收集信息,以填补使用工具所需的输入。 因此,您无需手动编写问题节点来收集所需的所有输入,例如流中的输入。 代理业务流程协调程序在运行时为您处理输入收集。
代理会考虑几个因素来确定工具选择:
- 该工具的名称和说明
- 当前对话上下文
- 从用户消息派生的用户意图
- 可用的输入和输出
- 对话中之前的工具用法
温使用生成模式时,默认情况下,工具会将其信息返回给代理。 通过工具响应,代理可以生成对用户查询的上下文响应。 或者,可以指示工具始终立即响应,即生成消息或创作显式消息。
从主题中调用现有工具
您可以在主题内显式调用工具。 根据具体使用情况,可以将你的工具用作更广泛主题中的一部分,该主题将使用更多节点。 或者,就像在天气示例中一样,向主题添加节点可能是你所需要的一切。
若要从主题中调用工具,请按以下步骤操作:
在 Copilot Studio 中,转到要编辑的智能体的主题页面。
创建新主题,然后为其命名,例如获取天气。
添加适当的 触发短语。 要继续使用上一步中的相同天气示例,触发短语可能包括:
- 是否下雨
- 今日预报
- 获取天气
- 天气情况
选择 “添加节点 ”(+),然后选择“ 添加工具”。 从可用工具中选择该工具。 有三个选项卡显示不同类型的工具:
- 基本工具
- 连接器
- 工具
您的操作节点现已添加到您的主题中。
选择保存。
MCP 连接器信息
对于 MCP 连接器,可以查看 MCP 连接器提供的 MCP 工具和资源的名称和说明。 工具和资源的信息显示在表中,每个工具对应一行。
工具的身份验证注意事项
某些工具需要身份验证才能正常工作,例如动态提示或其他调用 Dataverse API 的工具。 适当的身份验证配置可确保安全性,同时保持流畅的用户体验。
工具始终在用户上下文中的代理运行时中运行,除非启用了身份验证,否则无法运行。 支持两种类型的身份验证方法:
- 用户身份验证:代理使用用户的凭据向服务进行身份验证。 此方法可确保用户仅访问他们有权查看的数据。
- Copilot 作者身份验证:代理使用其作者的凭据向服务进行身份验证。 将此身份验证模式用于共享资源,或者当用户不需要个人访问时。
测试你的工具
使用生成编排,编排器在认为与用户查询相关时选择您的工具。
或者,可以从 主题中调用现有工具。
在代理中打开或关闭工具
您可以从工具配置页面为代理打开或关闭工具。 关闭工具会阻止代理使用该工具,但该工具仍连接到代理,并且可以稍后重新打开。 当你向代理添加工具时,默认会开启。
要关闭代理中的工具:
- 转到您的代理,然后选择代理的 “工具” 页面。
- 选择工具以转到工具配置页面。
- 在配置页面顶部,使用 “已启用” 开关关闭该工具。
- 选择保存应用所作更改。
该工具仍显示在代理工具列表中,但不再打开。
从代理中删除工具
关闭工具会阻止该工具使用,但也可以让您灵活地稍后重新打开它。 您还可以从代理中更永久地删除工具。 要从代理中删除工具,请执行以下作:
- 转到您的代理,然后选择代理的 “工具” 页面。
- 在工具列表中找到该工具,然后将鼠标悬停在工具名称上。 选择 ...(更多选项)。
- 选择 删除。 此时会显示一个确认窗口。
- 选择 删除以 删除该工具。
该工具将从代理工具列表中消失。
注释
您只能从代理工具页面中删除工具。 你不能从主 Copilot Studio 工具 页面删除工具。