Tool:让 Agent 调用外部能力
Agent 如果只能生成回答,能处理的任务会受到限制。许多场景需要它读取文件、调用接口、执行脚本或获取实时信息。
**Tool(工具)**就是为 Agent 提供外部能力的方式。它定义 Agent 可以调用什么、需要哪些输入、会返回什么结果,以及执行时需要遵守哪些权限和审批规则。
Tool 是什么
你可以把 Tool 理解成 Agent 可调用的能力定义。每个 Tool 会写清楚:
- 它能做什么(描述)
- 需要哪些信息(输入)
- 执行后返回什么(输出)
- 具体怎么执行(命令)
Agent 在遇到任务时,会根据 Tool 的描述判断是否需要调用它,并按约定传入参数、执行命令、读取结果,再继续完成后续任务。
一个简单例子
如果你希望 Agent 帮你查询航班,单靠对话并不能完成真实查询。你需要为它配置一个订票或航班查询 Tool,说明:
- 需要:出发城市、目的地、日期
- 会返回:航班信息、价格、预订状态
- 执行方式:调用订票系统
这样 Agent 收到相关指令时,就可以在授权范围内调用这个 Tool,查询结果并继续处理。
为什么需要 Tool
没有 Tool,Agent 只能基于已有上下文回答
大模型本身的知识是固定的,训练完就不会更新了。如果没有任何 Tool:
- 问"今天北京天气如何?" → 不知道,知识截止到训练日期
- 问"帮我查一下这个 API 的最新文档" → 无法访问外部网页
- 说"帮我运行这段代码看看结果" → 无法执行程序
有了 Tool,Agent 能执行实际操作
装上合适的 Tool 后,Agent 的能力边界被大大拓展:
- 联网搜索:实时获取最新资讯、文档、数据
- 执行命令:运行脚本、调用程序、处理文件
- 发送通知:邮件、消息推送、飞书卡片
- 数据查询:查数据库、读日志、调接口
Agent 不再只生成建议,也可以在授权范围内执行具体任务。
Pipora 中的 Tool 能做什么
1. 让 Agent 调用外部程序
你可以为 Agent 配置 Tool,让它在需要时执行本地或远程的命令和程序。比如:
- 调用一个脚本来分析代码仓库
- 执行命令生成项目报告
- 运行程序处理图片或文档
Agent 会自动理解这个 Tool 的用途,在合适的时机调用它。
2. 被 Agent 和 Workflow 共用
Tool 是一种可复用的能力节点:
- Agent 可以在对话中按需调用 Tool
- Workflow 可以在自动化流程中嵌入 Tool 步骤
同一个 Tool,可以被多个 Agent 引用,也可以出现在多个 Workflow 里。你只需要定义一次,到处都能用。
3. 内置网页搜索工具
Pipora 内置了强大的 web-search 工具,让 Agent 能够实时搜索互联网上的信息。它支持多家搜索服务提供商,包括 Tavily、Perplexity、Brave、Exa、Anthropic、Jina、SearXNG 和 Synthetic。
这意味着你的 Agent 可以:
- 查最新的新闻和资讯
- 搜索技术文档和教程
- 获取实时数据和行情
- 验证事实、补充背景信息
4. 执行前的人工审批
对于涉及敏感操作或不可逆动作的 Tool(比如发送邮件、删除文件、对外转账),你可以开启人工审批。
开启后,Agent 在调用这个 Tool 之前会暂停,并向你展示它要执行的操作和参数。你批准后才会真正执行,也可以直接拒绝。
这让你既享受了自动化的便利,又保留了对关键操作的掌控权。
5. 权限控制
每个 Tool 都可以配置独立的权限规则,比如:
- 能否访问网络
- 能否读写文件系统
- 能否访问特定的环境变量
这让 Agent 的能力被限制在合理的边界内,避免越权操作带来的风险。
6. 从工具市场安装
Pipora 支持工具市场机制。你可以:
- 浏览社区或团队共享的现成 Tool
- 一键安装到自己的工作空间
- 查看每个 Tool 的来源和版本信息
不用从零实现每个能力,就可以扩展 Agent 的可用工具。
7. 通过界面直接创建
你不需要写任何配置文件,直接在 Pipora 的 Web 界面中:
- 填写 Tool 的名称和描述
- 定义它需要什么样的输入、会返回什么样的输出
- 指定执行的命令
- 配置审批和权限选项
完成配置后,就可以把新的 Tool 绑定给 Agent 使用。
Tool 的典型使用场景
| 场景 | 说明 |
|---|---|
| 信息查询 | Agent 遇到不懂的问题,自动调用搜索工具查最新资料 |
| 文件处理 | 让 Agent 执行脚本,批量重命名、转换格式、提取内容 |
| 代码执行 | Agent 写出代码后,自动运行验证结果是否正确 |
| 外部通知 | 任务完成后,Agent 调用 Tool 发送邮件或消息提醒你 |
| 数据分析 | Agent 调用统计脚本,对本地数据生成图表和报告 |
| 敏感操作 | 涉及删除、发送、支付等动作时,先暂停等你确认 |
小结
- Tool 是 Agent 的外部能力定义,描述它能调用什么程序、需要什么输入、返回什么结果
- 没有 Tool,Agent 主要基于已有上下文回答;有了 Tool,Agent 可以执行实际任务
- Pipora 的 Tool 支持执行外部命令、人工审批、权限控制、市场安装、界面创建
- 内置的 web-search 工具让 Agent 能实时联网搜索,不再受限于训练数据的截止日期
- Tool 可以被多个 Agent 和 Workflow 复用,定义一次,处处可用
下一步:你可以尝试在 Pipora 的界面上创建一个简单的 Tool,然后把它绑定给一个 Agent,看看 Agent 如何在对话中调用它完成任务。