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