ChatGPT如何查天气做计算?小白程序员必备:工具调用深度解析(收藏版)
本文深入解析了ChatGPT进行外部功能调用如查天气、做计算的核心机制——工具调用。通过介绍现代AI Agent开发框架如LangChain、AgentScope中的ReActAgent原理阐述了推理与行动Reasoning Acting的Agent loop工作流程。文章以一个天气查询工具为例详细展示了如何定义工具、创建ReActAgent并注册工具以及Agent与模型之间的协议报文交互过程。通过学习本文小白和程序员可以快速掌握大模型工具调用的基本原理和实现方法为开发更强大的AI应用打下基础。你有没有好奇过ChatGPT 是怎么查天气、做计算的背后的秘密就是“工具调用”。本文将带你了解工具调用的过程。原理现代 AI Agent 开发框架如 LangChain、AgentScope通常提供开箱即用的 Agent 类比如ReActAgent。前缀 ReAct 代表 Reasoning Acting即推理与行动推理就是指调用大模型分析问题行动就是指调用外部工具Agent执行某个任务的时候可能进行多次Reasoning Acting这就是Agent loop。这个 Reasoning Acting 循环 是现代 Agent 的核心范式。下图展示了完整的工作流程简化起见图中并未体现 memory、RAG 等组件步骤1、2、3、4组成了Reasoning Acting循环1. Agent收到用户输入后首先调用模型进行推理2. Agent拿到模型推理输出后判断是否需要调用工具如果需要执行步骤3否则输出结果流程结束3. 调用工具4. 收到工具执行结果回到步骤1再次执行推理注意这时的推理输入是[用户输入] [工具执行结果]react_agent工作原理接下来我们通过一个工具调用的例子看下上述各部分是如何协作的。示例Demo下面是用AgentScope-Java写的一个工具调用的例子SimpleWeatherToolDemo[1]首先我们用Tool注解定义一个天气查询工具入参是城市名出参是当地的天气情况数据是mock的/ * WeatherTools - A simple tool class with a get_weather tool. */ public static class WeatherTools { / * Get weather information for a city (mock data). * * param city The city name * return Weather information string */ Tool(name get_weather, description Get current weather information for a city) public String getWeather(ToolParam(name city, description The city name, e.g., Beijing) String city) { // Mock weather data (fixed values) return String.format( Weather in %s:/n- Condition: Sunny/n- Temperature: 25°C/n- Humidity: 60%%, city); } }接下来创建ReActAgent并将工具以toolkit方式注册到ReActAgent上// Create toolkit and register the weather tool ToolkittoolkitnewToolkit(); toolkit.registerTool(newWeatherTools()); // Build the agent with the tool ReActAgentagent ReActAgent.builder() .name(WeatherAssistant) .sysPrompt( You are a helpful weather assistant. When asked about weather, use the get_weather tool.) .model(createModel()) .toolkit(toolkit) .memory(newInMemoryMemory()) .build();现在就可以通过agent查询天气了String cityHangzhou; System.out.println(User: Whats the weather in city ?); MsguserMsg Msg.builder() .role(MsgRole.USER) .content(TextBlock.builder() .text(Whats the weather in city ?) .build()) .build(); Msgresponse agent.call(userMsg).block(); System.out.println(Agent: response中解析出来的结果);执行上述demo如果要自己运行附件SimpleWeatherToolDemo.javacreateModel中需要填入自己的API key等信息输出如下User: Whats the weather in Hangzhou? Agent: The current weather in Hangzhou is sunny with a temperature of 25°C and humidity at 60%. Its a pleasant day!注意Agent 的回复比工具返回的原始数据更自然。这是因为 Agent 收到工具输出后会进行第二轮推理用大模型将原始数据润色成自然语言。下面我们从协议报文的角度看下Agent是怎么和大模型交互的。报文交互不同的模型服务提供商提供的API可能不同这里我们只讨论OpenAI Chat Completions[2]格式的。首先是Agent第一次推理时的请求报文我们关注两点messages部分前面是system提示词大模型的人设接着是用户输入tools部分只包含一个工具即get_weather它的作用、参数信息都在这里了这样大模型就可以根据用户提问来决定是否调用这个工具如果调用的话入参怎么填Agent首次推理时的请求报文接着是大模型的回复tool_calls部分说明要调用哪些工具包括工具名(get_weather)和入参(Hangzhou)等信息大模型的回复中可以包含多个工具调用也可以不包含工具调用具体由大模型根据[用户问题]和[可用工具] 综合推理决定finish_reason为tool_calls说明本次推理结束是因为工具调用暂停这里说的暂停只是供大模型的调用者使用大模型本身不维护这个状态usage部分包含本次推理的token消耗情况大模型的回复Agent框架收到大模型的回复后根据指示调用get_weather函数拿到get_weather的返回值后再次调用大模型进行推理messages部分在第一次推理的基础上又叠加了大模型的回复role为assistant的消息还有工具调用的结果role为tool的消息这是因为大模型是没有记忆的每次推理都是全新的所以要把历史会话记录告诉它函数get_weather还在tools中这是因为我们不知道大模型接下来是否继续调用工具归根结底还是因为大模型没有记忆每次推理的时候都要带上所有的工具信息。Agent再次推理时的请求报文大模型再次推理后的回复如下回复中没有tool_calls字段说明不需要调用工具了finish_reason为stop说明本次请求的推理结束了message中的内容和程序最终的输出一致大模型再次推理后的回复Agent框架收到大模型的回复后发现无需继续调用工具就将结果直接输出给用户了。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

相关新闻

从 curl 到工程封装:构建全网热搜数据聚合层

从 curl 到工程封装:构建全网热搜数据聚合层

适用场景 全媒体舆情监测、热点事件追踪、内容运营选题挖掘等场景,都需要跨平台获取实时热搜数据。传统做法是逐一调用各平台自有接口,面临鉴权不同、限流分散、数据结构不统一等问题。全网热搜聚合 API 通过一次 POST 请求,同时返回微博、知…

2026/7/27 18:14:37阅读更多 →
健康证识别API参数详解与最佳实践

健康证识别API参数详解与最佳实践

适用场景与接口价值 健康证(从业人员健康检查合格证)在餐饮、食品、公共卫生等行业中属于必须核验的证件。传统的人工录入方式耗时费力,且容易出错。通过OCR(光学字符识别)接口,可以自动从证件图片中提取姓…

2026/7/27 18:14:37阅读更多 →
企业数据打通的第一道难关:异构系统对接怎么做才不伤原系统

企业数据打通的第一道难关:异构系统对接怎么做才不伤原系统

前阵子接触一家装备制造企业,IT总监说了一个让他头疼了两年的问题。公司从2005年开始陆续上系统,最早那套进销存是十几年前的供应商做的,厂商早找不到了;中间换过两次ERP,每次都因为历史数据迁移留了一堆尾巴&#xff…

2026/7/27 18:12:36阅读更多 →
3分钟掌握抖音无水印下载:双版本工具如何彻底改变内容保存体验

3分钟掌握抖音无水印下载:双版本工具如何彻底改变内容保存体验

3分钟掌握抖音无水印下载:双版本工具如何彻底改变内容保存体验 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 在…

2026/7/27 23:25:46阅读更多 →
DaVinci预览引擎:从Bayer到YUV的硬件图像处理流水线详解

DaVinci预览引擎:从Bayer到YUV的硬件图像处理流水线详解

1. 项目概述:从原始Bayer到标准YUV的硬件化旅程在嵌入式视觉系统,尤其是数码相机、工业相机和安防摄像头里,有一个核心挑战始终存在:如何将图像传感器输出的“半成品”数据,快速、高质量地转换成我们能直接观看或编码压…

2026/7/27 23:25:46阅读更多 →
学Simulink——三相六脉波(6‑Pulse)不可控整流在大感性负载下的特性仿真

学Simulink——三相六脉波(6‑Pulse)不可控整流在大感性负载下的特性仿真

目录 手把手教你学Simulink——三相六脉波(6‑Pulse)不可控整流在大感性负载下的特性仿真 一、为什么做 三相六脉波不可控整流 + 大感性负载 二、三相不可控整流原理(简)** 三、关键参数** 四、Simulink 建模(手把手)** 4.1 Step 1️⃣ —— 三相 AC 源 + 源电感 4…

2026/7/27 23:25:46阅读更多 →
运维/网安系统化学习记录(网络排查及防火墙)

运维/网安系统化学习记录(网络排查及防火墙)

在了解网络相关知识前,我们必须要了解一下OSI七层模型以及TCP/IP协议在实际流量中的运作模式 在这里,我推荐一个链接,这个博主讲的很详细,图文兼具,对于三次牵手,四次握手都讲的简单易懂 https://blog.cs…

2026/7/27 23:25:46阅读更多 →
如何搭建个人知识库提升AI问答专业性

如何搭建个人知识库提升AI问答专业性

1. 为什么需要个人知识库? 在这个信息爆炸的时代,我们每天都会接触到大量有价值的内容,但AI助手给出的回答往往过于"平均"和"泛泛"。就像一位只会照本宣科的老师,虽然能给出标准答案,却缺乏针对性…

2026/7/27 23:25:46阅读更多 →
抗反射抗眩光护眼钢化膜选购:悟赫德观复盾深度评测

抗反射抗眩光护眼钢化膜选购:悟赫德观复盾深度评测

抗反射抗眩光护眼钢化膜选购指南:2026年告别屏幕反光从这篇开始在工位灯光下回消息,屏幕上映出整个天花板的灯阵;在咖啡馆窗边刷手机,画面被侧光冲得灰白一片;在户外想拍张照,取景框里全是自己脸的倒影。这…

2026/7/27 23:23:46阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/27 1:14:34阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/27 1:14:52阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/27 1:14:56阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:24阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:24阅读更多 →
2007-2023年各市区县生态文明建设示范区DID

2007-2023年各市区县生态文明建设示范区DID

数据简介 自改革开放以来,我国依赖高投入、高资源消耗和高污染等传统发展模式实现了经济短期内的快速增长, 然而这也导致了严重的生态环境危机。因此,国家有力于推动企业高质量经济发展,协同生态保护的方针,从而从201…

2026/7/27 0:00:24阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →