首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Google ADK

Google ADK

修改于 2026-08-20 15:06:04
40
概述

Google ADK(Agent Development Kit,智能体开发套件)是 Google 于 2025 年 4 月在 Google Cloud NEXT 大会上发布的开源 AI 智能体开发框架,采用代码优先(code-first)的设计理念,帮助开发者以软件工程的方式构建、评估和部署生产级 AI 智能体及多智能体系统。该框架模型无关、部署无关,支持 PythonTypeScriptGoJavaKotlin 等多种语言,已开源为 Apache 2.0 协议,GitHub 仓库(google/adk-python)截至 2026 年 7 月拥有超过 20,000 星标。

一、Google ADK 的核心架构和设计理念是什么?

1. 代码优先的开发范式

Google ADK 将软件工程原则引入 AI 智能体开发,开发者通过 Python、TypeScript、Go 或 Java 代码定义智能体的行为逻辑、工具使用和编排规则,而非依赖可视化拖拽界面。这种设计让智能体开发更接近传统软件开发,支持版本控制、单元测试和持续集成。

2. 模型无关与部署无关

ADK 虽然针对 Gemini 模型和 Google 生态系统进行了优化,但框架本身不绑定任何特定模型。通过 LiteLLM 适配器,开发者可以接入 Anthropic、Meta、Mistral AI 等第三方模型,也可以使用本地运行的开源模型。部署方面,同一份智能体代码可以在本地运行、容器化部署到 Cloud Run 或 GKE,也可以通过 Vertex AI Agent Engine 一键托管。

3. 核心组件构成

ADK 围绕几个核心组件组织智能体应用:Agent(定义智能体的指令、工具和行为规范)、Workflow(在 2.0 版本中引入的图执行引擎,用于编排智能体和任务的执行流程)、Runner(运行智能体并管理会话状态)、Tools(管理函数工具、MCP 工具和 Google API 工具)、Session(管理会话历史与上下文)以及 Memory(记忆服务,支持跨会话的长期信息存储)。这些组件协同工作,构成从单智能体到复杂多智能体系统的开发基础。

4. 渐进式复杂度

ADK 设计为"从 prompt 开始,逐步成长":起步阶段只需几行代码定义一个 LlmAgent 加几个工具;成长阶段可组合多个智能体实现多智能体编排;高级阶段引入基于图的工作流处理复杂业务逻辑;专业阶段则通过评估框架和云端部署实现生产级可靠性。

二、Google ADK 中 Agent 是如何定义和工作的?

1. 智能体的基本构成

在 ADK 中,一个智能体(Agent)由以下核心要素组成:名称(name,唯一标识)、模型(model,指定使用的 LLM)、指令(instruction,描述智能体的角色和行为规则)、工具列表(tools,可调用的函数或外部服务)以及描述(description,说明智能体的用途)。

2. LlmAgent 的工作机制

LlmAgent 是 ADK 中最基础的智能体类型。当接收到用户输入时,ADK 自动完成以下循环:将用户消息和系统指令组装成上下文发送给 LLM;LLM 返回响应或工具调用请求;若涉及工具调用,ADK 执行对应工具并将结果回传给 LLM;如此迭代直至 LLM 生成最终回答。开发者无需手写这个推理循环,ADK 内部已完整实现。

3. 工具的定义方式

工具在 ADK 中通常是普通的 Python 函数,框架通过读取函数的签名和文档字符串(docstring)来理解工具的用途、参数和使用时机。开发者只需编写业务逻辑,ADK 负责处理工具调用的时机判断、参数传递和结果解析。

三、Google ADK 如何实现多智能体编排与协作?

1. 层级化 Agent 树结构

ADK 采用树形层次结构组织多智能体系统。顶层的根智能体(Root Agent)作为协调器,根据用户请求的类型和上下文,将任务动态分派给下层的专门化子智能体。每个子智能体拥有独立的工具集、指令和领域知识,完成分配的子任务后将结果返回给协调器汇总。

2. 四种工作流智能体

ADK 提供四种预置的工作流智能体类型:SequentialAgent 按顺序依次执行多个子智能体,适用于流水线任务;ParallelAgent 同时并行执行多个子智能体,适用于独立任务的批量处理;LoopAgent 循环执行子智能体直到满足终止条件,适用于迭代优化场景;LlmAgent 则通过 LLM 驱动的动态路由实现自适应行为。

3. A2A 协议的原生支持

ADK 原生支持 Google 推出的 A2A(Agent-to-Agent)协议,这是目前开源框架中唯一内置跨厂商智能体通信协议的能力。通过 A2A,ADK 智能体可以发现并调用由 LangGraph、CrewAI 等其他框架构建的远程智能体,实现跨平台、跨团队的智能体互操作。

四、Google ADK 的工具生态系统包含哪些类型,如何为 Agent 配置工具?

1. 预构建工具

ADK 内置了多种开箱即用的工具,包括 Google Search(实时网页搜索)、Code Execution(代码执行沙箱)等。这些工具经过 Google 官方维护,可直接实例化后传入智能体的 tools 参数使用。

2. 自定义函数工具

开发者可以将任意 Python 函数注册为工具。ADK 通过函数的类型注解和 docstring 自动生成工具的 schema 描述,供 LLM 理解何时调用以及如何传参。对于需要人工确认的高风险操作,还可以通过 action confirmations 机制在工具执行前插入人工审批步骤。

3. MCP 工具集成

ADK 原生支持 Model Context Protocol(MCP),通过 MCPToolset 可以连接任何符合 MCP 标准的工具服务器,如文件系统数据库GitHub、Slack 等。开发者无需编写自定义适配器,即可让智能体消费外部 MCP 服务的能力。

4. OpenAPI 工具与第三方集成

对于已有 REST API 的服务,ADK 支持通过 OpenAPI 规范自动生成工具。此外,框架还兼容 LangChainLlamaIndex 的工具生态,开发者可以复用这两个框架中已有的工具组件。

五、Google ADK 如何处理上下文管理(Context Management)?

1. 结构化上下文组装

ADK 将上下文管理视为框架的核心能力之一。与简单拼接字符串直到上下文窗口溢出的做法不同,ADK 将会话历史、长期记忆、工具输出和 artifacts 组装成结构化的视图,让每个 token 都有其存在的意义。

2. 自动上下文优化

框架自动执行多项上下文优化策略:过滤与当前任务无关的历史事件;对较早的对话轮次进行摘要压缩;延迟加载大型 artifacts 直到真正需要时才纳入上下文;实时跟踪 token 使用量,避免超出模型窗口限制。

3. 可定制的上下文策略

ADK 允许开发者根据具体场景调优上下文管理策略。例如,可以配置哪些类型的信息应该保留在上下文中、历史对话的保留轮数、工具输出的截断规则等,实现效率与效果的平衡。

六、Google ADK 的工作流功能(Graph Workflows)有哪些特性和优势?

1. 基于图的执行引擎

ADK 2.0 引入了 Graph Workflows 功能,将智能体、工具函数和判断条件抽象为图中的节点,通过有向边定义执行路径和状态转移。这种架构让开发者能够以代码方式精确控制任务的执行顺序、分支条件和循环逻辑。

2. 确定性与自适应结合

图工作流允许开发者将确定性代码与 AI 推理混合编排:数据校验、身份验证、状态检查等需要严格保证正确性的步骤用确定性代码实现;意图理解、内容生成、异常解释等需要灵活推理的步骤交给 LLM 处理。

3. 高级流程控制

Graph Workflows 支持条件分支(根据中间结果决定下一步走向)、并行执行(多个节点同时运行)、循环重试(失败时自动回退重试)以及错误恢复(异常时跳转到处理节点)。这些能力使得复杂业务流程的可控性和可预测性大幅提升。

七、Google ADK 提供了哪些评估(Evaluation)能力来检验 Agent 性能?

1. 内置评估框架

ADK 内置了系统化的智能体评估框架,支持从工具调用轨迹匹配到基于 LLM 的响应质量评估等多种评估维度。开发者可以定义测试用例集,自动运行评估并生成量化指标。

2. 多维度评估指标

ADK 提供的内置评估指标包括:tool_trajectory_avg_score(工具调用轨迹的精确匹配度)、response_match_score(与参考答案的 ROUGE-1 相似度)、final_response_match_v2(LLM 评判的语义匹配度)、rubric_based_final_response_quality_v1(基于评分标准的最终响应质量)、hallucinations_v1(响应相对于上下文的可靠性)、safety_v1(响应的安全性)以及 multi_turn_task_success_v1(多轮对话中任务目标达成率)。

3. 一致性测试与回归验证

ADK 提供 adk conformance 命令用于一致性测试。开发者先通过录制插件生成基线交互数据,后续每次代码或模型更新后运行回归测试,将实时行为与基线进行对比,及时发现意外偏差。

4. 可视化评估界面

通过 adk web 启动的开发界面内置评估运行器,可以在浏览器中直观地查看智能体在测试用例上的表现,包括每一步的工具调用、推理过程和最终得分,便于快速定位问题。

八、Google ADK 的本地开发调试工具有哪些,如何使用 adk web 进行调试?

1. 命令行工具集

ADK 提供三个核心命令行入口:adk run 在终端中启动与智能体的交互式对话;adk web 启动浏览器开发界面,提供聊天窗口和 trace inspector;adk api_server 将智能体暴露为 REST API 服务,方便其他系统调用。

2. adk web 的调试能力

adk web 是 ADK 的核心调试工具。界面左侧是与智能体对话的聊天窗口,右侧是执行追踪面板,实时展示智能体的决策过程、工具调用详情、参数传递、子智能体委派关系以及状态变化。开发者可以逐步骤检查智能体的行为,快速定位逻辑错误。

3. 双向音视频流式交互

ADK 支持双向音频和视频流式传输能力,开发者可以在 adk web 界面中测试语音对话和视频分析等多模态交互场景。这一能力继承自 Gemini 模型的多模态特性,在同类智能体框架中较为独特。

九、Google ADK 如何处理错误恢复和会话恢复?

1. 会话回溯(Rewind)

ADK 支持将会话状态回溯到前一次调用(invocation)之前的快照。当智能体执行过程中出现异常或产生不符合预期的结果时,开发者可以将会话回退到问题发生前的状态,调整输入或配置后重新执行,而无需从头开始。

2. 图工作流的错误处理

在 Graph Workflows 中,开发者可以通过条件转移定义错误处理路径。例如,当审核节点判定结果不通过时,自动将流程路由回研究节点重新执行;当工具调用失败时,跳转到专门的错误处理节点记录日志并尝试降级方案。

3. 持久化会话服务

生产环境中,ADK 支持将会话状态持久化到外部存储(如 Vertex AI Session Service、Cloud Firestore 或 Memorystore)。这样即使服务实例重启或扩容,用户的对话历史和上下文也不会丢失。需要注意的是,开发环境默认的 InMemorySessionService 不具备持久化能力,部署到生产前必须替换为持久化后端。

十、Google ADK 的企业级安全和管理特性有哪些?

1. 身份与访问管理

部署到 Google Cloud 时,ADK 智能体自动继承 Google Cloud IAM 的细粒度权限控制。开发者可以为智能体配置最小必要权限的服务账号,限制其只能访问特定的模型、工具和数据源。

2. 人工在环(Human-in-the-Loop)

ADK 支持在工具执行前插入人工确认步骤。对于金融交易、医疗诊断、内容审核等高风险场景,智能体在调用敏感工具前会暂停并等待人工审批,满足合规要求。

3. 可观测性与审计

通过 Cloud Trace 集成,开发者可以追踪智能体的完整执行链路,包括每次 LLM 调用的输入输出、工具调用记录、延迟分布和错误信息。这些遥测数据不仅用于性能优化,也为审计和问题排查提供了完整依据。

4. 网络安全隔离

部署到 GKE 时,ADK 智能体可以运行在私有 VPC 中,通过 VPC Service Controls 限制网络访问范围。对于数据敏感型应用,还可以配置 VPC Connector 让智能体访问内部数据库和服务,而不暴露到公网。

十一、Google ADK 如何部署到生产环境,支持哪些部署方式?

1. Vertex AI Agent Engine

Vertex AI Agent Engine 是 Google Cloud 提供的托管智能体运行时服务。开发者通过一行 CLI 命令(adk deploy agent_engine)即可完成部署,平台自动处理自动扩缩容、会话管理、身份认证和可观测性,无需管理底层服务器或容器。

2. Cloud Run

Cloud Run 是推荐的无服务器容器部署方式。开发者使用 adk deploy cloud_run 命令,ADK 自动生成 Dockerfile 和构建配置,将智能体打包为容器镜像并推送到 Artifact Registry。Cloud Run 支持按请求量自动扩缩容(包括缩容到零),适合流量波动较大的场景。

3. GKE(Google Kubernetes Engine)

对于已有 Kubernetes 集群的企业,可以将 ADK 智能体作为标准 Deployment 部署到 GKE。这种方式适合需要自定义调度策略、服务网格、高级网络配置或与现有 GKE 工作负载混合部署的场景。

4. Docker 自托管

ADK 智能体可以容器化后部署到任意容器运行环境,包括本地 Docker、Docker Compose 或其他云平台的容器服务。这为不使用 Google Cloud 的团队提供了自托管选项。

十二、Google ADK 适合什么样的应用场景,不适合哪些场景?

1. 适合的场景

ADK 特别适合以下场景:企业级多智能体系统的构建,尤其是需要结构化工作流、内置评估和清晰生产部署路径的项目;已深度使用 Google Cloud 和 Gemini 生态的团队,可无缝对接 Vertex AI、BigQuery、Workspace 等服务;需要严格智能体质量评估的产品团队,可利用内置评估框架进行系统化测试;以及拥有 Python、TypeScript、Go、Java 多语言技术栈的组织,可在统一框架下开发不同语言的智能体。

2. 不太适合的场景

ADK 不太适合以下情况:只需要快速搭建原型且不关心工程规范的场景,CrewAI 的角色化抽象可能更简单直接;工作流需要复杂有向图(含循环和条件分支)且对可观测性要求极高的场景,LangGraph 的图抽象更为成熟;以及完全不使用 Google Cloud 且对第三方托管服务有抵触的团队,虽然支持自托管,但 ADK 的最佳体验仍与 Google 生态绑定。

十三、Google ADK 的开源协议是什么,社区活跃度和 GitHub 生态情况如何?

1. 开源协议

Google ADK 采用 Apache 2.0 开源协议,允许商业使用、修改和分发,仅需保留版权声明和协议文本。这意味着企业和开发者可以免费将 ADK 用于商业产品,无需支付授权费用。

2. 社区活跃度

ADK 于 2025 年 4 月开源,截至 2026 年 7 月 GitHub 星标已超过 20,000。项目保持约每两周一次的发布节奏,2026 年 5 月发布了 ADK 2.0 重大版本,引入了图工作流、会话回溯等核心特性。Google 官方维护团队定期举办社区电话会议,邀请开发者参与技术分享和路线图讨论。

3. 多语言 SDK 支持

ADK 是目前少数同时提供 Python、TypeScript、Go、Java 和 Kotlin 五种语言官方 SDK 的智能体框架。2026 年 5 月 Google I/O 大会上还发布了 ADK for Android,支持在 Android 设备上本地运行智能体(结合 Gemini Nano 模型),无需网络连接即可处理隐私敏感任务。

4. 学习资源与文档

ADK 提供完整的官方文档(google.github.io/adk-docs)、快速入门指南、示例代码库以及官方视频教程。社区成员也贡献了大量教程和深度解析文章,覆盖从基础概念到生产部署的全流程。

十四、Google ADK 与 OpenAI Agents SDK 相比有哪些优势和差异?

1. 架构设计差异

Google ADK 采用层级化 Agent 树结构,通过根智能体协调专门化子智能体,强调结构化的任务分解和委派。OpenAI Agents SDK 则采用 handoff 机制,智能体之间通过控制权传递实现协作,设计更为轻量灵活。

2. 语言与生态支持

ADK 提供 Python、TypeScript、Go、Java、Kotlin 五种语言的官方 SDK,覆盖范围更广。OpenAI Agents SDK 目前主要支持 Python 和 TypeScript。在模型支持上,两者都是模型无关的,ADK 通过 LiteLLM 接入第三方模型,OpenAI Agents SDK 也支持通过 LiteLLM 接入超过 100 种模型。

3. 部署与运维

ADK 与 Google Cloud 深度集成,提供 Vertex AI Agent Engine、Cloud Run、GKE 等多种部署选项,并内置 Cloud Trace 可观测性。OpenAI Agents SDK 更侧重于框架本身,部署需要开发者自行选择基础设施。ADK 还内置了评估框架和一致性测试工具,OpenAI Agents SDK 则提供了 tracing 和 guardrails 机制。

4. 互操作性

ADK 原生支持 A2A 协议,可以与其他厂商的智能体跨平台通信。OpenAI Agents SDK 目前没有内置类似的跨框架协议。如果企业需要构建跨团队、跨框架的智能体协作系统,ADK 在互操作性方面具有明显优势。

相关文章
  • Google ADK,知多少?
    4.4K
  • 搭建AI智能体的Java神器:Google ADK深度解析
    1.4K
  • MCP服务被Google ADK与Spring AI框架的Agent调用
    546
  • Google ADK - 构建生产级、高效的上下文感知多智能体框架
    312
  • Google ADK 深度探索(一):“一等公民”上下文 Context 解析
    241
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券