Skip to content

14.3 Tools / Functions 调用机制详解

引言:为什么工具调用是 Agent 的核心

现代大模型无法直接访问互联网、执行代码、调用数据库。工具 = Agent 的"手"和"脚",模型负责"脑",工具负责"行动"。

14.3.1 现代工具调用的三大模式

模式说明特点
Function Calling模型输出 JSON 格式的函数调用稳定、强结构化、高可控性
Tool UseClaude 使用的 XML 格式工具调用高灵活性、支持连续 ReAct 循环
API Routing模型根据工具描述决定调用哪个工具适合大型多工具环境

14.3.2 工具描述(Tool Spec)

模型通过开发者提供的描述理解工具能力:

name: "search"
description: "用于搜索网络信息"
parameters:
  query: { type: string, description: "搜索关键词" }

Tool Spec 的质量决定了 Agent 的智能程度。

14.3.3 工具调用提示词必须解决的问题

问题示例规则
什么时候必须调用工具"当你需要访问外部信息时,必须使用工具"
什么时候不能调用工具"当任务无需外部信息时,不得调用工具"
工具的输入格式"Action Input 必须是 JSON"
如何解释工具返回结果"Observation 返回后,必须更新推理"

14.3.4 工具调用的错误模式与解决方案

错误解决方案
格式错误加入严格格式要求和示例
不必要的工具调用"只有在任务无法直接完成时才使用工具"
工具滥用"若当前信息充足,必须直接回答"
工具选择错误"必须根据工具描述决定是否合适"

14.3.5 高级工具调用策略

策略说明
Multi-Tool Routing推理选择最适合的工具
Chained Tools组合多个工具完成任务
Retry Mechanism工具失败时调整参数并重试
推理更新根据 Observation 重新推理下一步

本节小结

关键要点

  1. Tools/Functions = Agent 的"行动能力"
  2. 工具调用基于 Tool Spec
  3. 需要提示词明确:何时用、怎么用、格式、限制
  4. 多工具场景需要路由、组合、重试、状态管理

工具调用是 Agent 的核心能力,接下来我们将学习:Agent 状态管理