Vertex AI Agent Engine Memory Bank 可根據使用者與虛擬服務專員的對話,動態生成長期記憶。長期記憶是個人化資訊,特定使用者可在多個工作階段中存取。代理程式可使用記憶內容,為使用者提供個人化回覆,並建立跨工作階段的連續性。
記憶體庫的功能包括:
可從多個環境存取的回憶永久儲存空間。您可以在 Vertex AI Agent Engine 上,透過本機環境或其他部署選項,搭配已部署的代理使用 Vertex AI Agent Engine 工作階段和 Memory Bank。
以大型語言模型 (LLM) 為基礎,從工作階段中擷取記憶內容。
記憶內容會以非同步方式遠端生成,因此服務專員不必等待記憶內容生成。
根據相似度搜尋,擷取使用者範圍內的記憶內容。
如果您搭配使用 Vertex AI Agent Engine Memory Bank 和 Agent Development Kit,代理會自動讀取及寫入長期記憶。
Memory Bank 會與 Vertex AI Agent Engine 工作階段整合,透過下列程序從儲存的工作階段生成記憶體:
(工作階段)
CreateSession
:在每次對話開始時,建立新的工作階段。代理程式使用的對話記錄僅限於這個工作階段。工作階段包含使用者與代理程式互動時,按時間順序排列的訊息和動作 (SessionEvents
)。所有工作階段都必須有使用者 ID,這個工作階段擷取的記憶內容 (請參閱GenerateMemories
) 會對應到這個使用者。(工作階段)
AppendEvent
:使用者與代理程式互動時,系統會將事件 (例如使用者訊息、代理程式回覆、工具動作) 上傳至工作階段。這些事件會保留對話記錄,並建立對話記錄,可用於生成回憶。(工作階段)
ListEvents
:使用者與代理程式互動時,代理程式會擷取對話記錄。(記憶庫) 生成或建立記憶:
GenerateMemories
:在指定間隔 (例如每個工作階段或每一回合結束時),代理程式可以觸發記憶內容,並使用對話記錄生成記憶內容。系統會從對話記錄自動擷取使用者資訊,以便在目前或日後的對話中使用。CreateMemory
:代理程式可直接將記憶內容寫入記憶體庫。舉例來說,虛擬服務專員可以決定何時應寫入記憶體,以及應儲存哪些資訊 (記憶體即為工具)。如要讓代理程式進一步控管擷取的資訊,請使用CreateMemory
。
(記憶庫)
RetrieveMemories
:使用者與服務專員互動時,服務專員可以擷取與該使用者相關的記憶內容。您可以擷取所有記憶內容 (簡單擷取),也可以只擷取與目前對話最相關的記憶內容 (相似度搜尋擷取)。然後將擷取的回憶集錦插入提示。
快速入門導覽課程
如要開始使用 Memory Bank,請參閱下列快速入門導覽課程:
使用 REST API 快速入門:按照 REST API 快速入門導覽課程的說明,直接對 Vertex AI Agent Engine Sessions 和 Memory Bank 進行 API 呼叫。
使用 Agent Development Kit (ADK) 快速入門:如果您希望 ADK 代理為您自動調度對 Vertex AI Agent Engine Sessions 和 Memory Bank 的呼叫,請按照 Agent Development Kit (ADK) 快速入門導覽課程操作。
提示詞注入的安全性風險
除了 Vertex AI 共同責任中列出的安全責任外,使用長期記憶時,請考量提示注入和記憶體中毒的風險,這可能會影響代理程式。記憶體中毒是指記憶體庫中儲存了錯誤資訊。代理程式可能會在日後的工作階段中,根據這類不實或惡意資訊採取行動。
如要降低記憶體中毒的風險,請採取下列做法:
Model Armor:使用 Model Armor 檢查傳送至記憶體庫或來自代理程式的提示。
對抗性測試:模擬攻擊,主動測試 LLM 應用程式是否有提示注入漏洞。這通常稱為「紅隊演練」。
沙箱執行:如果代理程式可以執行外部或重要系統,或與這些系統互動,則應在沙箱環境中執行這些動作,並嚴格控管存取權和人工審查。
詳情請參閱「Google 的安全 AI 代理程式做法」。