HarvestHack工作坊
此存储库包含HarvestHack期间研讨会的资源和其他工具。它将主要涵盖通过谷歌ADK、MCP和其他相关技术进行代理人工智能开发的主题。
谷歌代理开发工具包- https://google.github.io/adk-docs/
快速MCP- https://gofastmcp.com/getting-started/welcome
______________________________________________________________________
多智能体研究助理演示
多智能体系统使用的研讨会演示 谷歌ADK 和 MCP(模型上下文协议).
🎯 概述
该演示展示了一个多智能体研究系统,不同的AI智能体在该系统中协作:
- 研究代理:使用自定义工具收集信息
- 摘要生成器代理:分析和综合调查结果
- 代理程序:使用顺序执行编排工作流
📁 项目结构
HarvestHack-Workshop/
├── research_agent/
│ ├── __init__.py
│ └── agent.py # Multi-agent definitions with tools
├── requirements.txt # Python dependencies
├── .env # Environment variables (API keys)
└── README.md # This file🚀 安装说明
先决条件
- Python 3.10或更高版本
- pip用于安装软件包
- Google API密钥来自 谷歌人工智能工作室
1.创建Python虚拟环境
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate # On macOS/Linux
# or
venv\Scripts\activate # On Windows2.安装依赖项
pip install -r requirements.txt已安装的依赖项:
google-adk-谷歌代理开发工具包(最新版本)python-dotenv-环境变量管理mcp-模型上下文协议库
3.配置环境变量
编辑 .env 文件并添加您的Google API密钥:
GOOGLE_API_KEY="your_actual_google_api_key_here"从以下位置获取API密钥: https://aistudio.google.com/app/apikey
🎮 运行演示
使用ADK Web界面运行
运行此演示的主要方法是使用ADK web界面:
# Make sure you're in the project root directory
adk web这将:
- 启动ADK web服务器(通常在http://localhost:8000)
- 自动打开浏览器
- 在下拉列表中显示所有可用代理
使用Web界面
- 选择代理:选择
research_coordinator从下拉列表中 - 输入查询:尝试以下查询:
- “医疗保健领域的人工智能研究” - “跟我说说量子计算” - “什么是机器学习及其应用?”
- 观看工作流程:查看代理实时协作
使用CLI运行(可选)
您还可以通过命令行运行代理:
adk run research_agent🔧 运作原理
代理体系结构
User Query
↓
Coordinator (SequentialAgent)
↓
Research Agent → Uses search_topic() & get_topic_facts()
↓
Summarizer Agent → Uses analyze_sentiment()
↓
Final Response to User可用工具
- search_topic(查询,max_results)
- 搜索主题信息 - 返回格式化的搜索结果
- get_topic_fact(主题)
- 检索有关主题的关键事实 - 返回要点式事实
- analyze_sention(文本)
- 分析文本的情感 - 返回正面/负面/中性评估
🎓 工作坊学习要点
- 多代理架构:如何使用ADK构建协作AI代理
- 谷歌ADK集成:使用LlmAgent和SequentialAgent
- 工具集成:创建和使用自定义功能工具
- 代理编排:协调专业代理之间的工作流程
- 系统说明:制作有效的代理角色和角色
- ADK Web界面:使用内置的web UI进行测试
🛠️ 扩展演示
添加更多代理
new_agent = LlmAgent(
model='gemini-2.0-flash-exp',
name='new_agent',
description='Your agent description',
instruction='Your agent instructions',
tools=[your_tools],
)添加自定义工具
def your_custom_tool(param: str) -> str:
"""Tool description"""
# Your implementation
return result使用MCP服务器
要集成外部MCP服务器:
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters
mcp_toolset = McpToolset(
connection_params=StdioConnectionParams(
server_params=StdioServerParameters(
command='npx',
args=['-y', '@modelcontextprotocol/server-filesystem', '/path/to/folder'],
),
),
)📚 资源
- 谷歌ADK文档: https://google.github.io/adk-docs/
- ADK Python快速入门: https://google.github.io/adk-docs/get-started/python/
- MCP文件: https://modelcontextprotocol.io/
- ADK中的MCP工具: https://google.github.io/adk-docs/tools-custom/mcp-tools/
- API双子星: https://ai.google.dev/
🐛 故障排除
API密钥错误:
- 确保您的
.env文件具有正确的Google API密钥 - 确保
.env文件位于项目根目录中
导入错误:
- 验证是否安装了所有依赖项:
pip install -r requirements.txt - 确保你使用的是Python 3.10或更高版本
未找到ADK命令:
- 确保您已激活虚拟环境
- 重新安装谷歌广告:
pip install google-adk
代理未显示在Web UI中:
- 确保
__init__.py存在于research_agent/目录 - 检查你是否在跑步
adk web从项目根(父级research_agent/)
🎉 后续步骤
研讨会结束后,尝试:
- 增加更多专业代理(事实核查员、翻译员等)
- 集成真正的MCP服务器(文件系统、谷歌地图等)
- 构建自定义MCP工具
- 实现代理内存和状态管理
- 部署到Cloud Run或Vertex AI代理引擎
- 使用创建并行代理工作流
ParallelAgent
📝 附加说明
ADK中的代理类型
- llmagent:配备工具的单一AI代理
- SequentialAgent:按顺序执行代理
- 并行代理:并行执行代理
- LoopAgent:在循环中执行代理
可用型号
gemini-2.0-flash-exp-最新实验Flash模型gemini-2.0-flash-稳定的Flash模型gemini-1.5-pro-用于复杂任务的Pro模型
______________________________________________________________________
创建工作坊:HarvestHack 2025 技术栈:谷歌ADK、Python、MCP 许可证:教育用途
