借助 Agent Platform 记忆库,您可以根据用户与智能体之间的对话动态生成长期记忆。这些记忆是可在多个会话中保留的个性化信息,可让智能体根据上下文和连续性调整和个性化回答。
特性
记忆库帮助您管理记忆,从而您可以个性化您的智能体与用户互动的方式,并管理上下文窗口。 对于每个范围,记忆库都会维护一个独立的记忆集合。每段记忆都是独立且自成一体的信息,可用于扩展您的智能体可用的上下文。例如:
{
"name": "projects/.../locations/.../reasoningEngines/.../memories/...",
"scope": {
"agent_name": "My agent",
"user": "my user ID"
},
"fact": "I use Memory Bank to manage my memories."
}
记忆库包含以下功能:
记忆生成: 使用大语言模型 (LLM) 创建、优化和管理记忆。
托管式存储和检索:受益于全代管式、持久且可访问的记忆存储区。
智能体集成:将记忆库连接到智能体,以便 智能体编排调用来生成和检索记忆。
智能体开发套件 (ADK) 集成:使用内置 ADK 工具和
VertexAiMemoryBankService来编排 基于 ADK 的 智能体发起的调用,以从记忆库读取数据和 向记忆库写入数据。其他框架:将记忆库代码封装在工具 和回调中,以编排记忆生成和检索。
使用场景
您可以使用记忆库将无状态的智能体互动转变为有状态的上下文感知体验,让智能体能够随着时间的推移去进行记忆、学习和自适应。记忆库非常适合需要以下功能的应用:
长期个性化:打造为 每位用户量身定制的体验。记忆库会将记忆的范围限定于特定身份,从而使智能体能够跨多个会话记住用户的偏好、对话记录和关键细节。
- 示例:一个客户服务代理可以记住用户过去支持服务工单和产品偏好中的关键信息,而无需再次询问。
LLM 驱动的知识提取:当您需要自动 识别和持久化对话或 多模态内容中最重要的信息,而无需人工干预时使用。
- 示例:一个研究智能体可以读取一系列技术论文,并构建一个由关键发现、方法论和结论组成的整合记忆。
不断变化的动态上下文 :如果您需要非静态的知识来源,则可以使用记忆库。记忆库旨在持续整合来自智能体的新信息,并在有新数据可用时优化和更新存储的记忆。这样可确保您的智能体所依赖的上下文始终是最新且准确的。RAG 具有静态的外部知识库,而记忆库可以根据智能体提供的上下文信息不断演变。
用法示例

您可以将记忆库与 Agent Platform 会话搭配使用,以通过以下流程从存储的会话生成记忆:
(会话)
CreateSession:在每次 对话开始时,创建新会话。智能体使用的对话历史记录范围限定为此会话。会话包含用户与智能体之间互动按时间顺序排列的消息和操作 (SessionEvents) 序列。所有会话都必须具有用户 ID;此会话的提取记忆(请参阅GenerateMemories)会映射到此用户。(会话)
AppendEvent:当用户与智能体互动时,事件 (例如用户消息、智能体回答、工具操作)会上传到 会话。这些事件会保留对话历史记录,并创建可用于生成记忆的对话记录。(会话)
ListEvents:当用户与智能体互动时,智能体 会检索对话历史记录。(记忆库) 生成或创建记忆:
GenerateMemories:按照指定的时间间隔(例如每个会话结束时或每个对话轮次结束时),智能体可以触发使用对话历史记录生成记忆。系统会自动从对话历史记录中提取有关用户的事实信息,以便在当前会话或未来会话中使用。CreateMemory:您的智能体可以直接将记忆写入记忆库。例如,智能体可以决定何时写入记忆以及应保存哪些信息(即“记忆即工具”)。如果您希望智能体对提取的事实有更多控制权,请使用CreateMemory。
(记忆库)
RetrieveMemories:当用户与智能体互动时,智能体可以检索保存的有关该用户的记忆。您可以检索所有记忆内容(简单检索),也可以仅检索与当前对话最相关的记忆内容(相似性搜索检索)。 然后,您可以将检索到的记忆插入到提示中。
快速入门
您可以按照以下快速入门开始使用记忆库:
使用 REST API 快速入门:按照 REST API 快速入门直接向 会话和 记忆库发出 API 调用。
使用智能体开发套件 (ADK)快速入门:如果您希望 ADK 智能体为您编排对会话和 记忆库的调用,请按照 智能体开发套件 (ADK) 快速入门中的说明操作。
提示注入的安全风险
除了 Agent Platform 责任共担中概述的安全责任之外, 使用长期记忆时,还要考虑提示注入和记忆中毒的风险,这些风险可能会影响您的 智能体。当记忆库中存储了虚假信息时,就会发生记忆中毒。然后,智能体可能会在未来的会话中处理此虚假或恶意信息。
为降低内存中毒的风险,您可以执行以下操作:
Model Armor:使用 Model Armor 检查发送到记忆库或来自您的 智能体的提示。
对抗性测试:通过模拟攻击,主动测试 LLM 应用是否存在提示 注入漏洞。这通常称为“红队测试”。
沙盒执行:如果智能体能够执行外部或关键系统,或者与这些系统互动,则应在具有严格访问权限控制和人工审核的沙盒环境中执行这些操作。
如需了解详情,请参阅 Google 的安全 AI 智能体方法。