第一章 调用是 Agent 的“手脚”

如果说大语言模型(LLM)是 AI Agent 的“大脑”,那么 API 与工具调用就是它的“手脚”。没有工具的 LLM 像一位博学的学者,只能坐在书房里滔滔不绝——它能告诉你“如何做”,却无法亲自去查、去算、去执行。

而一旦我们为 Agent 接上工具,它就脱胎换骨了:

  • 搜索网络,获取实时信息;
  • 读取文档,理解非结构化数据;
  • 查询数据库,精准检索结构化记录;
  • 发送邮件,主动与人协作;
  • 生成报告,产出完整成果;
  • 执行代码,完成数值计算或数据分析;
  • 调用外部 API,对接任何第三方服务。

这就是 Agent 工程 的魅力所在——它不再是“聊天机器人”的升级版,而是一个 能感知、能决策、能执行 的自主实体。而这一切的基石,就是稳健、安全、高效的工具调用能力。


第二章 核心概念:Agent 调用工具的“四层阶梯”

要真正理解工具调用,我们需要从底层到上层,理清四个关键概念:

用户意图

LLM 理解与规划

工具选择与参数生成

执行调用 & 获取响应

结果解析与结构化输出

(可选)写入记忆 / 触发后续动作

  1. 意图识别:Agent 首先理解用户想要什么(例如“总结今日 AI 新闻”)。
  2. 工具选择:LLM 根据意图,决定用哪个工具(搜索?数据库?代码执行?)。
  3. 参数构造:LLM 生成符合工具要求的输入参数(如搜索关键词、日期范围)。
  4. 执行与解析:Agent 实际调用 API,拿到原始响应后,再将其解析为结构化数据(JSON / 表格等)。
  5. 记忆与反馈:关键结果存入短期或长期记忆,供后续多轮对话或复杂任务使用。

第三章 关键技术点:从“能调用”到“调得稳”

在实际工程中,仅仅“会调用”远远不够。要想让 Agent 在生产环境中可靠工作,你必须掌握以下几个核心技能:

3.1 REST API 与认证

绝大多数工具以 RESTful API 形式暴露。你需要理解:

  • HTTP 方法(GET / POST / PUT / DELETE);
  • 请求头(Headers)与请求体(Body);
  • 常见的认证方式:API KeyOAuth 2.0JWT

小提示:永远不要在代码中硬编码密钥,使用环境变量或密钥管理服务。

3.2 速率限制(Rate Limiting)与重试策略

公开 API 通常会限制调用次数。Agent 必须学会:

  • 监控 X-RateLimit-* 响应头;
  • 实现指数退避重试(Exponential Backoff);
  • 在请求失败时,优雅降级(例如先读缓存,再尝试外部 API)。

3.3 函数调用(Function Calling)与结构化输出

现代 LLM(如 GPT-4、Claude 3)支持 原生函数调用——你只需提供工具的函数签名(名称、参数类型、描述),LLM 就能自动生成符合格式的调用请求。配合结构化输出(如 JSON Schema),你可以强制 LLM 返回可被程序直接解析的格式,从而无缝衔接下游逻辑。

3.4 Webhook 与异步回调

对于耗时任务(如长文本摘要、大规模数据爬取),Agent 不应同步等待。通过 Webhook,Agent 可以注册一个回调 URL,让外部服务完成任务后主动“通知”Agent,从而构建非阻塞的异步工作流。


第四章 示例工作流:一个完整的“AI 新闻摘要助手”

现在,让我们把这些技术点串起来,构建一个真实的示例工作流。

用户需求:“查找并总结最新的 AI 新闻,以结构化方式返回。”

输出格式化器 记忆存储 文章解析器 搜索引擎 API AI Agent 用户 输出格式化器 记忆存储 文章解析器 搜索引擎 API AI Agent 用户 loop [对每篇文章] “总结今日 AI 头条” 规划任务(搜索 → 提取 → 摘要 → 存储 → 输出) GET /search?q=AI+news&date=2026-07-03 返回文章 URL 列表 抓取并提取正文 纯文本内容 LLM 生成简要摘要 存储所有摘要(带时间戳) 将摘要组装为 JSON 数组 结构化输出 返回最终结果(标题、摘要、链接、日期)

步骤详解

  1. 任务规划
    Agent 将“总结新闻”拆解为:搜索 → 提取 → 摘要 → 结构化输出。这一步通常由 LLM 的推理能力完成,或由预定义的 Agent 工作流(如 ReAct 模式)驱动。

  2. 网络搜索
    Agent 调用搜索引擎 API(如 Google Custom Search、Bing Search),传递参数 q="AI news"date=2026-07-03。这里需处理 API 认证和速率限制。

  3. 内容提取
    对返回的每个 URL,Agent 使用文档解析工具(如 newspaper3kBeautifulSoup)提取正文,去除广告、导航等噪音。

  4. 逐篇摘要
    将每一篇正文拼接成提示词,调用 LLM 生成 2~3 句话的摘要。注意:如果正文很长,需先做文本分块,避免超出上下文窗口。

  5. 记忆存储
    将所有摘要(含原始链接、发布时间)存入向量数据库或键值存储,以便后续查询或追问(例如“昨天那篇关于 OpenAI 的报道怎么说?”)。

  6. 结构化输出
    最终返回一个 JSON 数组,包含 titlesummaryurlpublished_at 字段。Agent 可以通过函数调用确保输出严格符合该 Schema。


第五章 进阶思考:从“单次调用”到“自主决策”

上述示例展示了单个任务的完整闭环。但在真实场景中,Agent 往往需要多轮工具调用,甚至根据中间结果动态调整后续动作。这时,你需要考虑:

  • 工具选择策略:LLM 是每次实时决策,还是预定义 DAG(有向无环图)?
  • 错误恢复:如果某个 API 超时,Agent 能否自主切换备选工具?
  • 记忆管理:短期记忆(会话内)和长期记忆(跨会话)如何配合?
  • 可观测性:如何记录每次调用的输入、输出、耗时,方便调试和审计?

这些正是 Agent 工程从“Demo”走向“产品”的关键挑战。


第六章 总结:工具调用是 Agent 的“操作系统”

我们可以把 Agent 调用工具的过程,类比为操作系统管理外部设备:

  • LLM 是 CPU,负责计算与决策;
  • 工具描述(函数签名) 是设备驱动程序接口;
  • 结构化输出 是标准化的数据总线;
  • 记忆存储 是内存与硬盘;
  • 速率限制与重试 是中断管理与异常处理。

当你掌握了 API 认证、速率控制、函数调用、结构化输出和 Webhook 这五项基本功,你就不再只是“调用 API 的开发者”,而是 Agent 行为的设计师。你能让 AI 自主地完成一整套信息采集、处理、存储和汇报的闭环,而用户只需提出一个自然语言请求——剩下的,Agent 会替你一步步搞定。

最终,Agent 工程的本质不是堆砌工具,而是用清晰的逻辑将工具编织成可信赖的行动序列。而这一切,从你掌握第一个 API 调用开始。


下一站建议:尝试复刻上述“AI 新闻摘要”工作流,使用熟悉的编程语言(Python / TypeScript)和 LLM 函数调用接口,亲手体验一次 Agent 从“思考”到“行动”的完整旅程。你会发现,当你把工具真正交到 AI 手中时,奇迹才刚刚开始。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐