教程 4:工具使用代理
欢迎来到工具的世界!本教程将教你如何创建能够使用不同类型的工具来执行特定任务的代理。正是在这里,你的代理才真正变得强大,具备在现实世界中采取行动的能力。
你将学到的内容
- 内置工具:使用 Google ADK 的预置功能
- 函数工具:将自定义 Python 函数作为工具
- 第三方工具:与 LangChain、CrewAI 等框架集成
- MCP 工具:与模型上下文协议集成
核心概念:ADK 中的工具
工具是你的代理可以调用的函数,用于执行特定任务。把它们想象成代理的“双手”——它们让代理能够:
- 搜索网络并获取实时信息
- 执行代码和进行计算
- 调用外部 API 和服务
- 访问数据库和文件系统
- 与其他 AI 框架交互
ADK 中的工具类型
1. 内置工具
Google ADK 提供了强大的预置工具:
- 搜索工具:网络搜索功能
- 代码执行工具:安全运行 Python 代码
- RAG 工具:检索增强生成
- 云工具:Google Cloud 集成
注意:内置工具仅适用于 Gemini 模型
2. 函数工具
你自己创建的自定义 Python 函数:
- 数学计算
- 数据处理
- API 调用
- 文件操作
- 业务逻辑
3. 第三方工具
与其他框架的集成:
- LangChain 工具:网页抓取、文档加载器等
- CrewAI 工具:专业代理工具
- 自定义集成:任何外部服务
4. MCP 工具
与模型上下文协议的集成:
- 外部 MCP 服务器:连接到现有的 MCP 服务器
- 自定义 MCP 服务器:创建自己的 MCP 服务器
- 协议通信:支持 SSE 和可流式 HTTP
教程结构
本教程包含四个全面的示例:
示例 1:内置工具
位置:./4_1_builtin_tools/
- 学习使用 Google ADK 的预置工具
- 实现网络搜索功能
- 探索代码执行工具
示例 2:函数工具
位置:./4_2_function_tools/
- 创建自定义 Python 函数作为工具
- 构建数学和实用工具
- 实现 API 集成工具
示例 3:第三方工具
位置:./4_3_thirdparty_tools/
- 集成 LangChain 工具
- 使用 CrewAI 专业工具
- 创建自定义集成
示例 4:MCP 工具
位置:./4_4_mcp_tools/
- 连接到模型上下文协议服务器
- 使用文件系统和 Wikipedia MCP 工具
- 创建自定义 MCP 服务器
项目结构
4_tool_using_agent/
├── README.md # This tutorial overview
├── 4_1_builtin_tools/ # Built-in tools examples
├── 4_2_function_tools/ # Function tools examples
├── 4_3_thirdparty_tools/ # Third-party tools examples
└── 4_4_mcp_tools/ # MCP tools examples
每个示例目录都遵循标准结构:
- Python 文件:包含代理实现和 Streamlit 应用
- README.md:设置和使用说明文档
- requirements.txt:依赖项列表
学习目标
完成本教程后,你将掌握:
- ✅ 如何有效使用 Google ADK 的内置工具
- ✅ 如何创建和集成自定义函数工具
- ✅ 如何利用第三方工具生态系统
- ✅ 如何连接和创建 MCP 服务器
- ✅ 每种工具的适用场景
- ✅ 工具设计与集成的最佳实践
专业提示
- 从内置工具入手:尽可能使用 Google 的工具——它们经过优化
- 清晰描述:为你的工具编写详细的文档字符串
- 错误处理:始终处理工具可能出现的错误
- 工具选择:帮助 AI 理解何时使用每种工具
- 测试:在组合使用前独立测试每个工具
真实世界应用
工具使用代理对于以下领域至关重要:
- 信息检索:搜索引擎、知识库
- 数据分析:数据处理与分析
- API 集成:连接外部服务
- 自动化:执行重复性任务
- 决策制定:利用外部数据辅助决策
重要提示
- 模型兼容性:内置工具仅适用于 Gemini 模型
- 工具混用:同一代理中不能混用内置工具和自定义工具
- 性能:内置工具针对速度进行了优化
- 安全性:自定义工具需要进行适当验证
免责声明:
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。
作者与出处
原作者:Shubhamsaboo
来源:Shubhamsaboo
许可证:Apache-2.0
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习