SPT术语库

工具调用

用户询问订单状态时,模型提出 get_order_status 和订单号,应用检查参数并执行查询,把真实状态交回模型后生成回答。

AI 与智能体约 10 分钟 · 从真实需求理解

1工具调用是模型请求、应用执行、结果回传的闭环

TOOL CALLING · REQUEST + RUN + RETURN模型提出调用,应用负责真正执行

工具名和参数来自模型,但副作用必须经过应用校验并由运行时执行。

MODEL → APP → TOOL → MODEL
MODEL提出工具调用理解用户目标
TOOL REQUESTWAITING
get_order_status(orderId)模型只提出名称和参数
PARAMETER CHECKorderId = 2048 ✓工具名 · 类型 · 权限通过
APP RUNTIME执行订单查询应用拥有真正执行权MODEL CANNOT EXECUTE SIDE EFFECTS
TOOL RESULT等待工具返回真实数据回到模型
MODEL CONTINUE模型等待结果结合工具结果继续生成

Tool Calling 不是模型直接去操作外部系统,而是模型先按约定提出工具名和参数。应用检查请求是否允许、参数是否有效,再由运行时执行工具,把真实结果交回模型继续生成。

  • 模型负责选择合适的工具并生成结构化参数,但不能凭一句文本直接执行副作用。
  • 应用负责校验工具名、参数、权限和执行条件,真正的调用发生在应用或运行时。
  • 工具结果回到模型后,模型可以结合真实数据继续回答;结果仍需要应用判断是否可信、是否适合展示。

2工具调用不是自由文本、结构化输出或直接授权

结构化输出只保证返回内容符合某种 schema,Tool Calling 还要把工具请求交给应用检查和执行。模型生成了工具名,不代表工具已经运行,更不代表它获得了外部系统的权限。

  • 模型输出的是调用意图和参数,应用才决定是否允许、如何执行以及如何处理失败。
  • MCP 可以提供工具发现和协议连接,但 Tool Calling 说明的是一次具体请求如何经过运行时执行。

看到工具请求通过校验,只能说明应用准备执行;仍要处理超时、错误、权限和结果真实性,不能把模型的提议当成已完成动作。

3工具调用的五个组成部分

MODEL查询订单状态提出调用意图
TOOL REQUESTget_order_status带上 orderId
PARAMETER CHECKorderId ✓类型和权限通过
APP RUNTIME执行查询应用拥有执行权
TOOL RESULTshipped → MODEL真实结果回传

一次工具调用可以拆成模型、工具请求、参数校验、应用运行时和工具结果五个部分;模型继续回答是结果回传后的下一步,而不是模型直接执行工具。

  • MODEL 理解用户目标并决定是否需要工具。
  • TOOL REQUEST 携带约定的工具名和参数。
  • PARAMETER CHECK 检查类型、权限和调用条件。
  • APP RUNTIME 真正运行工具并承担副作用控制。
  • TOOL RESULT 把真实结果交回模型,供它继续生成。

4怎样把工具调用需求交给 Agent?

请制作一个订单查询的 Tool Calling 示例:用户问订单状态,模型先生成 get_order_status 和 orderId 参数;应用校验工具名、参数类型和权限,通过后由运行时执行查询。工具结果返回后,模型再生成“订单已发货”的回答。必须明确模型不能直接执行副作用,应用拥有真正执行权,并支持重播、Anatomy 键盘操作、暗色主题和窄屏布局。

5不用背,看看你能不能判断

1 / 3

模型生成工具名和参数后,谁真正执行工具?

请选择一个最符合题意的答案

选择答案后自动进入下一题

社区延伸

看别人真实遇到过什么

社区帖子还没有关联到这个词条。