当前位置: 首页 > news >正文

【Agent智能体13 | 工具使用-什么是工具?】

声明:本篇博客是以吴恩达的【Agent智能体】教程为基础,并对其中的内容做了笔记整理以及个人收获的总结。

前面已经介绍完反思设计模式的所有内容了,从这篇开始,要介绍智能体设计模式中的工具使用

这篇主要是介绍一下,工具的概念。
首先要明确,让大模型具体选择和使用工具(调用函数)的能力,就像我们人类一样可以使用很多工具实现更多功能

为什么需要工具?

通过这幅图的对比,我们可以看到工具可以让大模型有更强大的功能。

  • 没有工具的 LLM(上方的流程):传统的 LLM 其知识储备截止于训练完成的那一刻,且无法直接感知现实世界的实时状态。

    • 因此,当用户询问“现在几点了?”(What time is it?)时,模型只能基于其固有的限制回答:“抱歉,我无法获取当前时间。”

    外部工具的引入(右侧代码):图中展示了一段简单的 Python 代码get_current_time()。这是一个可以获取系统当前真实时间的“工具”。

  • 拥有工具的 LLM(下方的流程):赋予 LLM 访问该工具的能力后,面对同样的问题,LLM 就可以给出准确的答案:“现在是下午 3:20。”(It’s 3:20pm.)

下面简单展示一下简单的工具执行操作:

这个图揭示了 LLM 内部是如何处理工具调用的:

  • 调用工具的完整流程(上方的流程):
    1. 用户输入提示语:用户询问“现在几点了?”。
    2. LLM查看可用的工具集:LLM 接收到问题,检查自己拥有的工具箱(Tools),发现里面有一个get_current_time工具。
    3. LLM决定调用哪个工具:LLM 意识到要回答这个问题必须使用该工具,于是触发工具调用
    4. 工具会反馈给大模型:工具执行并返回原始结果(例如图中的15:20:45)。
    5. 大模型会输出最终结果:LLM 接收这个时间数据,将其转化为自然语言(“It’s 3:20pm.”)并输出给用户。

工具使用的一个重要方面是:可以让大模型自主决定是否使用这些工具中的任何一个(自主决策

  • 按需选择工具的流程(下方的流程):
    1. 用户询问“绿茶里有多少咖啡因?”。
    2. LLM 同样检查工具箱(里面依然只有get_current_time)。
    3. 关键:LLM 能够理解语境,它判断出“获取当前时间”这个工具对于回答“咖啡因含量”毫无帮助
    4. 因此,LLM 选择不调用任何工具,而是直接利用自己预训练的内部知识库给出答案(“绿茶通常每杯含有 25-50 毫克咖啡因…”)。

工具调用的具体示例 (Examples)

  • 场景一:网络搜索 (Web Search)
    • 用户:想找加州山景城附近的意大利餐厅。
    • LLM 动作:识别出需要搜索信息,调用web_search工具,并准确地将用户的话提炼为搜索关键字参数:query="restaurants near Mountain View, CA"
  • 场景二:数据库查询 (Database Query)
    • 用户:让我看看买了白色太阳镜的客户。
    • LLM 动作:识别出这是一个数据检索需求,调用query_database工具,并像程序员一样提取出关键字段:表名 (table="sales")、产品 (product="sunglasses")、颜色 (color="white")。
  • 场景三:数学计算 (Math Calculation)
    • 用户:存500美元,利息5%,10年后有多少钱?
    • LLM 动作:LLM 知道自己直接做复杂数学题容易出错,于是调用专用的计算工具。它不仅能调用像interest_calc这样预设好参数的函数,甚至能直接写出数学表达式并使用eval工具执行计算(500 ∗ ( 1 + 0.05 ) 10 500 * (1 + 0.05)^{10}500(1+0.05)10)。

结论:LLM 具备强大的意图识别与参数提取能力。它不仅知道“该用什么工具”,还能从口语化的提问中抓取工具运行所需的格式化数据。


上面都是单个工具的例子,但是很多场景下,我们希望为大模型提供多个工具或函数,具体例子如下:

多工具的组合与链式调用 (Multiple tools)

当一个任务无法用单一工具完成时,LLM 可以按逻辑顺序调用多个工具。

  • 复杂任务拆解:用户下达了一个复合指令:“在我的日历上找一个周四的空闲时间,并和 Alice 预约一个会议。”
  • 步骤 1:收集信息 (调用第一个工具)
    • LLM 接收到指令后,评估工具箱(包含预约、查日历、删除预约)。它判断出第一步必须先知道有哪些时间是空闲的。
    • 因此,它触发了check_calendar检查日历)工具。
    • 工具返回了结果:周四下午 3pm, 4pm, 6pm 有空。
  • 步骤 2:执行动作 (调用第二个工具)
    • LLM 接收到了空闲时间数据。现在它进入任务的第二阶段:创建会议
    • 它再次调用工具,这次选择了make_appointment创建预约),并智能地从上一步的时间列表中挑了一个(例如 3pm),作为参数传给该工具执行。
    • 工具返回结果:“会议创建成功!”。
  • 步骤 3:最终反馈
    • LLM 将所有操作的结果汇总,用自然语言向用户报告:“您的预约已设定在周四下午 3 点与 Alice 进行。”

通过上面的单个工具调用以及多个工具调用的例子,我们不难发现,工具对于LLM来说是很重要的,能提供给LLM更强大的外部感知能力!

如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!

http://www.gsyq.cn/news/1435214.html

相关文章:

  • 从零打造Arduino蜘蛛机器人:舵机控制与步态算法详解
  • 20251905 2025-2026-2 《网络攻防实践》实验九
  • 2026年2月衢州黄金回收实录:今日金价677元,警惕高价引流陷阱 - 黄金回收
  • 别再只调包了!用ResNet18/50在CIFAR-10上跑出第一个模型(环境配置+训练技巧避坑)
  • 2026年4月质量好的焊管供应商推荐,对焊法兰/不锈钢无缝管/弯头/耐蚀合金无缝管/不锈钢法兰,焊管供货商哪家靠谱 - 品牌推荐师
  • 为什么Windows 10用户需要这个3步搞定OneDrive的卸载神器?
  • 绍兴金价高位变现攻略:上门回收实测6家机构,实时金价1300元/克 - 黄金回收
  • SpringBoot整合Milvus向量数据库
  • 从平面点云到清晰轮廓:结合RANSAC与AC方法,搞定复杂场景下的轮廓提取
  • d2dx终极指南:让暗黑破坏神2在现代PC上完美运行的完整解决方案
  • Android逆向分析的终极利器:Androguard完全指南
  • 揭秘Open Claw:从概念到工业应用的开放式夹持技术全解析
  • 2026年7月长春黄金回收市场实测:金价高位下的变现选择 - 黄金回收
  • 2026 济南名表回收专业测评,添价收综合表现稳居优选 - 薛定谔的梨花猫
  • 3个步骤让Windows系统飞起来:AtlasOS性能优化完全指南
  • Android crash、anr
  • DamaiHelper:三分钟掌握高效抢票的完整解决方案
  • 3分钟重塑Windows 11任务栏:从实用工具到个性化桌面艺术
  • 2026 重庆奢侈品回收综合测评,添价收品类齐全实力雄厚 - 薛定谔的梨花猫
  • 构建跨平台直播聚合系统的Dart架构设计与实现
  • 2026年海南注册公司代办测评前五名|亲测真实推荐|主流财税公司全解析 - GrowthUME
  • 2026西安黄金回收去哪里最安全?7家正规门店口碑实测唐王珠宝(无折旧无隐形扣费) - 西安闲转记
  • 智慧职教刷课脚本:5分钟实现全平台自动学习,轻松解放学习时间
  • tchMaterial-parser:智慧教育平台电子课本下载的完整解决方案
  • 2026 重庆翡翠回收出手指南:添价收简化流程便捷变现 - 薛定谔的梨花猫
  • 如何彻底解决PCL2启动器整合包Mod注入失败的终极指南
  • 实测30+门店!2026大理婚纱照前十名靠谱推荐,这一家闭眼入 - charlieruizvin
  • 如何用现代Web技术实现GitHub下载加速:Fast-GitHub的技术实现解析
  • OBS Advanced Timer:6种计时模式打造专业直播体验的终极指南
  • 在 Simulink 中推挽式(Push-Pull)DC-DC 变换器,并搭建一套完整的磁芯饱和抑制仿真模型