Agent Platform Sessions 概览

Agent Platform 会话会维护用户与智能体之间的互动记录。会话为长期记忆和对话上下文提供了确定性来源。

您可以通过多种方式使用 Agent Platform 会话:

  • 智能体开发套件 (ADK):将 ADK 智能体部署到 Gemini Enterprise Agent Platform 后,系统会自动处理会话管理。

  • API 调用:如果您不想使用 ADK 智能体管理会话,可以直接调用 Agent Platform 会话的 API。

核心概念

  • 会话:会话表示用户与智能体系统之间正在进行的一次互动中按时间顺序排列的消息和操作(事件)的序列。

  • 事件:事件会存储对话内容以及智能体执行的操作(例如函数调用)。事件支持灵活的架构,可适应自定义数据和不同的框架。

  • 状态:状态仅保留与当前对话相关的临时性数据。

  • 记忆:记忆是可在特定用户的多个会话中访问的个性化信息。智能体可以使用记忆来为用户提供个性化的回答,并确保在多个会话之间保持对话的连续性。

核心功能

Agent Platform 会话提供以下核心功能:

  • 开始新对话:当用户开始与智能体互动时,创建新会话。

  • 恢复现有对话:通过检索特定会话让智能体恢复先前暂停的对话。

  • 保存进度:将新互动(事件)附加到会话记录中,以更新会话。

  • 列出对话:查找特定用户和应用的活跃会话串。

  • 清理:在结束对话或不再需要对话时,删除会话对象及其关联的数据。

企业安全与治理

Agent Platform 会话支持企业安全控制,可帮助您保护对话记录、会话状态和事件,防止未经授权的访问或数据渗漏。

VPC Service Controls (VPC Service Controls)

Agent Platform Sessions 支持 VPC Service Controls,可降低会话数据和对话事件的数据渗漏风险。由于 sessions 和 events 是通过 Agent Platform API (aiplatform.googleapis.com) 提供的 Agent Runtime (reasoningEngines) 实例的子资源,因此将 Agent Platform API 添加到 VPC Service Controls 服务边界可保护所有会话操作(CreateSession、GetSession、ListSessions、UpdateSession、DeleteSession、AppendEvent 和 ListEvents)。

为会话配置 VPC Service Controls 时,请遵循以下准则:

  • 边界配置:将 Agent Platform API (aiplatform.googleapis.com) 添加到 VPC Service Controls 服务边界。在创建托管会话的父智能体 Agent Runtime 实例之前,请确保您的项目已添加到服务边界。
  • 专用端点连接:通过 restricted.googleapis.com (199.36.153.4/30) 或 Google API 的内部 Private Service Connect 端点,将请求从 VPC 网络路由到 LOCATION-aiplatform.googleapis.com(或 aiplatform.googleapis.com,对于全球端点)。
  • 在服务边界内将会话与 Agent Gateway 搭配使用:当部署在 Agent Runtime 上的智能体在“智能体到任意位置”(出站流量)模式下绑定到强制执行的 Agent Gateway 时,从智能体到会话的出站 API 调用会经过该网关。为避免边界或网关屏蔽,请执行以下操作:
    • 使用智能体连接模板 (AgentConnectivityTemplate) 配置网关,其中 vpcEgress 设置为 ALL_TRAFFIC,并为 googleapis.com. 设置私有 Cloud DNS 对等互连。如需了解详情,请参阅 Agent Gateway 的 VPC Service Controls 合规性。
    • 在 Agent Registry 中注册区域和 mTLS Agent Platform API 端点并将其列入许可清单,以便您的代理可以调用 Sessions 端点 (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 与会话搭配使用时,存在以下限制:

  • 全球端点和已部署的运行时限制:如果 Sessions 配置为使用 global 端点 (location="global"),则无法使用 CMEK,因为 Cloud Key Management Service 要求加密密钥位于地理数据驻留边界内。如需使用 CMEK,请在受支持的区域级或多区域级位置创建独立的父级实例(不部署代理运行时代码),并使用匹配的 Cloud KMS 密钥(对于多区域级实例,请为 us 使用 us 密钥,或为 eu 使用 europe 密钥)。如果父级实例还在 Agent Runtime 上部署了代理,则您必须使用单区域位置,因为已部署的运行时不支持在多区域级端点(us 或 eu)上使用 CMEK。
  • 无法更新加密密钥:使用 Cloud KMS 密钥创建实例后,您无法更改该实例的密钥。如需使用其他密钥,您必须创建新实例。

后续步骤