Google 智能体设计模式:工具使用(函数调用)

工具使用模式概述

  • 前几章主要讨论了 链式、路由、并行化、反思 等内部信息流模式。
  • 要让 Agent 真正与现实世界交互,必须具备 工具使用能力
  • 工具使用通常通过 函数调用(Function Calling) 实现,使 LLM 能调用外部 API、数据库、服务,甚至执行代码。

工具调用流程

  1. 工具定义:描述工具的功能、名称、参数及类型。
  2. LLM 决策:基于用户请求和工具定义,决定是否调用工具。
  3. 函数调用生成:LLM 输出结构化数据(如 JSON),指定工具名和参数。
  4. 工具执行:框架拦截并执行实际函数。
  5. 结果返回:工具输出反馈给 Agent。
  6. LLM 处理:LLM 使用结果生成最终回答或决定下一步动作。

工具调用突破了 LLM 的训练数据限制,使其能访问实时信息、执行计算、操作用户数据或触发现实世界行动。

工具调用 vs 函数调用

  • 函数调用:调用预定义代码函数。
  • 工具调用:更广义,涵盖 API、数据库查询、甚至调用其他 Agent。
  • 这种视角让 Agent 成为 跨数字资源和智能体的编排者

框架支持

  • LangChain / LangGraph:提供工具定义与集成能力。
  • Google Agent Developer Kit (ADK):内置 Google 搜索、代码执行、Vertex AI 搜索等工具。
  • CrewAI:支持多 Agent 协作与任务分配。

实际应用与用例

  1. 信息检索

    • 工具:天气 API
    • 示例:用户问"伦敦天气如何",Agent 调用 API 返回实时天气。
  2. 数据库与 API 交互

    • 工具:库存查询 API
    • 示例:电商 Agent 查询产品库存。
  3. 计算与数据分析

    • 工具:股票 API + 计算器
    • 示例:计算买入股票的潜在利润。
  4. 通信发送

    • 工具:邮件 API
    • 示例:用户让 Agent 给 John 发邮件。
  5. 代码执行

    • 工具:代码解释器
    • 示例:运行 Python 代码并返回结果。
  6. 设备控制

    • 工具:智能家居 API
    • 示例:关闭客厅灯光。

工具使用让 LLM 从"文本生成器"变为能 感知、推理、行动 的智能体。

概览与经验法则

  • 是什么:LLM 本身与外部世界断开,工具使用是连接桥梁。
  • 为什么:解决 LLM 无法获取实时数据、执行操作的限制。
  • 何时用:当任务需要实时数据、私有信息、精确计算、代码执行或触发外部系统时。

关键要点

  • 工具使用(函数调用)是 Agent 与外部世界交互的核心模式
  • 流程:定义工具 → LLM 决策 → 生成调用 → 框架执行 → 返回结果 → LLM 整合。
  • 框架支持:LangChain、CrewAI、Google ADK。
  • 应用场景广泛:信息检索、数据库交互、计算分析、通信、代码执行、设备控制。
  • 工具使用让 Agent 能执行 现实世界操作,而不仅是生成文本。
相关推荐
勤劳打代码4 小时前
妙笔生花 —— Flutter 实现飞入动画
前端·flutter·设计模式
NiKo_W5 小时前
Linux 进程通信——基于建造者模式的信号量
linux·设计模式·建造者模式·system v
rongqing20195 小时前
Google 智能体设计模式:探索与发现
人工智能·设计模式
Kingsdesigner8 小时前
PPT太丑?用InDesign制作电影级的交互式在线演示文档
图像处理·设计模式·powerpoint·设计师·交互设计·ppt·indesign
rongqing201910 小时前
Google 智能体设计模式:学习和适应
设计模式
笨手笨脚の11 小时前
设计模式-状态模式
设计模式·状态模式·行为型设计模式
破晓之翼13 小时前
控制论的定义、工程意义及系统功能整合
设计模式·软件工程·产品经理·学习方法
bkspiderx14 小时前
C++设计模式之行为型模式:状态模式(State)
c++·设计模式·状态模式
rongqing20191 天前
Google 智能体设计模式:人机协同(HITL)
设计模式