Tool Calling 篇:让 LLM 调用外部工具

Tool Calling 让模型不只会回答,还能选择调用搜索、数据库、代码执行、业务 API 等外部能力。

Tool Calling 篇:让 LLM 调用外部工具

LLM 自己不能真正读取数据库、发送邮件或调用支付接口。Tool Calling 的作用是把外部能力声明给模型,让模型在需要时输出结构化调用请求,再由应用代码执行。

Rendering diagram...

工具定义

工具通常需要名称、描述和参数 schema。描述要说明工具什么时候用,参数要尽量结构化。

const getOrderStatusTool = {
  name: "get_order_status",
  description: "根据订单 ID 查询订单当前状态",
  parameters: {
    type: "object",
    properties: {
      orderId: { type: "string" }
    },
    required: ["orderId"]
  }
};

安全边界

工具调用的执行权在应用,不在模型。模型只能提出“想调用什么”,真正是否允许调用、用什么权限调用、是否需要人工确认,都应该由业务代码控制。

危险操作要加审批,比如删除数据、转账、发外部消息。只读工具也要做权限过滤,不能因为模型能调用工具就绕过用户权限。

小结

Tool Calling 是 Agent 的基础能力。没有工具,模型主要是语言生成器;有了工具,模型才开始进入真实系统工作流。

参考链接