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