来源:互联网 更新时间:2026-07-19 13:51
在 LangChain 里,Agent 本质上是一个能干活、会思考的 AI 实体,它的本事很大程度上取决于手上有多少好用的“工具”。这些工具就是一些有特定功能的小模块——比如查个当前时间、访问一下数据库,Agent 通过调用它们来完成复杂任务。说白了,工具就是给 Agent 开了个“外设”,让它能执行特定操作。

这些工具可以直接传给支持工具调用的聊天模型,模型拿到后就能在需要时请求执行某个函数,带上具体的参数。整个过程就像是模型在说:“我想用这个工具干这件事,帮我跑一下。”
所有工具的底层标准都定义在 BaseTool 类里,它继承自 LangChain 的 Runnable 接口。所以工具本身也是可调用的执行单元,拥有统一的生命周期。
和工具模式直接相关的几个关键属性:
执行层面主要有两个方法:
写工具最推荐的方式就是直接用 @tool 装饰器。它极大简化了创建过程,自动帮你搞定三件事:
具体做法很简单:定义一个普通函数,然后在它头上加 @tool,这个函数就成了一个符合工具接口的可调用对象。你还能在装饰器里指定额外配置,比如修改名字、描述,或者让装饰器自己解析函数的文档字符串来推断参数模式。深度的定制可以戳官方文档:https://python.langchain.com/api_reference/core/tools/langchain_core.tools.convert.tool.html
定义好之后,直接像调用普通函数一样调用就可以。另外还可以随时查看这个工具的结构(比如它的 JSON schema)和其他属性。
给模型设计工具时,有几个坑可以提前避开:
很多 AI 应用最终要和人类对话,这时候自然语言回复就够了。但如果想让模型直接去调一个数据库或外部 API,那就需要它输出符合特定格式的结构化数据——这就是工具调用(有时也叫函数调用)概念的由来。模型不再只是说“我要查天气”,而是直接输出一个结构化的请求:“请调用 get_weather 函数,参数为 city=北京”。
整个流程可以分为四步:
@tool 装饰器先做出来。.bind_tools() 方法绑到模型上,让模型知道现在有这些工具可用,以及每个工具的参数结构长什么样。invoke 方法去执行。下面的伪代码演示了标准工作流。创建好的工具放进一个列表,传到 .bind_tools() 里。然后像往常一样调用模型。如果模型认为需要工具,它的返回消息里会多出一个 tool_calls 属性,里面罗列了调用的工具名和参数。之后把这些参数原封不动传给工具即可。
值得注意的一点是:模型并不总是需要调用工具。它自己会根据输入的相关性做判断——比如你问“你好”,它大概率不会去调任何工具,直接回一句“你好”就够了。结果会是一个普通的 AIMessage。但如果你问一句“今天北京的气温如何”,而模型正好绑了一个天气工具,它很可能就会选择调用,返回的 AIMessage 里就会带上 tool_calls 属性,里面每个条目都包含了工具名称和对应的输入参数。
七麦数据官网网页地址 七麦数据官方入口在线首页
问卷星官方网站入口地址 问卷星网页版在线使用
币安Binance官方中文网站 币安App最新版下载及新手注册指南
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
摩托车活塞环性能如何
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
迷你网名古风男生霸气(精选100个)
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
文雅简易网名男生可爱(精选100个)
动漫《恶之华》剧情介绍
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
闲鱼严选和验货宝哪个可靠?闲鱼的验货宝怎么样,,
豆包AI专业版使用教程【新手必看】
币圈十大实用工具:从实时行情监控到数据分析、资产管理
币安杀入美股市场,重头戏bStocks还没来
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc