AgentTool

AgentTool”是指在 AI Agent 系统中,由大语言模型(LLM)调用的功能组件或工具函数,它帮助 Agent 执行实际操作,比如联网搜索、数据库查询、代码运行、文件读取等。

最简单的做法就是把AI Agent和Agent Tool写在同一个程序里面。直接函数调用搞定。


🧠 一句话理解:

AgentTool 就是 AI Agent 的“手”,是它能与外部世界交互的实际工具。


🔍 背景知识补充:什么是 AI Agent?

AI Agent 是具备目标导向、自主规划和执行能力的智能体,而它本身并不能真的“做事”,只能“说话”。

所以 Agent 必须依靠外部组件来完成实际任务,比如:

这些可调用的“技能”就是——AgentTool


🧩 举例说明

假设你对 AI Agent 说:

“帮我查一下上海天气,并用图表展示接下来三天的温度变化。”

Agent 会这样工作:

步骤 使用的工具(AgentTool)
🌦 查天气 weather_api_tool(location="上海")
📊 画图表 plot_chart_tool(data=天气数据)
✍️ 生成说明文字 由 LLM 完成,不需要工具

🛠 常见的 AgentTool 类型

工具类型 示例功能
🌐 网络搜索 调用 Bing、Serper、DuckDuckGo 等搜索
📊 数据处理 pandas 处理表格、读取 CSV
🧮 数学计算 精确数学库、科学公式计算
💻 代码执行 Python REPL、JS 沙箱
📁 文件操作 上传、下载、读取本地文件
🗃️ 数据库查询 SQL 查询、向量检索(如 Chroma)
🔌 API 调用 请求 RESTful API
📅 日程提醒 集成日历工具,添加事项
📷 图像处理 识别、转换、画图工具等

📦 框架中的 AgentTool 示例

框架 / 项目 工具系统名称 是否支持自定义 Tool
LangChain Tool(类)
AutoGen FunctionCall / code_executor
OpenAI Assistants API tools 字段(函数/代码解释器/浏览器)
LlamaIndex QueryTool, ToolNode
CrewAI 每个 Agent 可配置 toolset

🧠 AgentTool 和 Function Calling 的关系?

项目 Function Calling AgentTool
作用 定义函数接口供 LLM 调用 提供真正执行任务的功能
调用方式 LLM 输出函数名 + 参数 → 执行函数 在 Agent 系统中绑定/注册使用
是否一样? Function Calling 是一种调用机制 AgentTool 是可以被调用的“具体工具”

所以说:

Function Calling 是“怎么调用”,AgentTool 是“具体调用什么”


✅ 总结一句话:

AgentTool 是 AI Agent 的“工具箱”,它让语言模型不仅能“说”,还能“做”——是构建智能系统的关键模块之一。