Agent Platform 工作階段總覽

Agent Platform 工作階段會維護使用者與代理之間的互動記錄。工作階段內容為長期記憶和對話脈絡的明確資料來源。

您可以使用下列幾種方式,存取 Agent Platform 工作階段:

  • Agent Development Kit (ADK):將 ADK 代理部署至 Gemini Enterprise Agent Platform 後,系統會自動管理工作階段。

  • API 呼叫:如果不想使用 ADK 代理管理工作階段,可以直接對 Agent Platform 工作階段發出 API 呼叫。

核心概念

  • 工作階段:工作階段代表使用者與代理系統之間,單一持續互動的訊息和動作 (事件) 時間序列。

  • 事件:事件會儲存對話內容,以及代理執行的動作,例如函式呼叫。事件支援彈性結構定義,可容納自訂資料和不同架構。

  • 狀態:狀態會保留僅在目前對話期間相關的暫時資料。

  • 記憶:記憶是個人化資訊,可在特定使用者的多個工作階段中存取。代理可運用記憶,為使用者提供個人化回覆,並確保跨工作階段的連續性。

核心功能

Agent Platform 工作階段的核心功能包括:

  • 開始新對話:使用者開始與代理互動時,建立新工作階段。

  • 繼續現有對話:擷取特定工作階段,讓代理繼續進行已暫停的對話。

  • 儲存進度:將新的互動 (事件) 附加至工作階段記錄,更新工作階段。

  • 列出對話:找出特定使用者和應用程式的有效工作階段對話串。

  • 清理:對話結束或不再需要時,刪除工作階段物件和相關聯的資料。

企業級安全防護和治理機制

Agent Platform 工作階段支援企業安全控管機制,可協助您保護對話記錄、工作階段狀態和事件,防止未經授權的存取或資料竊取。

VPC Service Controls

Agent Platform Sessions 支援 VPC Service Controls,可降低工作階段資料和對話事件的資料竊取風險。sessions 和 events 是 Agent Runtime (reasoningEngines) 執行個體的子資源,透過 Agent Platform API (aiplatform.googleapis.com) 提供。因此,將 Agent Platform API 新增至 VPC Service Controls 服務範圍,可保護所有工作階段作業 (CreateSession、GetSession、ListSessions、UpdateSession、DeleteSession、AppendEvent 和 ListEvents)。

為工作階段設定 VPC Service Controls 時,請遵循下列指南:

  • perimeter 設定:將 Agent Platform API (aiplatform.googleapis.com) 新增至 VPC Service Controls service perimeter。建立託管工作階段的上層代理 Agent Runtime 執行個體前,請務必將專案新增至 service perimeter。
  • 私人端點連線能力:透過 restricted.googleapis.com (199.36.153.4/30) 或 Google API 的內部 Private Service Connect 端點,將要求從虛擬私有雲網路轉送至 LOCATION-aiplatform.googleapis.com (或全域端點的 aiplatform.googleapis.com)。
  • 在 service perimeter 中搭配使用工作階段和 Agent Gateway:在 Agent Runtime 部署的代理,如果繫結至 Agent-to-Anywhere (輸出) 模式的強制執行 Agent Gateway,則代理傳送至工作階段的傳出 API 呼叫會經過閘道。如要避免周邊或閘道封鎖:
    • 使用代理程式連線範本 (AgentConnectivityTemplate) 設定閘道,將 vpcEgress 設為 ALL_TRAFFIC,並為 googleapis.com. 設定私人 Cloud DNS 對接。詳情請參閱「Agent Gateway 的 VPC Service Controls 法規遵循」。
    • 在 Agent Registry 註冊並將區域和 mTLS Agent Platform API 端點加入許可清單,讓代理能呼叫工作階段端點 (https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/sessions),並將 IAP Egressor (roles/iap.egressor) 角色授予代理身分。如需逐步說明,請參閱「透過 Agent Gateway 轉送 Agent Runtime 流量」。

客戶自行管理的加密金鑰 (CMEK)

根據預設, Google Cloud 會使用 Google-owned and Google-managed encryption keys加密靜態工作階段狀態和對話事件。如要使用您在 Cloud Key Management Service (Cloud KMS) 管理的金鑰保護工作階段資料,請在建立上層代理 Agent Runtime 執行個體時指定 encryption_spec (kms_key_name)。儲存在該執行個體下的所有工作階段和事件,都會沿用其 CMEK 設定。如需一般專案和金鑰設定步驟,請參閱「Gemini Enterprise Agent Platform 的 CMEK」。

搭配使用 CMEK 和工作階段時,須遵守下列限制:

  • 全域端點和部署的執行階段限制:如果工作階段設為使用 global 端點 (location="global"),則無法使用 CMEK,因為 Cloud Key Management Service 要求加密金鑰必須位於地理資料落地邊界內。如要使用 CMEK,請在支援的區域或多區域位置建立獨立的父項執行個體 (不部署代理執行階段程式碼),並使用相符的 Cloud KMS 金鑰 (如果是多區域執行個體,請使用 us 的 us 金鑰,或 eu 的 europe 金鑰)。如果父項執行個體也在 Agent Runtime 部署代理,則必須使用單一區域位置,因為部署的執行階段不支援多區域端點 (us 或 eu) 的 CMEK。
  • 無法更新加密金鑰:使用 Cloud KMS 金鑰建立執行個體後,就無法變更該執行個體的金鑰。如要使用其他金鑰,則必須建立新的執行個體。

後續步驟