工具调用
用户询问订单状态时,模型提出 get_order_status 和订单号,应用检查参数并执行查询,把真实状态交回模型后生成回答。
AI 与智能体约 10 分钟 · 从真实需求理解
1工具调用是模型请求、应用执行、结果回传的闭环
TOOL CALLING · REQUEST + RUN + RETURN模型提出调用,应用负责真正执行
MODEL → APP → TOOL → MODEL工具名和参数来自模型,但副作用必须经过应用校验并由运行时执行。
Tool Calling 不是模型直接去操作外部系统,而是模型先按约定提出工具名和参数。应用检查请求是否允许、参数是否有效,再由运行时执行工具,把真实结果交回模型继续生成。
- 模型负责选择合适的工具并生成结构化参数,但不能凭一句文本直接执行副作用。
- 应用负责校验工具名、参数、权限和执行条件,真正的调用发生在应用或运行时。
- 工具结果回到模型后,模型可以结合真实数据继续回答;结果仍需要应用判断是否可信、是否适合展示。
2工具调用不是自由文本、结构化输出或直接授权
结构化输出只保证返回内容符合某种 schema,Tool Calling 还要把工具请求交给应用检查和执行。模型生成了工具名,不代表工具已经运行,更不代表它获得了外部系统的权限。
- 模型输出的是调用意图和参数,应用才决定是否允许、如何执行以及如何处理失败。
- MCP 可以提供工具发现和协议连接,但 Tool Calling 说明的是一次具体请求如何经过运行时执行。
看到工具请求通过校验,只能说明应用准备执行;仍要处理超时、错误、权限和结果真实性,不能把模型的提议当成已完成动作。
3工具调用的五个组成部分
一次工具调用可以拆成模型、工具请求、参数校验、应用运行时和工具结果五个部分;模型继续回答是结果回传后的下一步,而不是模型直接执行工具。
- MODEL 理解用户目标并决定是否需要工具。
- TOOL REQUEST 携带约定的工具名和参数。
- PARAMETER CHECK 检查类型、权限和调用条件。
- APP RUNTIME 真正运行工具并承担副作用控制。
- TOOL RESULT 把真实结果交回模型,供它继续生成。
4怎样把工具调用需求交给 Agent?
请制作一个订单查询的 Tool Calling 示例:用户问订单状态,模型先生成 get_order_status 和 orderId 参数;应用校验工具名、参数类型和权限,通过后由运行时执行查询。工具结果返回后,模型再生成“订单已发货”的回答。必须明确模型不能直接执行副作用,应用拥有真正执行权,并支持重播、Anatomy 键盘操作、暗色主题和窄屏布局。
5不用背,看看你能不能判断
1 / 3
模型生成工具名和参数后,谁真正执行工具?
请选择一个最符合题意的答案
社区延伸
看别人真实遇到过什么
社区帖子还没有关联到这个词条。