工具用于将代理连接到外部系统或提供给代理的内嵌代码。这样一来,智能体就可以与其他系统交互,以提取、更新、分析信息或为信息设置格式。 本页面的各个部分介绍了支持的各种类型的工具。
创建工具
如需创建工具,请执行以下操作:
- 点击代理构建器右侧的工具图标。
- 选择工具类型(请参阅本文档中对工具类型的说明)。
- 为该工具提供所需的信息。
- 使用蛇形命名法为工具命名。
- 工具说明会提供给代理模型。
在代理中使用工具
创建工具后,您需要指示特定代理使用该工具。
- 将光标悬停在代理上。
- 点击添加工具。
- 选择工具。
- 在智能体指令中描述如何使用该工具。
测试工具
在代理中使用工具之前,您可以在控制台中测试该工具:
- 打开工具面板。
- 点击面板顶部的 Test Tool 按钮。
按照工具架构的定义,为工具提供输入。 例如,如果架构是 JSON,并且包含
place和city属性,则可以使用以下输入:{ "place": "automobile repair center", "city": "austin texas" }点击提交。 系统会使用输入执行该工具,并填充输出。
直接测试该工具后,您还可以使用 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 秒的工具。
异步执行类型的对话流程:
- 代理触发函数调用:代理触发函数调用,并等待响应。 例如,调用订单状态工具。
- 工具待处理的响应:工具会立即返回包含待处理状态(例如
"status": "pending")的function_response。 - 代理处理待处理的工具:应指示代理按需处理待处理的响应。 指令示例:“在获取订单状态的同时,询问用户是否还有其他问题。” 代理回答示例:“在获取您的订单状态期间,我还可以为您做些什么吗?”
智能体处理最终回答: 智能体可获取实际的工具响应。 此信息将作为上下文标记包含在内。 例如:
<context>function [<tool_name>] completed with response <response JSON></context>
最佳做法
请遵循以下工具最佳实践:
- 始终编写与工具所执行的任务相关的、具有语义意义的工具名称。
- 始终提供有关工具及其能够完成的任务的高质量说明。
- 对于异步工具,请针对以下场景提供详细说明:
- 告知代理
是一种异步工具,最初会返回待处理的响应。 - 包含有关当工具返回“待处理”时,代理应如何响应的说明。
- 包含有关在实际工具响应可用时,智能体应如何响应的说明。
- 包含有关工具返回错误时智能体应如何响应的说明。
- 告知代理