本文提供 Google Cloud上即時雙向多代理 AI 系統的高層級架構。系統可協助使用者完成技術工作,例如組裝複雜的零件、診斷設備故障,或瞭解複雜的維修程序。代理式 AI 系統會透過持續的雙向多模態資料串流,提供有根據的技術指引,並自動監控安全。
這份文件適用於在雲端建構及管理 AI 基礎架構和應用程式的架構師、開發人員和管理員。本文假設您已具備 AI 代理程式和模型的基本知識。本文並未提供設計和編寫 AI 代理程式的具體指引。
本文的部署一節列出程式碼範例,可供您瞭解如何建構及部署多代理 AI 系統。
架構
下圖顯示的架構概略視圖,是使用多代理程式 AI 系統,啟用雙向即時多模態資料串流:
上圖中的架構有兩個工作流程:技術指引和安全監控。
- 技術指導工作流程可讓使用者即時獲得複雜技術問題的解決方案,並有語音解說。這項工作流程會使用 Gemini Live 模型處理多模態串流,並與子代理程式協調,從知識資料庫擷取有根據的產品資訊。
- 安全監控工作流程提供自動化危害偵測功能,確保使用者在技術程序期間的安全。這項工作流程會使用 Gemini 分析即時影像片段、找出潛在風險,並透過用戶端資訊主頁觸發即時警告。
以下分頁提供架構圖,說明技術指引和安全監控工作流程:
技術指導工作流程
下圖顯示技術指引工作流程的詳細架構。
上圖顯示下列資料流程:
-
使用者透過用戶端資訊主頁提出技術問題,即可啟動工作階段。舉例來說,技術人員可能會將攝影機對準控制面板,然後詢問:「幫幫忙,這個閃爍的紅色錯誤燈代表什麼意思?」
-
用戶端資訊主頁會在前端和後端伺服器之間建立持續的 WebSocket 連線。
-
WebSocket 訊息會將原始多媒體資料封裝成
Blob物件。Agent Development Kit (ADK)LiveRequestQueue元件會持續將輸入資料串流至調度代理程式。 -
調度員代理程式會偵測需要技術指引的音訊或視覺指令,並將輸入串流傳送至 Gemini Live 模型。
-
Gemini Live 模型會搜尋原始資料,找出事件。事件包括語音關鍵字 (例如「組裝」或「幫忙」) 或手勢等視覺提示。
Gemini 會評估每個事件,判斷是否與使用者的查詢相關。舉例來說,手勢或填充詞可能不相關,因此 Gemini 不會處理這些事件。
-
針對每個相關事件,Gemini 會啟用函式呼叫功能,評估是否需要額外脈絡。視是否需要額外脈絡資訊而定,Gemini 或架構師代理程式會將回覆傳送回調度員代理程式。
-
如果需要更多背景資訊,Gemini 會查詢架構師代理程式卡片,瞭解如何建構要求。
-
Gemini 會將結構化要求傳送給調度代理程式。要求包含活動詳細資料,例如產品類型、型號、活動類型和屬性。
-
調度員代理會使用 Agent2Agent (A2A) 通訊協定,將結構化要求傳送給架構師代理。
-
架構師代理程式會透過無伺服器 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資料,立即提供語音導覽,並在 UI 中顯示相關轉錄內容。這樣可完成要求迴圈,同時維持有效的雙向串流。
使用的產品
這項參考架構使用下列 Google Cloud 產品和工具:
- Cloud Run:無伺服器運算平台,可讓您在 Google 可擴充的基礎架構上直接執行容器。
- Gemini:Google 開發的一系列多模態 AI 模型。
- Gemini Enterprise Agent Platform:全方位平台,可建構、擴充、管理及最佳化調整企業級的 AI 代理。
- Agent Development Kit (ADK):一套工具和程式庫,可用於開發、測試及部署 AI 代理。
- Agent2Agent (A2A) 通訊協定:這個開放式通訊協定可讓代理互通並進行通訊,無論代理採用何種程式設計語言和執行階段,都能順暢協作。
- 無伺服器 VPC 存取:這項服務可讓無伺服器環境連線至虛擬私有雲網路中的資源。
- 虛擬私有雲 (VPC):虛擬系統,可為 Google Cloud 工作負載提供全球性、可擴充的網路功能。虛擬私有雲包括虛擬私有雲網路對等互連、私人服務連線、私人服務存取權和共用虛擬私有雲。
- Memorystore for Redis Cluster:適用於 Redis 的全代管記憶體內資料儲存庫服務。
- Compute Engine:安全可靠且可自訂的運算服務,可讓您透過 Google 的基礎架構建立及執行 VM。
如要瞭解如何為代理式 AI 系統選取替代元件,包括框架、Agent Runtime、工具、記憶體和設計模式,請參閱「選擇代理式 AI 架構元件」。
用途
這項參考架構適用於需要即時合成連續雙向多模態資料串流的使用案例。以下是本文所述架構的應用案例範例:
- 工業製造和現場維護:為技術人員提供 AI 助理,處理智慧眼鏡的即時音訊和視訊,協助免持維修複雜機械。技術人員與 AI 助理對話,取得機器原理圖。AI 助理會使用內部資料庫代理存取產品說明文件,確保維修和組裝說明正確無誤。並行背景視覺化工具會監控雙向串流,主動提醒技術人員機械危害或組裝步驟有誤。
- 遠端技術支援:讓使用者與多模態代理 AI 系統分享手機攝影機的即時影像畫面,提升顧客的疑難排解成效。雙向串流架構支援動態對話,系統可即時觀察硬體。如果背景視覺程序偵測到連線錯誤 (例如纜線接錯連接埠),系統會立即使用低延遲串流中斷使用者操作,並提供修正指引。
設計須知
以下各節提供設計 AI 代理程式的一般建議,以及如何為正式環境導入這項架構。
AI 代理設計
如要改善代理程式的費用和成效,請考慮下列建議:
- 控制迴圈指令碼:為雙向即時代理程式編寫系統提示,以嚴格的狀態機器行為迴圈為準,而非僅以個性指南為準。系統提示應明確指示代理程式保持靜音,直到觸發為止。這項功能會強制執行簡短的回覆,並優先採取行動,讓語音互動簡潔自然。
- 關注點分離:使用專用的背景串流工具,獨立監控視訊饋送,不必透過主要代理。架構中的根代理是雙向的,可以立即中斷自己的語音,向使用者播報這些重大安全警告。此外,如果要求單一代理程式持續監控視訊串流,可能會導致認知超載和產生幻覺。
- 經濟實惠的提示:提示 (輸入) 和生成的內容 (輸出) 長度會直接影響效能和費用。撰寫簡短、直接且提供充分背景資訊的提示。設計提示,讓模型提供簡潔的回覆。舉例來說,你可以加入「用 2 句話歸納重點」或「列出 3 個重點」等詞句。詳情請參閱提示設計最佳做法。
製作設計
如要在正式環境中實作這項架構,請考慮採用下列建議:
- 連入安全:如要控管應用程式的存取權,請停用前端 Cloud Run 服務的預設
run.app網址,並設定區域外部應用程式負載平衡器。除了將傳入應用程式的流量進行負載平衡,負載平衡器也會處理 SSL 憑證管理作業。如要加強保護,可以使用 Google Cloud Armor 安全性政策,為服務提供要求篩選、DDoS 防護和速率限制。 - 存取控管:為拓撲中的資源設定權限時,請遵循最小權限原則。
- 非同步緩衝:如要將傳入的音訊和視訊封包與模型的推論引擎分離,請使用安全無虞的非同步先進先出 (FIFO) 緩衝區。這個緩衝區會做為多工器,確保系統在大量運算期間不會凍結使用者介面,仍可回應使用者中斷。
- 資料擷取費用:如要降低權杖費用並避免用盡內容視窗,請使用低頻率的影格取樣 (例如每秒 2 個影格),並將所有資料壓縮為 Base64 JPEG 檔案。
- 記憶體內快取:如要達到不到 1 毫秒的讀取速度,請使用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 系統」。
部署作業
如要部署這個架構的範例實作,請嘗試下列程式碼研究室:
- 程式碼實驗室:建構 ADK 雙向串流代理: 建構單一代理 AI 系統,處理即時影像串流,辨識特定使用者手勢。
- 即時雙向多代理系統程式碼研究室: 建構多代理 AI 系統,使用雙向串流進行即時語音和視訊互動。系統內建主動式串流工具,可持續監控安全狀況。
後續步驟
- 瞭解如何開始及管理直播。
- 請參閱 ADK Gemini Live API 工具包簡介。
- 瞭解如何在 Cloud Run 上託管 AI 代理程式。
- 瞭解如何選擇代理式 AI 架構元件。
- 透過 Gemini Enterprise Agent Ready (GEAR) 探索學習資源,建構及部署企業級代理。
- 如要瞭解更多代理式 AI 架構,請參閱這份指南。
- 如要瞭解適用於 Google Cloud中 AI 和機器學習工作負載的架構原則和建議,請參閱 Well-Architected Framework 中的AI 和機器學習觀點。
- 如要查看更多參考架構、圖表和最佳做法,請瀏覽 Cloud Architecture Center。
貢獻者
作者:
- Christina Lin | 開發人員關係工程師經理
- Samantha He | 技術文件撰稿者
其他貢獻者:
- Kumar Dhanagopal | 跨產品解決方案開發人員
- Olivier Bourgeois | 開發人員關係工程師