【GitHub项目推荐--颠覆传统智能体!ADK谷歌最强AI智能体发布!支持MCP与ollama!】【转载】
最近 Agent 相关事物非常火热,框架侧有 Manus、TARE、沉思,平台侧阿里、腾讯纷纷支持 MCP 协议,还有各种 Agent 应用如雨后春笋。昨天,Google 也不甘落后,开源了 Google Agent Development Kit(缩写:ADK)。今天就和大家一起了解下 ADK 是怎么回事。model="gemini-2.0-flash", # 或者你选择的其他 Gemini 模
前言
最近 Agent 相关事物非常火热,框架侧有 Manus、TARE、沉思,平台侧阿里、腾讯纷纷支持 MCP 协议,还有各种 Agent 应用如雨后春笋。
昨天,Google 也不甘落后,开源了 Google Agent Development Kit(缩写:ADK)。
今天就和大家一起了解下 ADK 是怎么回事。
ADK 是什么
简单介绍,方便大家有个初步印象。
ADK 是一套谷歌推出的开源Python框架,专为构建、管理和部署多智能体系统而生。
就是把我们经常用到的通用智能体开发工作,比如智能体搭建、编排、维护、部署、评价等,进行封装,让我们更加关注智能体本身的设计和协同上。
ADK 有什么特点
根据官网博客了解,主推亮点如下:
-
多代理设计:通过分层组合多个专业化的代理,构建模块化且可扩展的应用程序。实现复杂的协调和任务委派。
-
丰富的模型生态系统:选择最适合您需求的模型。ADK 可与您选择的模型无缝协作——无论是 Gemini 还是通过 Vertex AI Model Garden 访问的任何模型。该框架还提供 LiteLLM 集成,允许您从众多供应商(如 Anthropic、Meta、Mistral AI、AI21 Labs 等)中选择各种模型!
-
丰富的工具生态系统:为代理赋予多样化的能力:使用预置工具(搜索、代码执行)、模型上下文协议(MCP)工具、集成第三方库(LangChain、LlamaIndex),甚至可以将其他代理作为工具使用(LangGraph、CrewAI 等)。
-
内置流式传输功能:通过 ADK 独特的双向音频和视频流功能,与您的代理进行类人对话交互。只需几行代码,即可创建自然的交互体验,改变您与代理的工作方式——超越文本,进入丰富多模态对话的世界。
-
灵活的编排能力:使用工作流代理(顺序、并行、循环)定义工作流以实现可预测的管道,或利用 LLM 驱动的动态路由(LlmAgent 转移)实现自适应行为。
-
集成的开发者体验:通过强大的 CLI 和可视化 Web UI,在本地进行开发、测试和调试。逐步检查事件、状态和代理执行过程。
-
内置评估功能:通过针对预定义测试用例评估最终响应质量和逐步执行轨迹,系统地评估代理性能。
ADK 实例
下面我们通过复现官网“快速开始”中的实例,更加深入的了解下 ADK 是怎么回事。
开发环境:Trae,本次分享,没有用到 AI 辅助功能。
环境配置
-
通过 Trae 打开一个新建的文件夹 adk-demo。
-
Ctrl + `,打开“终端”面板。
-
配置虚拟环境并激活。
# 创建
python -m venv .venv
# 激活(Windows PowerShell)
.venv\Scripts\Activate.ps1
# macOS/Linux: source .venv/bin/activate
# Windows CMD: .venv\Scripts\activate.bat
4. 安装 ADK,记得新建一个终端。
pip install google-adk
编写代码
代码结构如下:
__init__.py
源码
from . import agent
.env
源码
# 使用 Google AI Studio 的 Gemini
GOOGLE_GENAI_USE_VERTEXAI="False"
GOOGLE_API_KEY="<粘贴Google AI Studio API Key>"
# 使用 Vertex AI on Google CLoud 的 Gemini
# GOOGLE_CLOUD_PROJECT="your-project-id"
# GOOGLE_CLOUD_LOCATION="your-location" #e.g. us-central1
# GOOGLE_GENAI_USE_VERTEXAI="True"
agent.py
源码
运行测试
支持终端、Web、API 三种方式,这里为了直观呈现,我选择了 Web 方式。
adk web
文档
探索完整的文档,获取有关构建、评估和部署代理的详细指南:
功能演示
定义单个代理
from google.adk.agents import Agent
from google.adk.tools import google_search
root_agent = Agent(
name="search_assistant",
model="gemini-2.0-flash", # 或者你选择的其他 Gemini 模型
instruction="你是一个乐于助人的助手。根据需要使用 Google 搜索回答用户问题。",
description="一个可以搜索网络的助手。",
tools=[google_search]
)
定义多代理系统
定义一个多代理系统,包含协调代理、问候代理和任务执行代理。然后,ADK 引擎和模型将指导这些代理协同工作以完成任务。
from google.adk.agents import LlmAgent, BaseAgent
# 定义单独的代理
greeter = LlmAgent(name="greeter", model="gemini-2.0-flash", ...)
task_executor = LlmAgent(name="task_executor", model="gemini-2.0-flash", ...)
# 创建父代理并分配子代理
coordinator = LlmAgent(
name="Coordinator",
model="gemini-2.0-flash",
description="我协调问候和任务。",
sub_agents=[ # 在这里分配子代理
greeter,
task_executor
]
)
开发 UI
内置的开发 UI 可以帮助你测试、评估、调试和展示你的代理。
评估代理
adk eval \
samples_for_testing/hello_world \
samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
资源
- GitHub 仓库:google/adk-python: An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
- 项目文档:Agent Development Kit
原文链接:
ADK开源:谷歌持续发力Agent,请快速跟进Google 开源了 Google Agent Development K - 掘金
谷歌开源多智能体开发框架 Agent Development Kit:百行代码构建复杂AI代理,覆盖整个开发周期! - 掘金
更多推荐
所有评论(0)