工具

工具用于将代理连接到外部系统或提供给代理的内嵌代码。这样一来,智能体就可以与其他系统交互,以提取、更新、分析信息或为信息设置格式。 本页面的各个部分介绍了支持的各种类型的工具。

创建工具

如需创建工具,请执行以下操作:

  1. 点击代理构建器右侧的工具图标。
  2. 选择工具类型(请参阅本文档中对工具类型的说明)。
  3. 为该工具提供所需的信息。
  4. 使用蛇形命名法为工具命名。
  5. 工具说明会提供给代理模型。

在代理中使用工具

创建工具后,您需要指示特定代理使用该工具。

  1. 将光标悬停在代理上。
  2. 点击添加工具。
  3. 选择工具。
  4. 在智能体指令中描述如何使用该工具。

测试工具

在代理中使用工具之前,您可以在控制台中测试该工具:

  1. 打开工具面板。
  2. 点击面板顶部的 Test Tool 按钮。
  3. 按照工具架构的定义,为工具提供输入。 例如,如果架构是 JSON,并且包含 place 和 city 属性,则可以使用以下输入:

    {
      "place": "automobile repair center",
      "city": "austin texas"
    }
    
  4. 点击提交。 系统会使用输入执行该工具,并填充输出。

直接测试该工具后,您还可以使用 Preview agent 来测试该工具。

可用工具

以下工具可供使用:

工具 说明
A2A Protocol 使用 A2A 消息传递标准将您的代理连接到外部代理。(预览版)
将智能体作为工具 重用代理的功能,而无需切换到其他代理。
客户端函数工具 在客户端执行(而非由智能体执行)的代码工具。
Confluence 工具 将智能体连接到 Confluence 实例。
数据存储区工具 根据网站内容和上传的数据提供 AI 生成的智能体回答。
文件搜索工具 向代理上传文件或提供 RAG 知识库。
Google 地图工具 将智能体连接到 Google 地图。(预览版)
Google 搜索工具 让您的代理能够依托 Google 搜索进行接地。
Integration Connector 工具 创建利用已配置的连接的工具。
Jira 工具 将智能体连接到 Jira 实例。
MCP 工具 连接到 MCP 服务器。
OpenAPI 工具 使用 OpenAPI 架构连接到外部 API。
Python 代码工具 提供 Python 代码作为智能体的工具。
Salesforce 工具 将代理连接到 Salesforce 实例。
Service Now 工具 将代理连接到 ServiceNow 实例。
SharePoint 工具 将智能体连接到 SharePoint 实例。
系统工具 内置工具,智能体可利用这些工具来执行常见任务。
widget 工具 灵活的 widget 工具,可打造丰富的用户互动。

执行类型

工具支持两种执行类型:异步(非阻塞)和同步(阻塞)。 选择合适的执行类型取决于工具的延迟时间和所需的代理体验。 此设置位于工具配置的高级标签页中。

同步执行类型

如果工具执行应阻止代理生成回答,直到工具响应可用,则应使用此类型。在工具响应可用之前,智能体不会生成任何回答。 这些工具的延迟时间最好较短(低于 5 秒),以确保代理的总体响应延迟时间较短。

异步执行类型

此类型应用于以非阻塞方式执行工具。 当工具调用被触发时,代理将继续执行并生成“待处理”响应。在获取工具响应期间,代理可以继续与用户对话。 当回答可用时,系统会在下次生成智能体回答时将其添加到上下文。最好用于响应延迟时间为 5-60 秒的工具。

异步执行类型的对话流程:

  1. 代理触发函数调用:代理触发函数调用,并等待响应。 例如,调用订单状态工具。
  2. 工具待处理的响应:工具会立即返回包含待处理状态(例如 "status": "pending")的 function_response。
  3. 代理处理待处理的工具:应指示代理按需处理待处理的响应。 指令示例:“在获取订单状态的同时,询问用户是否还有其他问题。” 代理回答示例:“在获取您的订单状态期间,我还可以为您做些什么吗?”
  4. 智能体处理最终回答: 智能体可获取实际的工具响应。 此信息将作为上下文标记包含在内。 例如:

    <context>function [<tool_name>] completed with response <response JSON></context>
    

最佳做法

请遵循以下工具最佳实践:

  • 始终编写与工具所执行的任务相关的、具有语义意义的工具名称。
  • 始终提供有关工具及其能够完成的任务的高质量说明。
  • 对于异步工具,请针对以下场景提供详细说明:
    • 告知代理 是一种异步工具,最初会返回待处理的响应。
    • 包含有关当工具返回“待处理”时,代理应如何响应的说明。
    • 包含有关在实际工具响应可用时,智能体应如何响应的说明。
    • 包含有关工具返回错误时智能体应如何响应的说明。