跳到主要内容
返回
← 返回AI Agent 工程:从零到企业应用

AI Agent 工程 · 02

02.1 Tool Calling 的工作原理

理解模型如何提出工具调用建议,以及为什么参数校验、权限检查和错误处理必须留在应用程序中。

Tool Calling · Function Calling · 权限

知识定位

前一节让模型输出规范数据;本节让规范数据对应到有限的系统能力。下一节会用本地模拟订单完成一次完整查询。

一句话定义

**工具调用(Tool Calling,也常称 Function Calling)**是:应用把可用函数的名称、参数格式和说明告诉模型;模型提出调用建议;应用验证后真正执行函数,再将结果返回给模型。

模型建议 query_order({ orderId: "XB-1024" })
  → 服务端校验格式、登录身份和访问范围
  → 订单服务执行或拒绝
  → 结果作为工具消息回到模型
  → 模型生成面向客户的解释

核心原理

模型从不“执行 JavaScript/Python 函数”。它只返回一项结构化请求。你的应用是执行者,也必须是裁判:允许哪些工具、参数是否有效、当前用户是否有权、结果是否需要脱敏、失败时如何提示。工具描述应当具体,例如 query_order 只读查询,而不是模糊的 run_anything

外贸案例

跨境客服至少把 query_orderget_return_policy 分开:前者需身份和订单归属验证,后者可以公开。即使模型根据语言推测客户是订单拥有者,也不能代替会话认证。涉及退款、改地址的写操作还要增加业务状态检查、审计记录和人工审批策略。

实践任务

输入:为 query_order 写一份工具契约:参数、成功结果、失败结果、谁可调用。执行:列出两项服务端验证。预期输出:一张工具契约表。验收标准:契约中不存在真实密钥,也没有“模型判断后直接退款”。

主动回忆

工具返回“订单不存在”时,是模型错误、工具错误,还是正常业务结果?界面应怎样回答?

纸质笔记

  • 必须记:模型提议,应用执行。
  • 建议记:每个工具有最小权限、参数校验和明确失败结果。
  • 不用记:工具调用响应的某一厂商字段名称。

官方参考