多智能体研究助理系统

一个基于Google ADK和MCP的多智能体协作研究系统,包含研究、总结和协调功能,适用于信息收集与分析场景。

  • by RSB19
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 RSB19/HarvestHack-Workshop

使用说明

HarvestHack工作坊

此存储库包含HarvestHack期间研讨会的资源和其他工具。它将主要涵盖通过谷歌ADK、MCP和其他相关技术进行代理人工智能开发的主题。

谷歌代理开发工具包- https://google.github.io/adk-docs/

快速MCP- https://gofastmcp.com/getting-started/welcome


多智能体研究助理演示

多智能体系统使用的研讨会演示 谷歌ADK 和 MCP(模型上下文协议).

🎯 概述

该演示展示了一个多智能体研究系统,不同的AI智能体在该系统中协作:

  1. 研究代理:使用自定义工具收集信息
  2. 摘要生成器代理:分析和综合调查结果
  3. 代理程序:使用顺序执行编排工作流

📁 项目结构

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

🚀 安装说明

先决条件

1.创建Python虚拟环境

# Create virtual environment
python3 -m venv venv

# Activate virtual environment
source venv/bin/activate  # On macOS/Linux
# or
venv\Scripts\activate     # On Windows

2.安装依赖项

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

这将:

  1. 启动ADK web服务器(通常在http://localhost:8000)
  2. 自动打开浏览器
  3. 在下拉列表中显示所有可用代理

使用Web界面

  1. 选择代理:选择 research_coordinator 从下拉列表中
  2. 输入查询:尝试以下查询:
    • “医疗保健领域的人工智能研究”
    • “跟我说说量子计算”
    • “什么是机器学习及其应用?”
  3. 观看工作流程:查看代理实时协作

使用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

可用工具

  1. search_topic(查询,max_results)

    • 搜索主题信息
    • 返回格式化的搜索结果
  2. get_topic_fact(主题)

    • 检索有关主题的关键事实
    • 返回要点式事实
  3. analyze_sention(文本)

    • 分析文本的情感
    • 返回正面/负面/中性评估

🎓 工作坊学习要点

  1. 多代理架构:如何使用ADK构建协作AI代理
  2. 谷歌ADK集成:使用LlmAgent和SequentialAgent
  3. 工具集成:创建和使用自定义功能工具
  4. 代理编排:协调专业代理之间的工作流程
  5. 系统说明:制作有效的代理角色和角色
  6. 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 许可证:教育用途