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

05 - Tool 工具调用:让 AI “长出双手“

这是从 LLM 到 Agent Skill系列的第五篇。前面四篇我们一直在聊模型本身——它怎么运作、怎么读文字、怎么记住对话、怎么接收指令。但有一个根本的局限始终没有解决模型只能输出文本无法感知和影响外部世界。这一篇我们来聊聊它是怎么长出双手的——Tool工具调用。一、LLM 的天然局限回顾第一篇的核心认知大语言模型唯一的能力就是输出文本。这意味着什么❌ 它不知道今天天气如何训练数据截止到某个时间点❌ 它不知道此时此刻的股价❌ 它不能帮你发一封邮件❌ 它不能在你的日历里创建一个日程❌ 它不能读取你本地的文件你问它今天北京天气怎么样如果只靠模型本身它要么回答不上来要么瞎编。这就是 LLM 的核心局限封闭的知识边界。二、Tool工具给模型装假肢2.1 工具的本质是什么Tool工具本质上就是一个函数Function。def get_weather(city: str, date: str) - str: # 调用天气 API返回天气信息 return 北京今天晴22°C这个函数接收城市名和日期返回天气信息。模型不认识天气但它知道当用户问天气时有一个叫get_weather的工具能用。2.2 工具的描述Function Definition给模型看的不是代码而是工具的描述{ name: get_weather, description: 查询指定城市的天气信息, parameters: { city: 城市名称如北京, date: 日期如2025-05-24 } }这个描述本身会被放入 Context作为 System Prompt 或工具列表的一部分。模型读取后就知道当我遇到天气相关的问题可以调用这个工具。三、工具调用的完整流程四个角色这是本文最核心的一张流程图用户今天北京天气怎么样 │ ▼ ┌──────────────────────────────────────┐ │ 平台Platform │ │ │ │ 将「用户问题 可用工具列表」打包 │ │ 发给大模型 │ └──────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────┐ │ 大模型LLM │ │ │ │ 分析问题 → 决定调用 get_weather │ │ 输出【调用指令】 │ │ { │ │ tool: get_weather, │ │ params: { │ │ city: 北京, │ │ date: 2025-05-24 │ │ } │ │ } │ └──────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────┐ │ 平台Platform │ │ │ │ 接收指令 → 实际执行函数 → 获取结果 │ │ 北京今天晴22°C北风3级 │ └──────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────┐ │ 大模型LLM │ │ │ │ 接收工具返回的数据 → 整合生成回答 │ │ 北京今天天气晴朗气温22°C │ │ 吹北风3级适合出门。 │ └──────────────────────────────────────┘ │ ▼ 用户看到回答四、四个角色的职责角色做什么用户User提出问题或任务平台Platform传话筒 协调者 执行器。管理 Context把工具列表告诉模型真正执行函数回传结果大模型LLM分析问题决策调用哪个工具、填什么参数。只输出调用指令文本工具Tool被平台调用执行实际逻辑调 API、读文件等返回结果五、最重要的认知模型不执行工具大模型只是输出了一段文本——一个包含工具名和参数值的 JSON 字符串。它不执行任何东西。真正去调天气 API 的是外部的平台。模型说帮我查一下北京天气→ 平台听到后去查 → 把结果贴回来 → 模型看着结果说哦北京晴天。就像一个人被锁在房间里面前只有一个打字机。他打字说请帮我看看窗外有没有下雨。外面的人看了纸条去窗口看了看塞回来另一张纸条没下雨晴天。房间里的人于是打字回复外面是晴天可以出门。模型就是那个锁在房间里的人。他从来没有真正看见过窗外。六、工具调用的实际应用场景6.1 实时信息获取天气查询股票价格新闻搜索航班状态6.2 外部系统操作发送邮件创建日历事件操作数据库增删改查调用企业内部 API6.3 本地环境交互读写文件执行 Shell 命令操作浏览器控制本地软件在 Claude Code 这个产品里工具就是代码编辑、文件读写、命令执行等能力——模型说要改哪一行平台帮它改。七、工具调用的进阶形式7.1 多工具并行调用模型可以一次性输出多个工具调用指令没有依赖关系的工具可以并行执行[ {tool: get_weather, params: {city: 北京}}, {tool: get_weather, params: {city: 上海}} ]7.2 工具调用链一个工具的结果可以作为另一个工具的输入用户帮我查一下北京天气要是下雨就帮我找最近的雨伞店 → 调 get_weather(北京) → 下雨 → 调 search_nearby(雨伞店, 北京) → XX路12号 → 回复用户这其实就是 Agent 的雏形了——我们第七篇会详细讲。八、总结Tool 是 LLM 从嘴到手的关键一步工具本质上是函数平台给模型看的只是函数的描述名称、参数、用途。模型只输出调用指令JSON 文本不真正执行。平台负责执行并回传结果。工具让模型获得了感知实时信息和影响外部世界的能力是所有 AI 应用的基础能力。下一篇我们来聊工具接入的标准化问题——MCP模型上下文协议看看怎么避免为每个平台重复造轮子。本系列文章LLM 大语言模型Token 与 TokenizerContext 与 Context WindowPrompt 提示词Tool 工具调用← 你在这里MCP 模型上下文协议待发布Agent 智能体待发布Agent Skill待发布
http://www.zskr.cn/news/1409283.html

相关文章:

  • 独立看门狗 vs 窗口看门狗:STM32里‘喂狗’姿势不对,可能直接复位!
  • 用MeterSphere测自己:一个接口自动化场景从零到跑通的保姆级实录(v1.8.2)
  • 【独家首发】全球首份《ChatGPT游戏攻略生成效能白皮书》:覆盖127款游戏、21万条用户反馈、9类失败案例归因分析
  • 博图DVS相机,高速低延迟视觉感知首选
  • G1舞蹈开发三步曲:从预设到强化学习
  • 【STM32】RTT-Studio中HAL库开发教程十二:FreeRTOS移植
  • 权威评测!2026大厂openclaw/龙虾产品推荐排行 高口碑选型榜单
  • ChatGPT构图建议为何总翻车?:3类典型Prompt陷阱+5步精准调教法(附NASA航拍级构图参数表)
  • HarmonyOS 3D相册轮播组件深度解析:从原理到实践
  • 美业门店数字化运营实战指南:用 SaaS 打造精细化经营体系
  • SpringBoot学习日记——DAY07(mybatis-plus代码生成器)
  • 深度解析:SPI 多设备挂载场景下的隐形陷阱
  • 国产AI大模型综合能力全球排行 - 20260527期
  • ChatGPT直播话术设计避坑指南:97%新手踩中的5个认知陷阱及即时修正话术模板
  • 保姆级教程:在AMD锐龙电脑上用VMware 16.2.5搞定macOS BigSur虚拟机(附最新unlocker工具包)
  • LeetCode 98:验证二叉搜索树 | 中序遍历
  • 手写奇偶分频(上)
  • 别再死记公式了!用‘投影’的视角,5分钟彻底搞懂条件期望(附Python代码示例)
  • ChatGPT简历优化不是“润色”,而是“人岗智能映射”——基于127份真实Offer Letter的NLP特征建模实践
  • 全球ChatGPT竞品格局突变:Claude 4、Gemini 2.5、Kimi+DeepSeek四强市占率重排(附6个月追踪数据表)
  • 2026网文圈变天?实测国内12款AI写小说平台硬核盘点(建议收藏)
  • 观测对比使用Taotoken前后大模型API调用的平均延迟与稳定性体感
  • 仅限前500名开放:ChatGPT视频脚本写作「反模板」训练营(含独家「人设温度值」校准表)
  • 品牌设计全案使用后交付偏差先分阶段确认验收标准
  • 护眼落地灯哪款好?2026全网畅销品牌出炉,性能护眼双在线!
  • AI伦理声明全链路拆解,从技术事实陈述到公众情绪锚点设计——ChatGPT声明的12个隐藏结构模块
  • 地图API对比:高德、百度、腾讯、天地图、迈云LTS
  • 车道保持辅助(LKA)全解析:从原理到产业,一篇读懂智能驾驶基石
  • 别再手动写300条宾客备注!ChatGPT婚礼策划辅助的隐私计算引擎:GDPR/《个保法》双认证数据沙箱实录
  • ChatGPT心理支持的5道生死红线,99%开发者不知道第3条违反《精神卫生法》第23条实施细则