数据代理的集成模式

本页面介绍了将数据智能体体验嵌入到应用中的集成模式。这些模式的复杂程度各不相同,从嵌入式聊天组件到编排的多智能体系统,不一而足。

本指南适用于设计生成式 AI 应用的云架构师和数据工程师。您应该对 Google Cloud 概念、Identity and Access Management (IAM) 和 REST API 有基本的了解。您还应熟悉应用所使用的数据源的架构。

集成模式概览

本指南分为以下主要路径,每条路径都基于您的起点:

  • Looker 路线:如果您想通过 Looker 嵌入、Looker API 或对话式分析 API 提供对话功能,请选择此路线。
  • BigQuery 和数据库跟踪:如果您要构建使用 BigQuery、数据洞察或受支持的操作型数据库的自定义应用,请选择此跟踪。

下表总结了可用的集成模式:

集成模式 说明 数据源
Looker iframe 嵌入 向应用添加标准对话界面,只需极少代码。 Looker
Looker API 和 SDK 构建一个使用 Looker API 进行身份验证的自定义聊天界面。 Looker
对话式分析 API(Looker 来源) 将 Looker 数据智能体作为 Google Cloud 资源进行管理,这些资源可在多个平台和多智能体系统中运行。 Looker
直接 API(单代理) 使用直接 API 集成来实现文本到答案流程。 BigQuery、数据库、Looker
Direct API(编排器) 使用函数调用在 API 和其他工具之间路由查询。 BigQuery、数据库、Looker
ADK(架构驱动)与 BigQueryToolset 使用 ask_data_insights 工具根据表格引用快速生成数据洞见。 BigQuery
ADK(受管控)与 DataAgentToolset 查询使用 ask_data_agent 工具的预配置数据智能体,以确保行为一致。 BigQuery、数据库、Looker
ADK(自定义流式传输) 通过使用自定义代理类,支持图表和 SQL 的实时流式传输。 BigQuery、数据库、Looker
MCP 与 McpToolset 或 ToolboxToolset 将应用连接到使用 Model Context Protocol (MCP) 的数据工具。 BigQuery、Looker
对话式分析 API 远程 MCP 服务器 提供一个统一、安全的网关,让第三方 AI 平台和 Google 托管平台(例如 Gemini Enterprise)中的根智能体能够发现 Google Cloud中的专用数据智能体并与之通信。 BigQuery、数据库、Looker
A2A protocol 使在不同系统上运行的专业智能体之间能够安全协作。 依赖于框架

Looker 的集成选项

如果您使用 Looker,可以通过以下模式向用户提供 Looker 对话式分析:

Looker 集成模式摘要

下表总结了 Looker 的主要集成模式:

模式 适用场景 优点 注意事项
使用 iframe 嵌入:一种低代码方法,可快速将标准 Looker 对话体验添加到应用中。 需要可用于生产用途的对话式分析体验,且只需极少自定义开发的团队。
  • 只需极少的代码即可实现。
  • 自动强制执行现有的 Looker 安全模型。
  • 无需单独进行 Google Cloud 身份验证。
  • 支持 Looker Embed SDK,该 SDK 可通过管理 iframe 生命周期和事件传递来加快开发速度。
  • 提供有限的界面自定义功能,并依赖于标准 Looker 对话界面。
  • 您的 Looker 实例必须由 Looker 托管。
使用 Looker API 和 SDK 进行构建:一种灵活的方法,可用于构建自定义对话界面,同时在 Looker 中进行身份验证和智能体管理。 需要自定义聊天用户体验,但希望在 Looker 生态系统中保留用户身份验证和代理管理的团队。此模式非常适合已使用 Looker 嵌入或 API 的应用。
  • 提供单一身份验证层,并可完全控制界面。
  • 为现有 Looker 客户简化架构。
  • 使用 Looker 语义层来提高查询准确率。
  • 无需单独进行 Google Cloud 身份验证。
  • 需要具备 Looker API 开发专业知识。
  • 仅限 Looker 数据源。
  • 代理在 Looker 中进行管理,无法移植到其他 Google Cloud 服务。
使用对话式分析 API:直接与 API 集成,将智能体作为云级资源进行管理。 需要为其数据智能体提供跨平台可移植性的 Looker 客户。
  • 确保数据智能体可在所有 Google Cloud 平台上移植。
  • 由 IAM 集中管理。
  • 让您能够将数据智能体集成到 ADK 或 MCP 工作流中。
  • 需要您管理整个集成堆栈,包括 Google Cloud 和 Looker 身份验证。
  • 数据智能体独立于 Looker 界面进行管理。

使用 iframe 嵌入

您可以将对话式分析嵌入为 iframe,以便在 Looker 界面之外提供对话体验。此模式是提供对话式分析的直接方式,无需自定义界面开发、后端编排或 API 状态管理。如需使用此模式,您需要向应用中添加一个预设格式的网址。

Looker 嵌入 SDK 提供了用于管理安全网址生成、iframe 生命周期管理以及托管应用与 iframe 之间的 JavaScript 事件传递等任务的工具。您可以通过在应用中添加预设格式的网址,嵌入代理页面、对话页面或特定对话。

您可以对嵌入式内容使用以下身份验证方法:

  • 不公开嵌入:使用用户现有的 Looker 凭据对其进行身份验证。将嵌入网址设置为 iframe 来源后,用户可以使用其 Looker 账号登录。此方法会自动强制执行现有角色、内容访问权限和数据级权限(例如访问权限过滤条件或访问权限授予),而无需额外的 IAM 配置或令牌映射。
  • 签名嵌入:通过单点登录 (SSO) 验证用户身份。您需要构建一个包含对话式分析内容路径的签名网址,以便动态指定要授予的确切权限。

使用 Looker API 和 SDK 进行构建

如需在对话体验中获得更大的灵活性,您可以使用 Looker API 中的 ConversationalAnalytics 方法,或使用 Looker SDK 构建自定义应用。通过这种方法,您可以构建一个直接与 Looker 端点通信的自定义前端。

与 Looker API 集成具有以下优势:

  • 您只需管理 Looker 的身份验证。无需单独向对话式分析 API 进行身份验证。
  • 对于已使用 Looker 嵌入或 API 的应用,此模式可避免使用辅助身份验证机制,并消除管理外部数据智能体的需求,从而简化项目架构。
  • 您可以完全控制聊天界面、对话流程以及应用呈现结果(例如图表和表格)的方式。

如需查看参考实现,请参阅 GitHub 上的使用 ConversationalAnalytics 方法的 Looker API 指南。

将对话式分析 API 与 Looker 数据搭配使用

如果您需要执行以下任一任务,可以直接在 geminidataanalytics.googleapis.com 与对话式分析 API 集成:

  • 在多个 Google Cloud 平台(例如自定义 Web 应用、Google Chat 和 Gemini Enterprise)上共享同一个数据智能体。
  • 在单个多智能体系统中,将 Looker 数据源与 BigQuery 或运营数据库源相结合。
  • 将数据智能体作为云级资源进行管理,该资源由 IAM 而非 Looker 权限模型控制。

如需详细了解对话式分析 API 的常见架构模式,请参阅 BigQuery 和数据库的集成选项。

BigQuery、数据洞察和数据库的集成选项

本部分介绍了使用 BigQuery、数据洞察或受支持的 Google Cloud 操作型数据库通过 Conversational Analytics API 构建自定义体验的应用的架构模式。

如果您将对话式分析 API 与 Looker 数据源搭配使用,则本部分中介绍的模式也适用于您的集成。

对话式分析 API 提供了以下与数据互动的主要方法:

  • chat 方法:支持 BigQuery、Looker、数据洞察和运维数据库。
  • queryData 方法:支持 AlloyDB、GoogleSQL for Spanner、Cloud SQL for MySQL 和 Cloud SQL for PostgreSQL 等运维数据库。

构建自定义应用时,您可以使用以下一种或多种集成模式:

  • 直接 API 集成:一种自定义方法,可提供最大的灵活性,但需要您构建用于身份验证、对话管理和响应解析的基础设施。
  • 框架驱动型编排 (ADK):一种使用智能体开发套件 (ADK) 进行多智能体路由、工具执行和状态管理的方法。
  • 垂直集成 (MCP):一种使用 Model Context Protocol (MCP) 的方法,可提供一种统一的方式,将 AI 应用连接到不同环境中的工具和数据源。
  • 横向编排 (A2A):一种使用 Agent-to-Agent (A2A) 协议的方法,允许不同系统上的专用智能体安全协作,而无需自定义集成代码。

BigQuery 和数据库集成模式摘要

下表总结了 BigQuery 和操作型数据库的具体实现模式:

模式 适用场景 优点 注意事项
单智能体集成(直接 API):应用直接调用 API,从数据源返回数据洞见。 需要直接控制每个 API 调用的单智能体应用、原型或微服务。
  • 提供精细控制,不依赖于框架。
  • 为单智能体应用场景提供最简单的架构。
  • 同时支持有状态和无状态模式。
  • 需要您构建用于身份验证、状态管理、响应解析、错误处理、流式传输和部署的所有基础设施。
  • 不适合多智能体场景。
自定义编排器(直接 API):一种使用根智能体和函数调用在对话式分析 API 与其他工具或服务之间路由查询的模式。 在单个对话流程中将数据查询与其他任务(例如电子邮件或文档)相结合的应用。
  • 提供最大程度的编排控制,不依赖于任何框架。
  • 让您可以精确定义模型如何在工具之间进行路由。
  • 适用于任何 Gemini 模型。
  • 需要您手动管理工具定义、对话循环、多轮状态、错误处理和部署。
  • 与使用 ADK 等框架相比,开发开销可能会变得繁重。
与 BigQueryToolset (ADK) 的架构驱动型集成:一种使用表引用快速返回数据洞见的模式。 快速原型设计、数据治理不太重要的内部工具,或数据洞见是 ADK 智能体中多项功能之一的场景。
  • 在 ADK 框架内提供最快的集成路径。
  • 无需预先配置数据智能体。
  • 直接使用数据库表名称。
  • 缺乏语义治理,仅通过架构推理生成 SQL。
  • 在 API 级别以无状态模式运行。
  • 提供纯文本回答,不支持图表。
与 DataAgentToolset (ADK) 的受管控集成:通过引用智能体的 ID 来查询预配置的数据智能体的模式。 需要一致数据访问权限的生产环境应用,或数据智能体是可信、可重用组件的多智能体系统。
  • 为所有使用者提供语义治理和一致的行为。
  • 通过使用经过验证的查询和业务术语库来提高准确性。
  • 确保数据智能体可在 ADK、MCP 和直接 API 集成中重复使用。
  • 需要您预先配置数据智能体资源。
  • 在 API 级别以无状态模式运行。
  • 返回纯文本回答,不支持图表。
自定义子智能体 (ADK):一种使用自定义智能体类直接连接到 API 并将数据块流式传输回用户的模式。 优先考虑低响应延迟的面向用户应用,或数据检索为下游智能体提供输入的多智能体流水线。
  • 提供实时流式传输反馈。
  • 访问所有回答类型,例如图表、表格和 SQL。
  • 可通过会话状态与其他 ADK 智能体组合。
  • 需要更多开发工作来构建自定义 ADK 智能体类。
  • 需要您直接管理流式传输连接和响应解析。
Model Context Protocol (MCP):一种使用开放标准将 AI 应用连接到不同环境中的数据源和工具的模式。 需要跨多个 AI 客户端和 IDE 实现工具互操作性的组织,或需要通过 ADK 框架、IDE 和自定义应用访问相同数据工具的团队。
  • 使用适用于任何符合 MCP 规范的客户端的通用工具标准。
  • 将工具实现与使用方应用分离开来。
  • 提供托管式服务器选项,例如 Google Cloud MCP 服务器。
  • 需要为 Toolbox 服务器提供额外的基础架构层。
  • 与 ADK 工具集相比,集成度较低。
  • 取决于 MCP Toolbox 不断发展的生态系统。
  • 在无状态模式下运行,需要您在外部管理多轮对话状态。
Agent-to-Agent (A2A):一种使用 A2A protocol 的模式,该协议是一种开放标准,可让不同系统上的专用智能体安全协作,而无需自定义集成代码。 高度分布式的企业环境,其中中央路由智能体必须将任务委派给在不同系统或网络上运行的数据智能体。
  • 减少了在不同框架之间编写自定义集成代码的需求。
  • 确保无缝的跨平台互操作性。
  • 提供安全且标准化的功能发现。
  • 与内部子智能体相比,会产生轻微的网络延迟。
  • 需要您配置 A2A 服务器设置。

直接 API 集成

直接 API 集成可让您精细控制应用的逻辑和架构,但需要您构建支持性基础设施。采用这种方法时,您需要负责身份验证、对话管理、回答解析和部署等任务。

本部分包含以下主题:

  • 单智能体集成:一种模式,其中您的应用直接调用对话式分析 API,以从数据源返回数据洞见。
  • 自定义编排器集成:一种高级模式,使用根代理和函数调用在对话式分析 API 之间路由查询。

单智能体集成

通过单代理集成,您的后端可以使用 REST 或客户端库直接调用对话式分析 API,并传递用户的查询和上下文。此模式适用于复杂度较低的应用,例如使用简单文本到答案流程的 Web 应用、内部聊天工具或微服务。您还可以将此方法用于原型设计和概念验证工作。

此模式既支持有状态聊天(由 Google 管理对话历史记录),也支持无状态聊天(由您的应用管理历史记录)。

如需查看参考实现,请参阅 GitHub 上的对话式分析 API 快速入门或对话式分析 API 黄金版演示。

自定义编排器集成

采用这种方法时,您需要构建一个根智能体,作为应用的主要入口点和协调器。根智能体使用标准 Gemini 模型,该模型通过函数调用配备了工具。当用户提出与数据相关的问题时,根智能体会向对话式分析 API 发出工具调用,接收结果,然后继续推理或调用下游的其他工具。

函数调用涉及以下阶段:

  1. 声明:将工具架构定义为包含参数定义的 FunctionDeclaration 对象。
  2. 调用:模型会返回一条结构化 functionCall 消息,其中包含函数名称和实参。
  3. 执行:应用执行 API 调用,并在 FunctionResponse 消息中返回结果。
  4. 合成:Gemini 模型使用结果生成最终答案或确定下一步操作。

此方法适用于用户可能在执行其他任务的同时请求数据洞见的应用。例如,用户可能会要求智能体“显示销售数据,然后起草一封给销售团队的电子邮件”。根智能体可以将数据问题路由到对话式分析 API,并使用其他工具执行非数据任务。

如需查看参考实现,请参阅 GitHub 上的 对话式分析 API 黄金版演示中的编排或多模态页面。

框架驱动型编排 (ADK)

智能体开发套件 (ADK) 是一个代码优先的框架,用于构建 AI 智能体,可管理多智能体路由、工具执行和状态管理等复杂任务。ADK 框架与 Gemini Enterprise 所用的框架相同。

通过使用 ADK,您可以将对话式分析 API 与其他工具和智能体串联起来,以执行复杂的操作。

本部分包含以下主题:

与 BigQueryToolset 的架构驱动型集成

ADK 框架中的 BigQueryToolset 工具集包含一个预构建的 ask_data_insights 工具。如需使用此工具,您需要将表名称和用户的问题传递给该工具,然后该工具会使用内嵌上下文调用对话式分析 API。

调用该工具时,它会向对话式分析 API 发送一个无状态请求,其中包含指定的 BigQuery 表引用。API 会推断数据库架构,生成并执行 SQL 查询,然后返回文本回答。然后,结果会作为工具回答传回给 ADK 智能体。

此模式可让您快速为代理添加对话式分析功能。不过,由于对 API 的调用是无状态的,并且缺乏治理,因此 API 生成的 SQL 完全基于表架构,没有语义护栏。此模式部署速度更快,但对于应用了命名规范、业务逻辑或访问权限控制的生产业务逻辑而言,风险更高。

与 DataAgentToolset 的受管控集成

ADK 框架中的 DataAgentToolset 工具集提供了一种预构建的集成,可通过 ID 引用预配置的数据智能体。ADK 智能体会将用户的问题传递给 ask_data_agent 工具,该工具会使用指定的数据智能体上下文调用对话式分析 API。

您可以通过编程方式使用对话式分析 API 创建数据智能体,也可以通过 Google Cloud 控制台中的智能体目录创建。数据智能体配备了以下组件:

  • 知识来源:智能体可以查询的表、视图或用户定义的函数 (UDF)
  • 结构化上下文:对表和列的说明,可帮助智能体理解底层数据
  • 指令:为智能体提供的额外指导,帮助其解读和查询数据源
  • 已验证的查询:经过预验证的 SQL 查询,可作为常见问题的示例
  • 词汇表:业务术语定义,可帮助智能体理解特定领域的语言

如需查看有关通过智能体目录创建智能体的深入指南,请参阅 BigQuery 中的对话式分析 Codelab。

由于智能体被定义为受管控单元,因此无论哪个应用或子智能体调用它,它都会使用相同的可信逻辑、上下文和护栏。

与自定义子智能体的高级用户体验集成

在 API 请求处理完毕之前,BigQueryToolset 和 DataAgentToolset 工具集不会向用户返回结果。由于 ADK 框架将 API 视为一种在完成之前会阻止响应的工具,因此运行时间较长的查询可能会导致用户无法获得反馈。

如果应用优先考虑低响应延迟时间,或者数据检索会馈送给下游智能体,您也可以构建一个自定义 ADK 智能体类,该类可直接连接到对话式分析 API,并以异步方式将数据分块流式传输回用户。此模式支持在生成以下回答类型时进行流式传输:

  • 思考消息:数据智能体在解读问题时的推理过程。
  • 进度消息:数据源的数据检索期间的状态更新。
  • 查询生成:生成的 SQL 或 Looker 查询,在生成时会以流式传输。
  • 数据:JSON 格式的数据结果。
  • 可视化:Vega-Lite 图表规范。
  • 摘要:最终的文本回答。

如需查看返回的数据类型的完整列表,请参阅 API 参考文档中的 SystemMessage 类型。

这种异步方法可确保用户无需等待复杂的数据检索过程完全完成。随着数据智能体在查询流程中不断推进,它会持续将增量更新(例如文本摘要、原始数据或图表配置)分享到临时共享工作区。然后,这些数据可以实时呈现给用户,并与专门的子智能体共享,以执行其他任务。

如需查看包含根智能体、数据子智能体和可视化智能体的参考实现,请参阅 GitHub 上的 ADK 流式传输演示。

垂直集成 (MCP)

Model Context Protocol (MCP) 是一种开放标准,可为 AI 应用提供一种统一的方式来连接到外部工具和数据源。MCP 规范了 AI 模型与其使用的工具之间的接口。

本部分包含以下主题:

对话式分析 API 远程 MCP 服务器

对话式分析 API 在 https://geminidataanalytics.googleapis.com/mcp 提供了一个远程 MCP 服务器,该服务器由 Google 的代管式 MCP 服务器提供支持。此网关提供统一、安全的 HTTP 和服务器发送事件 (SSE) 接口,让第三方 AI 平台和 Google 托管平台(例如 Gemini Enterprise)中的根智能体能够发现 Google Cloud中的专用数据智能体并与之通信。

根智能体通信概览

外部或 Google 管理的根智能体与对话式分析 API 之间的通信涉及三个不同的角色:

  1. 数据操作员在对话式分析界面中创建和配置限定范围的数据智能体,清晰描述每个智能体可以访问的数据源以及可以回答的问题,并与业务用户共享这些智能体。
  2. 平台管理员在其智能体平台中注册一个指向 https://geminidataanalytics.googleapis.com/mcp 端点的自定义 MCP 连接。管理员使用 Google 授权端点 (https://accounts.google.com/o/oauth2/v2/auth)、令牌端点 (https://oauth2.googleapis.com/token) 和所需的授权范围(https://www.googleapis.com/auth/geminidataanalytics 和 https://www.googleapis.com/auth/bigquery.readonly)配置 OAuth 2.0 客户端凭证(客户端 ID 和客户端密钥)。
  3. 业务用户在智能体平台中用自然语言提问。该平台的根智能体(编排器 LLM)不会直接查询原始数据库,而是与对话式分析 API 远程 MCP 服务器通信,以发现相关的数据智能体,将用户的问题路由到适当范围的数据智能体,并返回综合回答。
身份传播

当请求来自第三方或外部根智能体时,为了维护企业数据治理,远程 MCP 服务器会强制执行端到端身份传播:

  • 用户委托身份验证:当企业用户与根智能体互动时,智能体平台会通过三方 OAuth 2.0 流程对用户进行身份验证,并在发送到 MCP 网关的请求的 HTTP 标头中包含用户委托的 OAuth 访问令牌。
  • 最终用户凭证 (EUC) 转发:远程 MCP 服务器会验证令牌,并通过 Conversational Analytics API 层将最终用户凭证传播到底层数据引擎,例如 BigQuery、Spanner、AlloyDB 和 Cloud SQL。
  • 受管控的数据访问:由于查询是使用经过身份验证的用户身份(而非共享服务账号)运行的,因此底层数据源会自动强制执行现有的 IAM 权限、行级和列级安全政策以及受管控的数据访问边界。用户只能发现数据智能体和查询他们已有权访问的数据集。
  • Looker 双身份模型:对于 BigQuery 和操作型数据库,查询会使用个别用户转发的 Google OAuth 凭据执行。对于 Looker 支持的数据智能体,身份验证采用双重身份模型:用户的 Google OAuth 令牌授权访问 Google IAM 中的数据智能体,但查询在 Looker 中使用为 Looker API 用户提供的凭据(在对话工具的凭据块中传递)执行。Looker 模型访问权限、权限和行级规则反映的是该配置的 API 用户,而不是单个最终用户的 Looker 身份。
根代理如何访问 API 方法

当 MCP 客户端连接到 https://geminidataanalytics.googleapis.com/mcp 时,它会调用标准 MCP tools/list 方法,以动态导入对话式分析 API 公开的工具架构。然后,根智能体通过调用这些 MCP 工具和资源与对话式分析 API 进行交互,这些工具和资源直接映射到底层 REST API 方法:

MCP 工具或资源 映射的对话式分析 API 方法 根代理如何使用它
list_data_agents projects.locations.dataAgents.list

发现可用的数据智能体。根智能体传递目标 PROJECT_ID(和 LOCATION),并接收用户有权访问的活跃数据智能体列表,包括每个智能体的 ID 和说明。根智能体会评估这些说明,以确定哪个数据智能体可以回答用户的问题。

提示:在根智能体的自定义系统指令中添加目标 PROJECT_ID,这样根智能体就不会提示业务用户提供项目 ID。

get_data_agent

(或 gda://agents/AGENT_ID MCP 资源)

projects.locations.dataAgents.get

检查特定数据智能体的元数据和上下文。当仅凭代理说明不足以路由复杂提示时,根代理会传递目标 AGENT_ID,以检索配置详细信息,例如关联的 BigQuery 表、系统指令、术语表或已验证的查询。

chat projects.locations.chat

充当对话式查询的执行代理。如需查询发现的数据智能体,根智能体会在 messages 中传递包含智能体完整资源名称 (projects/PROJECT_ID/locations/LOCATION/dataAgents/AGENT_ID) 的 data_agent_context 以及用户的自然语言消息。对于无状态的临时查询,根智能体可以改为传递 inline_context。该工具会返回自然语言回答、生成的 SQL 查询、结果行、Vega-Lite 图表规范和智能体推理。

MCP Toolbox for Databases

您还可以通过开源 MCP Toolbox for Databases 服务器访问对话式分析 API。此服务器提供预构建的 MCP 兼容工具,这些工具会公开 Conversational Analytics API 中的 chat 方法:

MCP 是一个互操作性层,它将分析功能作为工具公开给与 MCP 兼容的客户端,而不是对话式分析 API 的单独执行模型。

适用于独立架构和 ADK 架构的 MCP 实现模式

您可以通过以下模式实现 MCP:

模式 详细信息
独立 MCP(不使用 ADK)

将 MCP Toolbox for Databases 服务器用作独立服务器,以连接到任何符合 MCP 规范的客户端。此模式通常用于以下任务:

  • IDE 集成:将 IDE(例如 Antigravity、Cursor 或 VS Code)连接到服务器,以便在编辑器中以对话方式查询数据。
  • 自定义 MCP 客户端:构建一个应用,该应用使用服务器在多个 AI 提供商之间提供统一的工具接口。
  • Gemini CLI:将 CLI 用作 MCP 客户端,进行基于终端的数据对话。
ADK 中的 MCP

ADK 框架提供了以下机制,用于将 MCP 服务器集成到 Agentic Workflows 中:

  • ToolboxToolset:MCP Toolbox for Databases 服务器的专用变体,支持多种身份验证方法。
  • McpToolset:通过使用本地或远程 MCP 服务器连接,将 ADK 智能体连接到任何 MCP 服务器。自动发现服务器的工具并将其公开给智能体。

您还可以使用 FastMCP 框架构建 MCP 服务器,以便向任何符合 MCP 规范的客户端公开使用 ADK 框架构建的工具。通过这种方法,您的 ADK 智能体可以作为工具在其他生态系统中使用。

选择符合应用特定架构要求的集成模式:

  • 使用内置的智能体开发套件 (ADK) 工具集(例如 BigQueryToolset 或 DataAgentToolset)可实现更紧密的集成,且不依赖于外部服务器。此方法非常适合完全存在于 ADK 框架内的系统。
  • 使用 MCP Toolbox 中的工具可在符合 MCP 规范的客户端之间实现互操作性。此方法非常适合必须服务于多个使用者应用或第三方 IDE 的数据工具。

横向编排 (A2A)

Agent-to-Agent (A2A) 协议是一种开放标准,可让不同系统上的专业智能体安全地进行通信和协作,而无需自定义集成代码。

随着系统规模的扩大,组织通常会部署多个基于不同框架或云基础设施构建的专业智能体。A2A 为这些自主智能体建立了一个通用消息传递层。每个智能体不使用自定义 API,而是发布一个智能体卡片,这是一个可检测到的配置文件,其中详细说明了智能体的功能、支持的数据格式和安全要求。

当中央编排器或对等智能体需要分析数据时,它会通过结构化 A2A 消息传递,安全地将任务委托给数据智能体。数据智能体自主处理请求并返回结果,从而将执行逻辑与请求者解耦。

如需了解如何使用 A2A protocol 发现智能体卡片、发送消息和流式传输结构化工件,请参阅使用 A2A 编排数据智能体。

选择集成模式

请使用下表比较每种集成模式的复杂性、治理和功能。

复杂程度级别定义如下:

  • 低:需要极少自定义代码并依赖于预构建界面或工具的模式。
  • 中等:需要自定义前端开发和 API 或 SDK 集成,但无需复杂后端编排基础设施的模式。
  • 高:需要全栈应用开发、对话状态管理、多个身份验证层或中间编排器基础设施的模式。
  • 不确定:模式的复杂程度取决于您选择的基础集成方法。
集成模式 复杂性 自定义 Agent Governance 访问权限控制 多代理 流式 可移植性
Looker iframe 嵌入 低 低 通过 Looker 管理 Looker 否 内置 仅限 Looker
Looker API 和 SDK 中 高 通过 Looker 管理 Looker 否 内置 仅限 Looker
对话式分析 API(以 Looker 为数据源) 不定 高 通过 API 管理 Looker 和 IAM 是 是 任何 Google Cloud 平台
单智能体(直接 API) 中 高 通过 API 管理 IAM 否 是(支持) 任何 Google Cloud 平台
自定义编排器 高 很高 通过 API 管理 IAM 手动 手动 任何 Google Cloud 平台
使用 BigQueryToolset (ADK) 的架构驱动型 低 中 无(架构推断) IAM 是 (ADK) 否(阻塞) ADK 生态系统
使用 DataAgentToolset (ADK) 进行治理 低 中 通过 API 管理 IAM 是 (ADK) 否(阻塞) ADK 生态系统
自定义流式子智能体 (ADK) 高 很高 通过 API 管理 IAM 是 (ADK) 是(自定义) ADK 生态系统
独立 MCP 中 中 无(架构推断) IAM 否 否 任意 MCP 客户端
ADK 中的 MCP 中 高 无(架构推断) IAM 是 (ADK) 否 ADK 和 MCP 客户端
A2A Protocol 高 高 依赖于框架 IAM 是 是 跨平台

后续步骤