Agent Platform Memory Bank 可根據使用者與代理之間的對話,動態生成長期記憶。這些記憶是個人化資訊,會保留在多個工作階段中,讓代理程式能根據脈絡和連續性調整及個人化回覆。
功能與特色
Memory Bank 可協助您管理記憶,以便自訂代理與使用者互動的方式,以及管理脈絡視窗。Memory Bank 會為每個範圍維護獨立的記憶集合。每項記憶都是獨立的資訊片段,可用於擴充代理可用的情境。例如:
{
"name": "projects/.../locations/.../reasoningEngines/.../memories/...",
"scope": {
"agent_name": "My agent",
"user": "my user ID"
},
"fact": "I use Memory Bank to manage my memories."
}
Memory Bank 包含下列功能:
記憶生成: 使用大型語言模型 (LLM) 建立、修正及管理記憶。
記憶擷取:從來源資料中擷取最有意義的資訊,並儲存為記憶。
記憶整合:將新擷取的資訊與現有記憶整合,讓記憶隨著新資訊的擷取而演進。您也可以將預先擷取的記憶內容 (例如:代理程式或人工輔助服務認為有意義的資訊) 與現有記憶內容合併。
非同步生成:在背景生成個人化記憶,這樣代理就不必等待個人化記憶生成完畢。
持續擷取事件:透過事件擷取功能串流及管理對話事件,系統會根據您設定的批次處理規則,自動觸發記憶生成作業。
可自訂的擷取功能:提供特定主題和少量樣本,設定 Memory Bank 認為有意義的資訊。
多模態理解:處理多模態資訊,生成並保留文字洞察資料。
管理儲存和擷取:享有全代管、持續性且可存取的記憶體儲存空間。
跨身分識別的資料隔離:記憶體合併和擷取作業會隔離到特定身分識別。
可存取且持續的儲存空間:儲存可從多個環境存取的回憶,包括 Agent Runtime、本機環境或其他部署選項。
相似度搜尋:使用相似度搜尋擷取記憶,範圍限定為特定身分。
自動到期:設定記憶的存留時間 (TTL),確保系統自動刪除過時資訊。設定 Memory Bank 執行個體,讓系統自動將存留時間套用至插入或生成的記憶。
記憶體修訂版本:自動建立及維護記憶體修訂版本,方便您檢查記憶體在擷取新資訊時的轉換情形。
限制性權限:使用 IAM 條件,限制哪些主體可以讀取或寫入特定範圍的記憶。
代理整合:將 Memory Bank 連線至代理,以便協調呼叫來生成及擷取記憶。
Agent Development Kit (ADK) 整合:使用內建 ADK 工具和
VertexAiMemoryBankService,自動調度來自 ADK 型代理的呼叫,從 Memory Bank 讀取及寫入資料。其他架構:將 Memory Bank 程式碼包裝在工具和回呼中,協調記憶體生成和擷取作業。
用途
您可以運用 Memory Bank,將無狀態的代理互動轉換為有狀態的脈絡體驗,讓代理隨著時間記憶、學習及調整。Memory Bank 非常適合需要下列功能的應用程式:
長期個人化:打造專為個別使用者設計的體驗。Memory Bank 會將記憶體範圍限定在特定身分,讓代理在多個工作階段中記住使用者的偏好設定、記錄和重要詳細資料。
- 例:客服專員記得使用者過去支援單中的重要資訊和產品偏好,不必再次詢問。
LLM 驅動的知識擷取:當您需要自動識別並保留對話或多模態內容中的重要資訊,且不需要手動介入時,請使用這項功能。
- 範例:研究代理會閱讀一系列技術論文,並彙整重要發現、方法和結論。
動態且不斷演進的背景資訊:如果需要非靜態的知識來源,請使用 Memory Bank。Memory Bank 的設計宗旨是持續整合來自代理程式的新資訊,並在有新資料時,精進及更新儲存的記憶。確保代理程式使用的情境資訊一律是最新且準確的。RAG 採用靜態外部知識庫,而 Memory Bank 則可根據代理提供的內容演進。
應用實例

您可以搭配使用 Memory Bank 和 Agent Platform Sessions,按照下列程序從儲存的工作階段生成記憶體:
(工作階段)
CreateSession:在每次對話開始時,建立新的工作階段。代理程式使用的對話記錄僅限於這個工作階段。工作階段包含使用者與代理互動時,依時間順序排列的訊息和動作 (SessionEvents)。所有工作階段都必須有使用者 ID;這個工作階段的擷取記憶內容 (請參閱GenerateMemories) 會對應至這個使用者。(工作階段)
AppendEvent:使用者與代理程式互動時,系統會將事件 (例如使用者訊息、代理程式回覆、工具動作) 上傳至工作階段。這些事件會保留對話記錄,並建立對話記錄,可用於生成記憶。(工作階段)
ListEvents:使用者與代理互動時,代理會擷取對話記錄。(Memory Bank) 生成或建立記憶:
GenerateMemories:在指定間隔 (例如每個工作階段或每個回合結束時),代理可以觸發記憶生成程序,並使用對話記錄。系統會從對話記錄自動擷取使用者相關事實,以便在目前或日後的工作階段中使用。CreateMemory:代理程式可直接將記憶內容寫入 Memory Bank。舉例來說,代理程式可以決定何時應寫入記憶體,以及應儲存哪些資訊 (記憶體即為工具)。如要讓代理程式進一步控管擷取的資訊,請使用CreateMemory。
(Memory Bank)
RetrieveMemories:使用者與代理互動時,代理可以擷取與該使用者相關的記憶。您可以擷取所有記憶 (簡單擷取),也可以只擷取與目前對話最相關的記憶 (相似度搜尋擷取)。接著,您可以將擷取的回憶插入提示。
快速入門導覽課程
如要開始使用 Memory Bank,請參閱下列快速入門指南:
使用 REST API 快速入門:按照 REST API 快速入門導覽課程的說明,直接對 Sessions 和 Memory Bank 發出 API 呼叫。
使用 Agent Development Kit (ADK) 快速入門:如要讓 ADK 代理為您協調對工作階段和 Memory Bank 的呼叫,請按照 Agent Development Kit (ADK) 快速入門指南操作。
Memory Bank 管理
本節說明使用 Memory Bank 時的資料治理注意事項,例如安全責任和資料駐留。
提示詞注入的安全性風險
除了Agent Platform 共同責任中列出的安全責任外,使用長期記憶時,請考慮提示詞注入和記憶體中毒的風險,這可能會影響您的代理程式。如果 Memory Bank 儲存錯誤資訊,就會發生記憶體中毒。代理程式可能會在日後的對話中,根據這類錯誤或惡意資訊運作。
如要降低記憶體中毒的風險,可以採取下列做法:
Model Armor:使用 Model Armor 檢查傳送至 Memory Bank 或來自代理程式的提示。
對抗測試:主動測試 LLM 應用程式,模擬攻擊以找出提示詞注入漏洞。這通常稱為「紅隊演練」。
沙箱執行:如果代理程式能夠執行或與外部/重要系統互動,這些動作應在沙箱環境中執行,並採取嚴格的存取權控管和人工審查。
詳情請參閱《Google 的安全 AI 代理程式方法》。
資料落地設定
為遵守《一般資料保護規則》(GDPR) 等規範架構和區域資料主權規定,您必須確保 Memory Bank 產生及儲存的記憶內容符合嚴格的資料落地和隔離界線。
雖然 Memory Bank 會在執行個體內,針對不同身分提供以範圍為準的資料隔離,但您仍須套用角色式存取控管 (RBAC) 和 Identity and Access Management 政策,強制執行區域界線,並防止不同區域執行個體間的記憶體發生跨界污染。
區域執行個體部署和資料落地
建立 Memory Bank 執行個體時,請選擇區域或多區域位置 (例如歐盟的 eu 或美國的 us),確保靜態資料留在特定地理界線內。
機器學習 (ML) 處理位置取決於基礎模型在各區域的供應情形。如果所選模型或位置不支援區域端點 (例如 Gemini 3 模型或亞洲單一區域),系統會使用全域 Gemini 端點進行 ML 處理。詳情請參閱「資料落地設定」和「多區域和全域端點」。
防止跨界記憶體汙染
如果某個管轄區 (例如美國) 的代理程式執行階段、代理程式身分、服務帳戶或應用程式,從另一個管轄區 (例如歐盟) 的 Memory Bank 執行個體寫入或擷取記憶內容,就會發生跨國界汙染。
為防止跨國汙染並維持法規遵循,您可以設定下列 IAM 控制項:
專屬區域代理身分或服務帳戶:為每個管轄區建立個別的區域專屬代理身分或服務帳戶 (例如
agent-us@PROJECT_ID.iam.gserviceaccount.com用於美國工作負載,agent-eu@PROJECT_ID.iam.gserviceaccount.com用於歐盟工作負載)。確保區域代理程式身分和服務帳戶只會獲授權,存取位於相同地理管轄區的 Memory Bank 執行個體,防止區域執行階段存取跨國執行個體。- 最小權限專屬角色:只授予主體工作負載所需的特定 Memory Bank 角色 (例如用於唯讀擷取的
roles/aiplatform.memoryViewer,或用於寫入和生成存取權的roles/aiplatform.memoryEditor),並繫結至適當的區域資源。如要瞭解可用的角色,請參閱「專用 Memory Bank IAM 角色」。
- 最小權限專屬角色:只授予主體工作負載所需的特定 Memory Bank 角色 (例如用於唯讀擷取的
組織政策:使用
gcp.resourceLocations組織政策限制條件,在組織、資料夾或專案層級強制執行位置限制。這項限制會將 Memory Bank 資源的建立和使用範圍,限定在核准的相容區域,並防止未經授權使用全球端點。
如要進一步瞭解如何實作條件式存取政策,請參閱「使用 IAM 條件控管 Agent Platform Memory Bank 的存取權」。