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 金鑰建立執行個體後,就無法變更該執行個體的金鑰。如要使用其他金鑰,則必須建立新的執行個體。