本文档提供了 Google Cloud上实时双向多智能体 AI 系统的高级架构。该系统可帮助用户完成技术任务,例如组装复杂的组件、诊断设备故障或完成复杂的维修程序。智能体 AI 系统通过持续的双向多模态数据流提供有事实依据的技术指导和自动安全监控。
本文档的目标受众群体包括在云端构建和管理 AI 基础架构及应用的架构师、开发者和管理员。本文档假定您对 AI 代理和模型有基本的了解。本文档未提供有关设计和编码 AI 代理的具体指导。
本文档的部署部分列出了代码示例,您可以使用这些示例来了解如何构建和部署多智能体 AI 系统。
架构
下图高度概括地展示了这样一种架构:使用多代理 AI 系统来实现实时双向多模态数据流式传输:
上图中的架构包含两个工作流:技术指导和安全监控。
- 借助技术指导工作流,用户可以针对复杂的技术咨询问题获得实时、带旁白的解决方案。此工作流使用 Gemini Live 模型来处理多模态数据流,并与子代理协调,以从知识数据库中检索有事实依据的商品信息。
- 安全监控工作流可自动检测危险,确保用户在执行技术程序期间的安全。此工作流程使用 Gemini 分析实时视频片段,识别潜在风险,并通过客户端信息中心触发即时警告。
以下标签页提供了架构图,展示了技术指导和安全监控工作流:
技术指导工作流程
下图展示了技术指导工作流的详细架构。
上图显示了以下数据流:
-
用户通过客户端信息中心发起会话,提出语音技术咨询。例如,技术人员可能会将摄像头对准控制面板,然后询问:“帮帮我,这个闪烁的红色错误指示灯是什么意思?”
-
客户端信息中心会在前端和后端服务器之间建立持久的 WebSocket 连接。
-
WebSocket 消息将原始多媒体数据打包到
Blob对象中。智能体开发套件 (ADK)LiveRequestQueue组件会持续将输入数据流式传输到调度程序代理。 -
调度代理会检测需要技术指导的音频或视觉命令,并将输入流发送到 Gemini Live 模型。
-
Gemini Live 模型会搜索原始数据以识别事件。事件可以是音频关键字(例如“组装”或“帮助”),也可以是视觉提示(例如手势)。
Gemini 会评估每个事件,以确定其是否与用户的查询相关。例如,手势或语气词可能不相关,因此 Gemini 不会处理这些事件。
-
对于每个相关事件,Gemini 都会启用函数调用来评估是否需要更多上下文。根据是否需要更多上下文,Gemini 或架构师代理会向调度代理发送回复。
-
如果需要更多上下文信息,Gemini 会查找架构师代理卡片,了解如何构建请求。
-
Gemini 向调度代理发送结构化请求。相应请求包含事件详细信息,例如商品类型、型号、事件类型和属性。
-
调度代理使用 Agent2Agent (A2A) protocol 将结构化请求发送给架构师代理。
-
架构师代理通过无服务器 VPC 访问通道 连接器发送查询。借助该连接器,代理可以安全地访问此架构中用于存储资源的虚拟私有云 (VPC) 网络中的资源。
-
无服务器 VPC 访问通道连接器与存储在 Memorystore for Redis Cluster中的缓存数据进行交互。如果缓存层中没有相应数据,架构师代理会与托管知识库的 Compute Engine 实例进行交互。
-
架构师代理从数据缓存或知识库接收商品信息。架构师代理会将商品信息发送给 Gemini,以生成回答。例如,“错误代码 3B:风扇故障。建议执行的操作:检查是否有障碍物。”
架构师代理会将商品信息发送回调度代理。
如果不需要更多背景信息,Gemini 会直接生成对用户请求的回答。
-
-
调度代理会收到来自 Gemini 或架构代理的回答,并生成多模态回答:
-
使用 Gemini Live 模型和 ADK
run_live函数生成包含技术解决方案的多模态回答。 -
将响应存储为
Blob对象。 -
通过流式缓冲区和持久性 WebSocket 连接发送技术解决方案,以将技术解决方案交付给客户端信息中心。
-
-
客户端信息中心从技术解决方案中提取
Blob数据,以提供即时旁白指导,并使用相关转写内容更新界面。在保持活跃的双向流的同时完成请求循环。
安全监控工作流程
下图展示了安全监控工作流的详细架构。
上图显示了以下数据流:
- 客户端信息中心会在前端和后端服务器之间建立持久的 WebSocket 连接,以观察实时视频流。WebSocket 消息会将这些原始多媒体数据打包到
Blob对象中,并使用 ADKLiveRequestQueue组件将这些对象持续发送到流式传输缓冲区。 - 流式传输缓冲区将输入流定向到在连续后台循环中运行的流式传输工具,以检测视频帧中的危险。
- 流式传输工具会将流式传输缓冲区中的最新视频帧发送给 Gemini。
- Gemini 会观察视频帧中是否存在危险,例如强光或蒸汽。
- 如果未检测到危险,则不会发生任何情况。
- 如果检测到危险,Gemini 会生成包含危险类型、属性及其位置的多模态响应,并将其存储为
Blob对象。Gemini 将危险警告响应发送回直播工具。
- 流式传输工具将危险警告响应转发到流式传输缓冲区。
- 流式传输缓冲区使用持久的 WebSocket 连接将技术解决方案传递到客户端信息中心。
- 客户端信息中心从技术解决方案中提取
Blob数据,以提供即时旁白指导,并使用相关转写内容更新界面。这样一来,在保持活跃的双向流的同时,请求循环便完成了。
使用的产品
此参考架构使用以下 Google Cloud 产品和工具:
- Cloud Run:一个无服务器计算平台,可让您直接在 Google 可伸缩的基础设施之上运行容器。
- Gemini:Google 开发的一系列多模态 AI 模型。
- Gemini Enterprise Agent Platform:一个综合性平台,可用于构建、扩缩、治理和优化企业级 AI 代理。
- 智能体开发套件 (ADK):一套用于开发、测试和部署 AI 代理的工具和库。
- Agent2Agent (A2A) 协议:一种开放协议,可让代理之间实现通信和互操作,而无需考虑其编程语言和运行时。
- 无服务器 VPC 访问通道:一项服务,可让您的无服务器环境连接到虚拟私有云网络中的资源。
- Virtual Private Cloud (VPC):为您的 Google Cloud 工作负载提供全球可扩缩的网络功能的虚拟系统。VPC 包括 VPC 网络对等互连、Private Service Connect、专用服务访问通道和共享 VPC。
- Memorystore for Redis Cluster:一种全代管式内存中数据存储区服务,适用于 Redis。
- Compute Engine:一项安全且可自定义的计算服务,可让您在 Google 的基础设施上创建并运行虚拟机。
如需了解如何为智能体 AI 系统选择替代组件(包括框架、智能体运行时、工具、内存和设计模式),请参阅选择智能体 AI 架构组件。
使用场景
此参考架构专为需要实时合成连续的双向多模态数据流的应用场景而设计。以下是本文档中所述架构的一些使用情形示例:
- 工业制造和现场维护:为技术人员提供 AI 助理,该助理可处理智能眼镜中的实时音频和视频,从而实现复杂机械的免触摸维修。技术人员与 AI 助理对话,以获取机器原理图。AI 助理使用可访问产品文档的内部数据库代理,以确保维修和组装说明有据可依。并发的后台视觉工具会监控双向数据流,主动提醒技术人员机械危险或错误的组装步骤。
- 远程技术支持:让用户与多模态代理 AI 系统分享实时手机摄像头画面,从而提高客户问题排查成效。双向流式传输架构支持动态对话,系统可以实时观察硬件。如果后台视觉进程识别出连接故障(例如线缆连接到错误的端口),系统会使用低延迟数据流立即向用户提供修正指导,从而中断用户操作。
设计考虑事项
以下部分针对设计 AI 代理和实现此架构以用于生产环境提供了一些常规建议。
AI 智能体设计
如需提高代理的成本效益和性能,请考虑以下建议:
- 控制环脚本:为双向实时代理编写系统提示,这些提示是严格的状态机行为环,而不仅仅是角色指南。系统提示应明确命令代理保持静默,直到被触发。它应强制执行简短的“先行动后回答”的响应,以便语音互动简洁自然。
- 分离关注点:使用专用后台流式传输工具来独立于主代理监控视频 Feed。架构中的根代理是双向的,它可以立即中断自己的语音,向用户广播这些关键的安全警告。此外,如果要求单个代理持续监控视频画面,可能会导致认知过载和出现幻觉。
- 经济高效的提示:提示(输入)和生成的回答(输出)的长度会直接影响性能和费用。撰写简短、直接且提供足够背景信息的提示。设计提示,以便从模型中获得简洁的回答。例如,可使用“用两句话总结”或“列出 3 个要点”等短语。如需了解详情,请参阅提示设计最佳实践。
生产环境指导
如需在生产环境中实现此架构,请考虑以下建议:
- 入站流量安全性:为了控制对应用的访问权限,请停用前端 Cloud Run 服务的默认
run.app网址,并设置区域级外部应用负载平衡器。 除了对应用传入流量进行负载均衡之外,负载平衡器还负责处理 SSL 证书管理。为了增强保护,您可以使用 Google Cloud Armor 安全政策为服务提供请求过滤、DDoS 攻击防护和速率限制。 - 访问权限控制:为拓扑中的资源配置权限时,请遵循最小权限原则。
- 异步缓冲:为了将传入的音频和视频数据包与模型的推理引擎分离,请使用线程安全的异步先进先出 (FIFO) 缓冲区。 此缓冲区充当多路复用器,可确保系统在繁重的计算过程中保持对用户中断的响应,而不会冻结界面。
- 数据注入费用:为了降低 token 费用并防止上下文窗口耗尽,请使用低频帧采样(例如每秒 2 帧),并将所有数据压缩为 Base64 JPEG 文件。
- 内存中缓存:为了实现亚毫秒级的读取速度,请为架构师代理的示意图保险库使用内存中 Memorystore for Redis Cluster 数据库。此实现可最大限度地缩短延迟时间,防止在实时语音互动期间出现静音,并提供可伸缩的单一可信数据源。
- WebSocket 安全性:通过为所有双向 WebSocket 连接强制执行 TLS 加密,保护敏感的多模态数据,例如声纹和视频。
- 安全的 A2A 通信:
- 使用经过身份验证的扩展代理卡来保护 A2A 通信。
- 将 OpenID Connect (OIDC) 身份令牌附加到请求。借助 OIDC 身份令牌,您可以使用 Identity and Access Management (IAM) 验证只有经过授权的代理才能访问数据。
- 资源分配:根据性能要求,配置要分配给 Cloud Run 服务的内存上限和 CPU 上限。
如需详细了解构建和部署多代理 AI 系统的设计因素、最佳实践和建议,请参阅 Google Cloud中的多代理 AI 系统。
部署
如需部署此架构的示例实现,请尝试以下 Codelab:
- 构建 ADK 双向流式传输代理 Codelab:构建一个可处理实时视频直播以识别特定用户手势的单代理 AI 系统。
- 实时双向多智能体系统 Codelab: 构建一个使用双向流式传输进行实时语音和视频交互的多智能体 AI 系统。该系统包含一个主动流式传输工具,用于持续监控安全性。
后续步骤
- 了解如何开始和管理实时会话。
- 探索 ADK Gemini Live API 工具包简介。
- 了解如何在 Cloud Run 上托管 AI 智能体。
- 了解如何选择智能体 AI 架构组件。
- 探索学习资源,了解如何使用 Gemini Enterprise Agent Ready (GEAR) 构建和部署企业级智能体。
- 探索更多智能体 AI 架构指南。
- 如需简要了解 Google Cloud中特定于 AI 和机器学习工作负载的架构原则和建议,请参阅 Well-Architected Framework 中的 AI 和机器学习视角。
- 如需查看更多参考架构、图表和最佳实践,请浏览 Cloud 架构中心。
贡献者
作者:
- Christina Lin | 开发者关系工程师经理
- Samantha He | 技术文档工程师
其他贡献者:
- Kumar Dhanagopal | 跨产品解决方案开发者
- Olivier Bourgeois | 开发者关系工程师