给AI装上“手和脚”:LangChain与Dify实战,让智能体自主调用工具完成复杂任务
从“聊天机器人”到“能干活的人工”就差这一步大家好今天咱们聊一个特别实在的话题怎么让AI真正“动起来”。不知道你有没有这种体验——跟ChatGPT聊了半天它说得头头是道但一到要它帮你干点实事比如查个天气、算个账、查个数据库它就傻眼了。为啥因为大模型本质上就是个“嘴强王者”它懂再多也没法直接触碰外面的世界。工具调用Tool Calling就是来解决这个问题的。它让AI模型能够调用外部函数或API来完成特定任务相当于给AI装上了手和脚。今天我就用LangChain和Dify两个主流框架手把手带大家给AI装上这双手脚。一、先搞懂原理工具调用到底是怎么回事说白了工具调用的核心就三步AI“想”用户提了个需求大模型推理后决定——这事儿我得找外援AI“喊”模型发出一个工具调用请求告诉系统“我要用XX工具参数是XXX”系统“干”执行工具把结果返回给模型模型再整合成最终答案一个关键原则是模型根据输入的相关性决定是否调用工具。如果用户只是随便聊聊天模型不会没事找事去调工具。好原理懂了咱们直接上代码。二、LangChain实战用代码给AI“安胳膊”LangChain是当前生态规模最大的大模型应用开发框架。它提供了tool装饰器和create_tool_calling_agent等工具让你能快速地把业务函数包装成AI可调用的工具。第一步安装依赖pipinstalllangchain langchain-openai python-dotenv第二步定义工具假设我们要让AI能算数、能查天气模拟、能查股票模拟。用tool装饰器一包装普通函数秒变AI工具fromlangchain.toolsimporttoolfromlangchain_openaiimportChatOpenAIfromlangchain.agentsimportcreate_tool_calling_agent,AgentExecutorfromlangchain.promptsimportChatPromptTemplatefromdotenvimportload_dotenvimportrandom load_dotenv()# 工具1加法计算器tooldefadd(a:int,b:int)-int:将两个数字相加。 Args: a: 第一个数字 b: 第二个数字 returnab# 工具2乘法计算器tooldefmultiply(a:int,b:int)-int:将两个数字相乘。 Args: a: 第一个数字 b: 第二个数字 returna*b# 工具3模拟天气查询tooldefget_weather(city:str)-str:查询指定城市的天气情况。 Args: city: 城市名称 weathers[晴天☀️ 28°C,多云☁️ 22°C,小雨️ 18°C,大雪❄️ -5°C]returnf{city}的天气{random.choice(weathers)}# 工具4模拟股票查询tooldefget_stock_price(symbol:str)-str:查询指定股票代码的当前价格。 Args: symbol: 股票代码如 AAPL, TSLA prices{AAPL:188.50,TSLA:245.30,GOOGL:141.80,MSFT:378.90}returnf{symbol}当前价格${prices.get(symbol.upper(),100.00)}看到了吗每个工具函数的文档字符串docstring特别重要——它就是AI理解“这个工具是干嘛的、什么时候该用”的唯一依据。描述写得越清楚AI选工具就越准。第三步创建智能体# 初始化模型选支持工具调用的模型llmChatOpenAI(modelgpt-3.5-turbo,temperature0)# 把所有工具打包tools[add,multiply,get_weather,get_stock_price]# 写提示词模板promptChatPromptTemplate.from_messages([(system,你是一个智能助手可以根据用户需求自主调用合适的工具来完成任务。),(human,{input}),(placeholder,{agent_scratchpad}),])# 创建智能体agentcreate_tool_calling_agent(llm,tools,prompt)# 创建执行器真正跑起来的东西agent_executorAgentExecutor(agentagent,toolstools,verboseTrue)create_tool_calling_agent是LangChain官方推荐的新范式基于函数调用机制效率更高适合生产环境。第四步跑起来看看# 测试1纯计算resultagent_executor.invoke({input:帮我算一下 123 乘以 456 等于多少})print(result[output])# 测试2查天气resultagent_executor.invoke({input:北京今天天气怎么样})print(result[output])# 测试3混合任务resultagent_executor.invoke({input:查一下苹果公司的股票价格然后告诉我如果买100股需要多少钱})print(result[output])运行效果大概是这样开启verboseTrue可以看到完整推理过程 Entering new AgentExecutor chain... Invoking: multiply with {a: 123, b: 456} responded: 123乘以456等于56088。 Invoking: get_weather with {city: 北京} responded: 北京的天气晴天☀️ 28°C Invoking: get_stock_price with {symbol: AAPL} responded: AAPL 当前价格$188.50 计算得出100股需要 $18,850。AI真的自己判断该用哪个工具、怎么组合使用了。这就是工具调用的魅力——不需要你写一堆if/elseAI自己决定走哪条路。三、LangChain进阶多工具协同与踩坑指南1. 工具越多越要写好描述当你给AI挂了十几个工具时工具的名称和描述就成了AI选对工具的关键。描述要具体比如tooldefcalculate_compound_interest(principal:float,rate:float,years:int)-float:计算复利收益。适用于投资回报计算场景。 Args: principal: 本金金额 rate: 年利率如 0.05 表示5% years: 投资年数 returnprincipal*(1rate)**years2. 工具调用失败怎么办真实生产中工具调用失败太常见了——API超时、参数格式不对、网络波动……LangGraph的tool node会捕获异常并返回ToolMessage。你可以在AgentExecutor中配置handle_parsing_errorsTrue来优雅处理。3. 别忘了设置迭代上限agent_executorAgentExecutor(agentagent,toolstools,max_iterations5,# 最多迭代5次防止死循环verboseTrue)四、Dify实战不写代码也能给AI装“手脚”如果说LangChain是“自己造轮子”那Dify就是“直接开4S店提车”。Dify是一个集LLMOps和可视化工作流于一体的AI应用开发平台。它的Agent节点让你无需编码通过可视化界面就能让AI自主调用工具。第一步创建Agent应用登录Dify点击“创建空白应用”选择应用类型为“Agent”起个名字比如“全能小助手”第二步配置模型在“模型供应商”中配置你的API密钥。建议选择支持函数调用的模型如GPT-4、Claude 3.5 Sonnet等。第三步添加工具Dify提供了两种工具类型第一方工具Dify生态内置的开箱即用如谷歌搜索、科学计算等自定义工具支持OpenAPI/Swagger和OpenAI Plugin规范导入配置工具时每个工具需要授权API密钥等凭据描述清楚说明工具的作用和适用场景这点和LangChain一样重要参数必填和可选输入第四步写指令Prompt在“指令”框中定义Agent的角色和目标。比如你是一个全能智能助手可以调用工具来帮助用户完成各种任务。 - 遇到计算问题使用计算器工具 - 需要实时信息使用搜索工具 - 查询数据使用数据库工具 请根据用户需求自主选择合适的工具。第五步设置执行控制最大迭代次数防止无限循环简单任务3-5次复杂任务10-15次记忆窗口控制Agent记住多少历史消息第六步开跑配置完成后直接对话测试。你只需要在对话框中谈及需要调用的工具名字Agent就会自动调用。整个过程零代码从配置到上线可能只需要十分钟。五、LangChain vs Dify我该怎么选维度LangChainDify定位编程框架 / 工具库完整解决方案 / 低代码平台灵活性⭐⭐⭐⭐⭐ 极高想怎么改就怎么改⭐⭐⭐ 中等受限于平台能力上手难度⭐⭐⭐⭐ 需要Python基础和工程能力⭐⭐ 可视化操作门槛极低适用场景复杂定制化业务、深度集成快速原型验证、企业内部工具工具生态极其丰富社区最活跃插件市场持续扩展中一句话建议你是开发者需要深度定制、和现有系统紧密集成 → 选LangChain你是产品/业务人员想快速验证想法、低门槛上线 → 选Dify两者也不是非此即彼——很多团队用Dify做快速原型验证通过后用LangChain做工程化落地。六、写在最后工具调用这件事本质上是让AI从“只会说”变成“既能说又能干”。LangChain给了你一把手术刀精细、强大但需要你自己动手Dify给了你一台全自动机器人省心、快速但定制空间有限。不管选哪条路核心就一句话把业务能力包装成工具让AI自己决定什么时候用、怎么用。一旦打通了这一步AI就不再是“聊天玩具”而是真正能帮你干活的“数字员工”。如果你也在折腾AI工具调用欢迎在评论区交流踩坑经验。下期见本文代码基于 LangChain v0.3.x、Dify v1.16.0 测试通过。

相关新闻

揭秘Stable Diffusion水彩LoRA训练全过程:从数据清洗到风格迁移,实测提升质感42%

揭秘Stable Diffusion水彩LoRA训练全过程:从数据清洗到风格迁移,实测提升质感42%

更多请点击: https://intelliparadigm.com 第一章:AI生成水彩画效果 将数字图像转化为具有手绘质感的水彩风格,已不再依赖专业美术功底。现代生成式AI模型通过学习海量水彩作品数据,能精准模拟颜料扩散、纸面纹理、干湿叠加等物理…

2026/8/1 4:07:28阅读更多 →
【AI网页模板创业避坑手册】:92%新手栽在第4步——20年全栈老兵复盘17个血泪教训与合规定价模型

【AI网页模板创业避坑手册】:92%新手栽在第4步——20年全栈老兵复盘17个血泪教训与合规定价模型

更多请点击: https://intelliparadigm.com 第一章:AI网页模板创业的认知重构与本质洞察 传统网页开发创业常陷入“功能堆砌—价格战—交付内卷”的线性陷阱,而AI网页模板创业的本质并非工具替代,而是用户建站决策链路的结构性重写…

2026/8/1 4:07:28阅读更多 →
QuickRecorder:如何解决macOS屏幕录制的7大痛点?完整指南来了!

QuickRecorder:如何解决macOS屏幕录制的7大痛点?完整指南来了!

QuickRecorder:如何解决macOS屏幕录制的7大痛点?完整指南来了! 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: …

2026/8/1 4:07:28阅读更多 →
雷鸟V4智能眼镜深度评测:生产力场景下的佩戴体验与交互设计

雷鸟V4智能眼镜深度评测:生产力场景下的佩戴体验与交互设计

1. 先搞清楚它到底解决什么场景问题 这类第一视角智能眼镜最容易被误解成“能戴在头上的手机”或“便携显示器”,但雷鸟 V4 的核心价值其实更聚焦:它瞄准的是需要长时间保持双手自由、同时又要处理多信息流的特定场景。比如远程协作时一边看图纸一边记录…

2026/8/1 12:12:14阅读更多 →
MSA算法:从PID控制到卡尔曼滤波的迭代优化核心思想

MSA算法:从PID控制到卡尔曼滤波的迭代优化核心思想

1. 从“黑盒”到“白盒”:理解MSA算法的核心思想 在算法和工程优化的世界里,我们常常会遇到一些“黑盒”问题:输入一堆参数,得到一个结果,但中间的过程像是一个复杂的魔法,难以拆解和优化。尤其是在处理多变…

2026/8/1 12:12:14阅读更多 →
PGP邮件加密实战指南:从密钥生成到邮件客户端集成

PGP邮件加密实战指南:从密钥生成到邮件客户端集成

1. 为什么PGP依然是邮件加密的“金标准”? 在数字世界里,我们每天都在发送和接收邮件,从工作沟通到私人闲聊,大量敏感信息在其中流转。你有没有想过,这些邮件在传输过程中,就像一张明信片,途经…

2026/8/1 12:12:14阅读更多 →
轻量级规则引擎实战:动态业务逻辑配置与Spring Boot集成

轻量级规则引擎实战:动态业务逻辑配置与Spring Boot集成

最近在技术圈里,一个看似“跨界”的话题正在引发讨论:如果给开发者一个能够自由编辑故事线的“剧情编辑器”,我们能在代码世界里创造出怎样的可能性?这不仅仅是游戏或小说中的幻想,而是现代软件开发中越来越重要的能力…

2026/8/1 12:12:14阅读更多 →
深入解析MMU:虚拟内存、地址转换与系统稳定的基石

深入解析MMU:虚拟内存、地址转换与系统稳定的基石

1. 项目概述:从“内存打架”到“秩序守护者”刚入行那会儿,调试程序最怕遇到的就是“段错误”或者“非法内存访问”。程序莫名其妙就崩溃了,报错信息指向一个你完全没操作过的地址,那种感觉就像在黑暗的房间里摸黑走路&#xff0c…

2026/8/1 12:12:14阅读更多 →
ncmdumpGUI:三步解锁网易云音乐加密文件的终极方案

ncmdumpGUI:三步解锁网易云音乐加密文件的终极方案

ncmdumpGUI:三步解锁网易云音乐加密文件的终极方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&#…

2026/8/1 12:10:14阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

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

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

2026/7/31 20:44:05阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

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

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

2026/7/31 17:41:43阅读更多 →
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/31 20:44:05阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →