Google ADK(Agent Development Kit)实战指南:A2A 协议、Vertex AI 集成与 Java 双语言

Google ADK 是 Google 官方 Agent SDK,支持 Python 和 Java 双语言,深度集成 Vertex AI 与 Gemini 模型。本文解析 ADK 的 Agent、Tool、Session、A2A 协议四大核心,对比 LangGraph/OpenAI Agents SDK/Claude Agent SDK,并给出企业部署路径。

AgentList Team · 2026年7月21日
Google ADKGeminiVertex AIA2AJava企业 Agent

Google ADK 是 Google 在 2025 年发布的官方 Agent SDK,专门为 Gemini 模型生态设计。它的两大差异化让它在 2026 年的企业市场快速站稳脚跟:Java 双语言支持 + A2A 跨 Agent 协议。本文系统讲清楚它的设计、用法、部署和选型。

一、为什么需要 ADK

2024-2025 年,企业市场对 Agent 框架有几个核心痛点:

  • 传统企业 Java 团队无框架可用LangGraph/CrewAI 都是 Python-only
  • 跨 Agent 通信缺乏标准:每个框架都自己定义协议
  • 生产级集成成本高:IAM、审计、合规等企业特性需要自己实现
  • GCP 生态缺乏原生 Agent 抽象:用 LangChain 调 Gemini 总是隔着一层

ADK 是 Google 对这些痛点的官方回应。

二、四大核心抽象

抽象 作用 类比
Agent LLM + 工具集 + system instruction 与 OpenAI Agents SDK 类似
Tool 函数调用,支持 Python/Java 自动生成 schema 类似 function calling
Session 状态管理(跨 turn 的对话上下文) 类似 LangGraph 的 state
Runner 执行编排(同步/异步/流式) 类似 OpenAI Runner

整体设计与 OpenAI Agents SDK 非常相似,但有 Google 特色的 Session 和 Runner 抽象。

三、Python 上手示例

from google.adk import Agent, Runner
from google.adk.sessions import InMemorySessionService

agent = Agent(
    name="research_agent",
    model="gemini-2.5-pro",
    instruction="You help users research topics using web search.",
    tools=[web_search_tool, fetch_url_tool],
)

session_service = InMemorySessionService()
runner = Runner(agent=agent, session_service=session_service)

response = await runner.run_async("Summarize the latest on agent frameworks.")

四、Java 上手示例(企业关键卖点)

Agent agent = Agent.builder()
    .name("researchAgent")
    .model("gemini-2.5-pro")
    .instruction("You help users research topics.")
    .tools(List.of(webSearchTool, fetchUrlTool))
    .build();

Runner runner = Runner.builder()
    .agent(agent)
    .sessionService(new InMemorySessionService())
    .build();

String response = runner.run("Summarize the latest on agent frameworks.");

Java 支持对传统企业团队意义重大:金融、保险、制造业大量 Java 后端,过去要上 Agent 必须新建 Python 服务。ADK 之后可以直接在 Spring Boot 应用里嵌入 Agent。

五、A2A(Agent-to-Agent)协议

A2A 是 Google 2025 年推出的跨 Agent 通信协议,定位类似 MCP 但解决的是不同问题:

协议 解决问题 类比
MCP Agent 与工具的连接 类似 LSP(语言服务器协议)
A2A Agent 与 Agent 的通信 类似 HTTP 之于 Web 服务

A2A 让你可以把不同框架(ADK、LangGraph、CrewAI)构建的 Agent 互相通信,不再被框架锁定。这是 Google 重要的生态战略——通过开放协议吸引非 Google 框架加入。

示例:用 A2A 调用一个外部 Agent

from google.adk.a2a import RemoteAgent

# 连接到一个部署在别处的 Agent
crewai_agent = RemoteAgent(url="https://my-crewai-app.com/a2a")

result = await crewai_agent.invoke("Process this task")

六、Vertex AI 深度集成

ADK 在 Vertex AI 上的部署是它最强的企业卖点

  • IAM 集成:Agent 调用方权限用 Google Cloud IAM 管理
  • VPC-SC 支持:可在 Service Perimeter 内安全运行
  • CMEK:客户自管加密密钥,满足金融/医疗合规
  • 审计日志:所有 Agent 调用自动进 Cloud Audit Logs
  • Model Garden:除了 Gemini,可调用 200+ 开源/第三方模型
  • Reasoning Engine:托管 Agent 运行时,自动扩缩容

这些特性让 GCP 现有客户上 Agent 的成本极低。

七、本地开发灵活性

重要澄清:ADK 不强制绑定 Vertex AI。本地开发可以:

from google.adk import Agent

# 用 OpenAI 模型(通过 LiteLLM)
agent = Agent(
    name="my_agent",
    model="litellm/gpt-5",
    instruction="..."
)

这个设计让 ADK 在"既要 GCP 生产部署,又要本地多模型开发"的场景下特别合适。

八、与同类框架对比

维度 Google ADK OpenAI Agents SDK LangGraph Claude Agent SDK
主语言 Python + Java Python Python + TS Python + TS
模型支持 Gemini 优先,多模型 OpenAI 专属 多模型 Claude 专属
跨 Agent 协议 A2A + MCP Handoff 无原生 Sub-agent
企业特性 IAM/VPC-SC/CMEK/审计 自建
部署 Vertex AI / 本地 OpenAI 平台 自建 Anthropic API
适合规模 企业级 中小团队 任意 中小团队

九、什么时候用 ADK

强烈推荐:

  • 已有 GCP 投入,希望 Agent 应用享受现有 IAM/VPC/审计体系
  • Java 技术栈团队,希望 Agent 能力融入现有后端
  • 需要部署多 Agent 系统,且希望未来跨框架通信(A2A)
  • 合规要求高(金融、医疗、政府),需要 CMEK/审计日志

不太合适:

  • 创业小团队,没有 GCP 投入 → OpenAI Agents SDK / LangGraph 更轻
  • 强依赖 OpenAI 模型 → 直接用 OpenAI Agents SDK
  • 需要复杂状态机和精细流程控制 → LangGraph

十、迁移路径

如果从 LangGraph 迁移到 ADK:

  1. 保留 LangGraph 作为工具层:把现有 LangGraph 工作流封装为 ADK Tool
  2. 逐个 Agent 迁移:先把入口 Agent 改成 ADK,内部 Agent 仍用 LangGraph
  3. 用 A2A 桥接:迁移期间用 A2A 让新旧 Agent 通信

这个渐进路径避免了大爆炸式重写。

十一、常见坑

  • Vertex AI 定价:Reasoning Engine 按运行时间计费,长期 idle 要主动关闭
  • Gemini 配额:免费层很小,生产部署前申请配额提升
  • Java 版滞后:Java 版本功能落后 Python 约 1-2 个版本,新特性优先 Python
  • A2A 兼容性:A2A 还在演进,与社区框架(LangGraph/CrewAI)的互操作要测

总结

ADK 不是要取代 LangGraph,而是给企业市场一个官方答案——尤其是 Java 团队和 GCP 客户。如果你的团队符合这个画像,ADK 是 2026 年最值得投入的 Agent 框架。


本文由 AgentList 团队整理。更多 Agent 框架、工具、应用项目,请浏览 AgentList 项目目录

本文涉及的相关项目

  • Google ADK Python — 本文主角,Google 官方 Agent SDK
  • Gemini CLI — Google 官方终端 Agent,与 ADK 同源,有免费额度,适合预算敏感的开发者
  • OpenAI Agents Python — OpenAI 对标官方 SDK,适合 OpenAI 生态团队
  • Microsoft Agent Framework — Microsoft 统一 Agent 框架,.NET + Java 企业市场对标
  • LangGraph — 生产级复杂工作流的状态图方案
  • CrewAI — 角色化多 Agent 协作对比

核心要点

  • ADK 的最大差异化是 Java 支持——传统企业 Java 团队终于有了官方 Agent SDK,无需切换技术栈。
  • A2A(Agent-to-Agent)协议是 Google 推动的跨 Agent 通信标准,可能成为 MCP 之后的下一个重要协议。
  • ADK 与 Vertex AI / Model Garden 深度集成,但本地开发也支持 LiteLLM/OpenAI 等,不强制绑定。
  • 企业级特性成熟:IAM、VPC-SC、CMEK、审计日志开箱即用。
  • 学习曲线比 LangGraph 平缓,但灵活性略低——这是企业产品的典型权衡。

常见问题

Google ADK 和 Google Gemini 是什么关系?
Gemini 是大语言模型;ADK 是构建 Agent 应用的 SDK。ADK 可以调用 Gemini 模型,也支持其他模型(通过 LiteLLM 或直接 OpenAI API)。
ADK 必须用 Vertex AI 吗?
不是。本地开发可以用 Google AI Studio API 或任何兼容 OpenAI 的 endpoint。但生产部署推荐 Vertex AI,享受企业级特性。
A2A 和 MCP 是什么关系?
MCP 解决 Agent 与工具的连接;A2A 解决 Agent 与 Agent 的通信。两者互补,Google 同时支持 MCP 和 A2A。
ADK 适合创业团队用吗?
适合,但只有当你确定要长期用 Gemini 模型时。如果还在多模型评估阶段,LangGraph 或 OpenAI Agents SDK 更灵活。