本文件提供多代理式 AI 系統的高階架構,可將分散的多模態資料整合至可搜尋的知識圖譜。使用者可以上傳資料,然後使用知識圖譜找出潛在問題或系統性風險。這個架構可讓代理瀏覽複雜的資料網路,並長期提供個人化服務。確保分散式資源與搜尋需求持續相符。
GraphRAG 是以圖表為基礎的檢索增強生成 (RAG) 方法。RAG 會使用向量搜尋擷取與情境相關的資料,並用這些資料強化提示,藉此為 AI 生成的回覆建立基準。GraphRAG 結合向量搜尋和知識圖譜查詢,擷取能更準確反映不同來源資料互連關係的比對內容資料。使用 GraphRAG 增強的提示詞,可生成更詳細且相關的 AI 回覆。
本文適用對象包括在雲端建構及管理 AI 基礎架構和應用程式的架構師、開發人員和管理員。本文假設您已具備 AI 代理和模型的基本知識。本文件並未提供設計和編寫 AI 代理程式的具體指引。
本文件的部署一節提供程式碼範例,示範如何定義 Spanner Graph 結構定義,以及連結多模態實體,以便進行代理式檢索。
架構
下圖概略呈現多代理式 AI 系統的架構,可進行多模態 GraphRAG 資源自動化調度管理:
上圖中的架構有兩個工作流程:資料擷取和搜尋。
- 資料擷取工作流程會將分散的多模態記錄,整合至統一的知識圖譜。這項工作流程採用依序執行的多代理模式,將原始資料上傳至 Cloud Storage、使用 Gemini 擷取複雜關係,並更新 Spanner Graph 知識圖譜,確保資料可供擷取。
- 搜尋工作流程可讓您透過 GraphRAG 程序擷取洞察資料,並建立基準回覆。這項工作流程會使用 Gemini 和專門的子代理,瀏覽知識圖譜,並根據先前的會話資料整合發現結果。
下列分頁提供架構圖,說明資料擷取和搜尋工作流程:
資料擷取工作流程
下圖顯示資料擷取工作流程的詳細架構。
上圖顯示下列資料流程:
- 使用者與網頁應用程式互動,上傳新資料。舉例來說,財務分析師可以上傳收益 PDF、股東會議錄音或市場成效圖表。
- 網頁應用程式將要求轉送至根代理。根代理是協調者代理,會接收要求,並部署在 Cloud Run 服務上。
- 根代理會從 Memory Bank 擷取永久工作階段資料,根據使用者在過去工作階段中的偏好,提供個人化搜尋結果。
- 根代理會使用 Gemini Enterprise Agent Platform 的 Gemini 解讀要求,並將工作委派給多媒體代理,執行資料擷取管道。
- 多媒體代理會啟動 依序模式,並將原始輸入內容轉送至上傳代理。
- 上傳代理程式會執行下列工作:
- 將原始檔案儲存在 Cloud Storage bucket 中,並偵測媒體類型。
- 將已執行動作的中繼摘要轉送至擷取代理。
- 擷取代理會執行下列工作:
- 從 Storage bucket 擷取資料 URI,並使用 Gemini 剖析資料及找出結構化實體。舉例來說,財務資料的實體可能包括企業子公司、會計季度和收益情緒。
- 將結構化實體和執行動作的中繼摘要轉送至圖表代理。
- 圖表代理會執行下列工作:
- 接收結構化實體,並將資料上傳至知識圖譜。Spanner Graph 會建立或連結代表發行者、利害關係人和市場工具的節點。
- 將執行動作的中繼摘要轉送至摘要代理。
- 摘要代理會產生回覆,其中包含擷取結果的文字摘要,以及所有子代理執行的動作。摘要代理會將回覆傳送至多媒體代理。
- 多媒體代理將摘要回覆轉送回根代理。
- 根代理會觸發 回呼函式,將工作階段資料儲存至 Gemini Enterprise Agent Platform 工作階段 。根代理會從工作階段中擷取自訂 記憶主題,儲存重要焦點領域的資訊。舉例來說,財務分析師可以建立記憶主題,追蹤法規標記或產業趨勢。
- 根代理將摘要回覆轉送至網頁應用程式。
- 網頁應用程式將回覆轉發給使用者。
搜尋工作流程
下圖顯示搜尋工作流程的詳細架構。
上圖顯示下列資料流程:
- 使用者向網頁應用程式發出搜尋要求。舉例來說,投資組合經理提交要求,偵測涉及三個以上實體、24 小時內總金額超過 $100 萬美元的循環交易模式。
- 網頁應用程式將要求轉送至根代理。根代理是 協調者代理,會接收要求,並部署在 Cloud Run 服務上。
- 根代理會從記憶庫擷取永久工作階段資料,根據投資組合經理的歷史偏好和情境,提供個人化搜尋結果。
- 根代理會使用 Agent Platform 上的 Gemini,判斷最佳搜尋策略:
- 關鍵字搜尋:使用 SQL
LIKE子句比對確切類別或位置。 - 語意 RAG 搜尋:使用 嵌入模型和餘弦距離,找出語意相似的資料項目。
- 混合搜尋:執行關鍵字搜尋和語意 RAG 搜尋,並使用倒數排名融合 (RRF) 合併結果,確保高度相關性和涵蓋率。
- 關鍵字搜尋:使用 SQL
- 根代理會對儲存在 Spanner Graph 中的知識圖譜執行適當的搜尋策略,並擷取搜尋結果。
- 根代理會觸發 回呼函式,將工作階段資料儲存至 Agent Platform 工作階段。根代理會從工作階段擷取自訂記憶主題。舉例來說,投資組合經理可以建立記憶主題,追蹤法規標記或新興產業趨勢。
- 根代理將摘要回覆轉送至網頁應用程式。
- 網頁應用程式將回覆轉發給使用者。
使用的產品
這個參考架構使用下列 Google Cloud產品和功能:
- Cloud Run:無伺服器運算平台,可讓您直接在 Google 可擴充的基礎架構上執行容器。
- Gemini:Google 開發的多模態 AI 模型系列。
- Gemini Enterprise Agent Platform:全方位平台,可建構、擴充、管理及最佳化企業級 AI 代理。
- Cloud Storage:適用於多種資料類型的物件儲存庫,成本低廉且沒有限制。資料在 Google Cloud內外都能存取,且會複製到多個位置,以便提供備援機制。
- Spanner Graph:提供 Spanner 擴充性、可用性和一致性功能的圖形資料庫。
- Gemini Enterprise Agent Platform 工作階段:永久儲存空間服務,可儲存及擷取使用者與代理之間的互動記錄。
- Memory Bank:永久儲存空間服務,可根據使用者與代理的對話,生成、精煉、管理及擷取長期記憶。
如要瞭解如何為代理式 AI 系統選取替代元件,包括框架、Agent Runtime、工具、記憶體和設計模式,請參閱「選擇代理式 AI 架構元件」。
用途
這項架構適用於整合及分析分散的多模態資料,以最佳化資源分配和資訊檢索。系統會維護獨立的子代理,支援模組化更新,並確保分散式資源與搜尋需求高度一致。Spanner Graph 整合為知識圖譜後,代理式 AI 系統就能模擬複雜的互連資料。這項整合功能可促進豐富的情境理解和複雜的查詢功能,而這些功能在關聯式或 NoSQL 資料庫中可能具有挑戰性或效率不彰。
在下列用途中,圖形資料庫能有效呈現多模態資料衍生的任意和演變連結。否則,這些連結在關聯式資料庫中需要複雜且僵化的結構定義管理。
以下是本文所述架構的用途範例:
- 企業人力資源人才流動:透過語意擴充功能找出符合資格的內部候選人,改善大規模招募搜尋的關鍵字搜尋。這個架構會從多模態作品集和影片介紹中,擷取技術技能和軟實力評估結果,建構出全方位的人才圖譜。Spanner 知識圖譜會追蹤員工、能力和專案記錄之間的關係。追蹤結果會根據概念深度找出專家,並標示人力不足的專案。
- 社群媒體內容分析:在社群媒體平台上執行進階內容探索和網路分析,找出特定記憶或趨勢。系統會處理上傳的影片、語音備忘錄和影音網誌等內容,然後擷取實體、主題、情緒和提及內容。Spanner 知識圖譜會追蹤使用者、其連結 (好友和追蹤者)、貼文、按讚、留言、分享主題和趨勢之間的關係。
設計須知
以下各節提供設計 AI 代理的一般建議,以及在正式環境中導入這個架構的方法。
本節指南僅列出部分範例。如要進一步瞭解設計因素和最佳做法,以及建構和部署多代理式 AI 系統的建議,請參閱「 Google Cloud中的多代理式 AI 系統」。
AI 代理設計
如要改善代理的成本和效能,請考慮下列建議:
- 代理系統設計:將複雜的工作流程拆解為多個專門代理,並明確定義職責,而非使用單一代理。這種職責劃分可簡化提示工程、盡量減少指令漂移,並實現精細的模型擴充。這項架構會將大量、定義明確的工作轉送至較小、較快的模型,同時將複雜的推論工作保留給高容量模型。
- 工具設計:將工具拆分為多個專門方法,而非使用單一大型方法。這種做法可確保整個程式碼集的一致性、減少邏輯分支,並啟用特定最佳化路徑,例如在叫用直接搜尋方法時略過查詢分析。
- 代理脈絡:為避免下游代理在依序管道中重複查詢上游資料,請透過代理狀態傳遞足夠的脈絡。使用定義明確的 JSON 結構來共用狀態,讓每個代理都能可靠地剖析資料。
- 工作階段狀態儲存空間:使用工作階段狀態儲存即時對話記錄,並使用記憶庫儲存各工作階段的精華事實。在工作階段開始時注入記憶體內容,讓代理能參考偏好設定,不必重新處理冗長的對話記錄。
- 記憶品質:如果使用者的偏好設定或角色隨時間改變,請讓他們清除或更新過時的記憶。
安全性、隱私權和法規遵循
為因應 AI 代理獨有的安全風險,Google 建議採取做法,結合確定性安全控管機制與動態、以推論為基礎的防禦措施:
- 人工監督:在業務關鍵系統中加入人工介入迴路流程,讓人工監督員審查輸出內容,並核准、覆寫或暫停代理動作。
- Agent Identity:為每個代理指派與工作負載繫結的身分,強制執行最小權限存取控管,並集中管理外部工具的憑證。
- Agent Gateway:強制執行輸入和輸出流量管理、預設拒絕存取政策,以及使用 Model Armor 進行內嵌提示和工具檢查。
Agent Registry:確認代理只會連線至核准的子代理和 MCP 工具。
實施精細的存取控管:使用精細的存取控管,在資料表和資料欄層級授予存取權。限制 Cloud Storage bucket 政策,僅允許 Cloud Run 服務帳戶存取。
清理推論和回覆:使用 Model Armor 檢查及清理推論要求和模型回覆。這項清理作業可降低使用者上傳的多模態內容帶來的提示詞注入風險。此外,這項功能也有助於防止代理輸出內容不慎外洩個人識別資訊 (PII) 或機密資料。
可靠性
為確保代理程式設定符合可靠性需求,請考慮下列建議:
- 實作代理重試邏輯:為處理配額限制等暫時性錯誤,請實作重試邏輯,並採用指數輪詢機制,呼叫 Agent Platform 端點和 Spanner。
- 設定檔案限制:為避免大型檔案導致 API 逾時,請設定明確的上傳大小限制,並在擷取資料實體前,將大型影片分割成片段。詳情請參閱「自訂影片處理」。
提升作業效率
為確保代理程式設定符合您的作業效率需求,請參考下列建議:
- 使用結構化記錄:使用結構化中繼資料,記錄所有代理工具叫用和管道結果。結構化記錄可讓您在 Cloud Monitoring 中查詢記錄和資訊主頁。
- 實作追蹤:如要診斷延遲熱點,請使用 Cloud Trace 擷取代理執行工具和工具執行作業的端對端要求追蹤記錄。
- 評估代理品質:定期使用 Gen AI Evaluation Service 評估代理輸出內容品質,驗證工具選取軌跡和回覆品質。
成本最佳化
為確保代理設定符合成本需求,請考慮下列建議:
- 儲存空間費用:如要降低儲存空間費用,請使用物件生命週期管理功能,在定義的保留期限過後,將檔案移至 Nearline 或 Coldline 儲存空間級別。
- 費用分析與管理:如要分析及管理 Agent Platform 費用,建議您建立每秒查詢次數 (QPS) 和每秒權杖數 (TPS) 的基準指標。並在部署後監控這些指標。在成本管理過程中建立的基準,可協助您規劃容量。舉例來說,基準可協助您判斷何時可能需要佈建輸送量。
效能最佳化
為確保代理程式設定符合效能需求,請參考下列建議:
- 根層級代理轉送:為盡可能縮短延遲時間,並避免不必要的子代理叫用,請在代理指令中明確定義轉送邏輯。請務必以字串常值記錄每項工具的用途、輸入參數和預期輸出內容,協助模型選取正確的工具。
- 資料庫內 AI 模型:如要縮短延遲時間,請使用 Spanner
ML.PREDICT函式,在 SQL 查詢中呼叫模型。監控 Agent Platform 配額用量,因為混合式搜尋工作負載可能會在每次查詢時觸發多個模型呼叫。 - 資源分配:根據效能需求,設定要分配給 Cloud Run 服務的記憶體限制和 CPU 限制。
部署作業
如要部署這個架構的範例實作,請試試Way Back Home Level 2 程式碼實驗室。
後續步驟
- 瞭解如何在 Cloud Run 託管 AI 代理。
- 瞭解如何使用 Agent Platform 和 Spanner Graph,建構生成式 AI 的 GraphRAG 基礎架構。
- 瞭解設計 Spanner Graph 結構定義的最佳做法。
- 瞭解如何取得多模態嵌入。
- 瞭解如何在 Google Cloud建構多代理式 AI 系統。
- 探索學習資源,透過 Gemini Enterprise Agent Ready (GEAR) 建構及部署企業級代理。
- 如要概略瞭解 Google Cloud中 AI 和機器學習工作負載專屬的架構原則和建議,請參閱 Well-Architected Framework 中的「AI 和機器學習觀點」一文。
- 如要查看更多參考架構、圖表和最佳做法,請瀏覽 Cloud Architecture Center。
貢獻者
作者:
- Annie Wang | 軟體工程師
- Samantha He | 技術撰稿人
其他貢獻者:
- Christina Lin | 開發人員關係工程師經理
- Kumar Dhanagopal | 跨產品解決方案開發人員
- Olivier Bourgeois | 開發人員關係工程師