Tool Calling

大模型只能生成信息。要让它读取文件、搜索网页或运行命令,应用会向模型提供一组结构化 Tool。模型返回“想调用哪个 Tool、使用什么参数”,应用核对后才真正执行。

Tool 不是自然语言咒语

每个 Tool 都有名称、用途和参数结构。模型写一句“我已经修改文件”不会产生任何修改;只有通过真实文件 Tool 并得到成功结果,才算形成行动证据。

同样,模型在参数里声称“用户已授权”也无效。权限来自应用保存的设置和当前 Run,审批来自你的明确操作。

Captain Who 中常见的 Tool 类别

  • 文件与代码:列出、搜索、读取、写入和应用补丁;
  • 命令与会话:运行受管命令并跟踪长任务;
  • Git:查看工作区差异;
  • 网络:Tavily 搜索和网页读取;
  • 文档与制品:处理 Word、表格、演示文稿、PDF 和图片;
  • Skill:激活说明包、读取资源或运行受控脚本;
  • MCP:调用用户连接的第三方 Tool 或内置浏览器能力;
  • 协作:创建、唤醒、观察和协调子 Agent;
  • Scheduled Automation:定时 Run 可以把结果记录到运行历史。

实际可见工具会随权限、配置、选中 Skill、MCP 连接和运行场景变化。“应用实现了某个 Tool”不等于当前任务一定能用。

权限与审批是两件事

权限决定某类动作是否可以进入执行路径;审批决定某个具体动作是否需要你点击确认。即使选择自动批准,路径校验、命令风险策略和工具身份检查仍然存在。

默认权限适合大多数初次任务。完全权限扩大读取、写入和命令范围,应只在你理解项目和任务时短期使用。自定义权限可以分别控制读取范围、写入范围、命令审批和结构化文件修改审批。

你在审批时应该看什么

  1. Tool 和来源是否与任务一致;
  2. 文件路径、命令或目标站点是否正确;
  3. 影响是只读、可逆还是可能产生外部副作用;
  4. 是否包含凭据、个人数据或不应发送的信息;
  5. “本轮后续不再询问”会放宽到什么范围。

拒绝不是错误。可以附上调整方向,让 Agent 改用更窄的文件范围、只读命令或其他方法。

结果为何可能被截断

命令输出、网页和 MCP 结果可能非常大。系统会限制进入模型和界面的内容,必要时使用分页、预览或独立 Artifact,防止一个 Tool 吃掉整个上下文窗口。看到“已截断”时,应让 Agent 缩小查询或读取下一段,而不是假设被省略部分无关。

结果未知

当外部动作可能已发出,但返回在超时、取消或进程异常中丢失,状态会显示为结果未知。这不是普通失败:动作可能成功,也可能失败。先检查目标系统,再决定是否补偿或重试。

实战可从实现一个小功能开始;安全建议见安全使用 Agent

源文档核验 · 2026-08-23官网导入 · 2026-08-27