Skip to content

Tool Calling

Tool calling 的核心不是“让模型自己执行代码”,而是让模型判断什么时候该借助外部能力。

为什么需要工具

模型本身擅长语言理解和生成,但不擅长这些事情:

  • 获取最新事实
  • 做精确计算
  • 查询数据库
  • 调用业务接口
  • 修改外部系统状态

这些动作最好交给程序或外部服务。

基本流程

一个典型的 tool calling 循环是这样的:

  1. 你把可用工具清单告诉模型。
  2. 模型根据任务判断是否调用工具。
  3. 程序解析工具调用请求。
  4. 真正执行工具。
  5. 把结果回传给模型。
  6. 模型结合工具结果继续回答。

设计工具时要注意什么

工具描述必须清晰

工具名、参数、用途都要尽量明确,否则模型会乱调或误调。

参数要结构化

能让模型输出结构化参数,就不要让它拼自由文本。参数越明确,系统越稳。

工具结果要可消费

返回结果不要过度原始,最好做一层整理,让模型更容易继续推理。

常见错误

  • 给了太多重叠工具,模型难以选择
  • 工具命名含糊,边界不清
  • 没做权限控制和异常处理
  • 以为模型“会自动知道什么时候不能调用”

什么时候该用 tool calling

当任务需要真实世界动作、精确信息、外部状态或确定性计算时,tool calling 通常是比纯 prompt 更靠谱的方案。

对应示例

可以配合仓库里的最小示例一起看:

Built with VitePress and deployed via GitHub Actions.