跳到正文
docai.cc

DOCAI · 概念 · L2

什么是工具调用

一句话定义

模型不直接执行,而是输出「调哪个函数、传什么参数」,由你的程序执行后把结果回传。

开发者更新 2026-11-13核验 2026-11-13 · docai 编辑部

它是什么

你先把可用函数的清单给模型:名字、用途、参数结构。

模型需要时,不直接回答问题,而是返回一个结构化请求:函数名 + 参数。你的程序执行它,把结果发回去,模型再继续。

执行权始终在你的代码里,模型只负责决定调用什么。

一次完整回合

  1. 请求里带上工具定义。
  2. 模型返回「调用 get_weather,参数 {"city": "上海"}」。
  3. 你的程序执行,得到结果。
  4. 把结果作为新消息发回。
  5. 模型基于结果给出最终回答,或继续调用下一个工具。

什么时候该用

  • 需要实时数据:天气、库存、订单状态。
  • 需要精确计算:交给代码,不靠模型心算。
  • 需要产生副作用:发邮件、建工单——这类必须加人工确认。

不需要时别加:工具定义占上下文,也增加出错面。

三个常见误解

  • 「模型会自己执行函数」:不会。它只输出调用意图,执行是你的程序做的。
  • 「工具越多越好」:不是。工具越多,选错的概率越高。按场景给最小集合。
  • 「参数一定合法」:不保证。执行前要校验,尤其是要写数据的工具。

和相邻概念对比

概念 关系
工具调用 单次的「决定 + 执行 + 回传」机制
Agent 把工具调用放进循环,自主完成多步任务
MCP 把工具接入标准化的协议

延伸阅读

来源

定义与事实以以下来源为准;表述与取舍是本站整理的。
  1. [1]OpenAI · Function calling
  2. [2]Anthropic · Tool use

相邻概念