Agent Platform Memory Bank ti consente di generare dinamicamente informazioni salvate a lungo termine in base alle conversazioni tra l'utente e l'agente. Questi ricordi sono informazioni personalizzate che persistono in più sessioni, consentendo all'agente di adattare e personalizzare le risposte in base al contesto e alla continuità.
Funzionalità
Memory Bank ti aiuta a gestire i ricordi, in modo da poter personalizzare il modo in cui l'agente interagisce con gli utenti e gestire la finestra di contesto. Per ogni ambito, la Memory Bank gestisce una raccolta isolata di memorie. Ogni memoria è un'informazione indipendente e autonoma che può essere utilizzata per espandere il contesto disponibile per l'agente. Ad esempio:
{
"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 include le seguenti funzionalità:
Generazione di ricordi: crea, perfeziona e gestisci i ricordi utilizzando un modello linguistico di grandi dimensioni (LLM).
Estrazione della memoria: estrai solo le informazioni più significative dai dati di origine per conservarle come memorie.
Consolidamento della memoria: consolida le informazioni appena estratte con i ricordi esistenti, consentendo ai ricordi di evolversi man mano che vengono acquisite nuove informazioni. Puoi anche consolidare i ricordi pre-estratti (come le informazioni che l'agente o un human-in-the-loop considera significativi) con i ricordi esistenti.
Generazione asincrona: genera i ricordi in background, in modo che l'agente non debba attendere il completamento della generazione dei ricordi.
Importazione continua degli eventi: trasmetti in streaming e gestisci gli eventi di conversazione con l'importazione degli eventi, che attiva automaticamente la generazione della memoria in base alle regole di raggruppamento che configuri.
Estrazione personalizzabile: configura le informazioni che Memory Bank considera significative fornendo argomenti specifici ed esempi few-shot.
Comprensione multimodale: elabora informazioni multimodali per generare e conservare insight testuali.
Archiviazione e recupero gestiti: usufruisci di un archivio di memoria completamente gestito, permanente e accessibile.
Isolamento dei dati tra le identità: il consolidamento e il recupero della memoria sono isolati per un'identità specifica.
Spazio di archiviazione permanente e accessibile: archivia i ricordi a cui è possibile accedere da più ambienti, tra cui Agent Runtime, il tuo ambiente locale o altre opzioni di deployment.
Ricerca di somiglianze: recupera i ricordi utilizzando la ricerca di somiglianze con ambito limitato a un'identità specifica.
Scadenza automatica: imposta una durata (TTL) per i ricordi per garantire che le informazioni obsolete vengano eliminate automaticamente. Configura l'istanza di Memory Bank in modo che venga applicato automaticamente un TTL alle informazioni salvate inserite o generate.
Revisioni della memoria: crea e gestisci automaticamente le revisioni della memoria, che ti consentono di controllare come si trasformano le memorie man mano che vengono acquisite nuove informazioni.
Autorizzazioni limitate: utilizza le condizioni IAM per limitare le entità che possono leggere o scrivere le memorie di ambiti specifici.
Integrazione dell'agente: collega Memory Bank al tuo agente in modo che possa orchestrare le chiamate per generare e recuperare i ricordi.
Integrazione con Agent Development Kit (ADK): orchestra le chiamate dal tuo agente basato su ADK utilizzando gli strumenti ADK integrati e l'
VertexAiMemoryBankServiceper leggere e scrivere in Memory Bank.Altri framework: inserisci il codice della Memory Bank in strumenti e callback per orchestrare la generazione e il recupero della memoria.
Casi d'uso
Puoi utilizzare Memory Bank per trasformare le interazioni degli agenti stateless in esperienze stateful e contestuali in cui l'agente ricorda, impara e si adatta nel tempo. Memory Bank è ideale per le applicazioni che richiedono:
Personalizzazione a lungo termine: crea esperienze su misura per i singoli utenti. Memory Bank limita i ricordi a un'identità specifica, consentendo a un agente di ricordare le preferenze, la cronologia e i dettagli chiave di un utente in più sessioni.
- Esempio: un agente dell'assistenza clienti che ricorda le informazioni chiave dei ticket di assistenza precedenti di un utente e le sue preferenze sui prodotti senza doverle chiedere di nuovo.
Estrazione delle conoscenze basata su LLM: utilizza questa opzione quando devi identificare e rendere persistenti automaticamente le informazioni più importanti dalle conversazioni o dai contenuti multimodali senza intervento manuale.
- Esempio: un agente di ricerca che legge una serie di articoli tecnici e crea una memoria consolidata di risultati, metodologie e conclusioni chiave.
Contesto dinamico e in evoluzione: utilizza Memory Bank quando hai bisogno di una fonte di conoscenza non statica. La Memory Bank è progettata per integrare continuamente nuove informazioni provenienti dall'agente, perfezionando e aggiornando le memorie archiviate man mano che diventano disponibili nuovi dati. In questo modo, il contesto su cui si basa l'agente è sempre aggiornato e accurato. Mentre RAG ha una knowledge base esterna statica, Memory Bank può evolversi in base al contesto fornito dall'agente.
Esempio di utilizzo

Puoi utilizzare Memory Bank con le sessioni di Agent Platform per generare memorie dalle sessioni archiviate utilizzando la seguente procedura:
(Sessioni)
CreateSession: all'inizio di ogni conversazione, crea una nuova sessione. La cronologia delle conversazioni utilizzata dall'agente è limitata a questa sessione. Una sessione contiene la sequenza cronologica di messaggi e azioni (SessionEvents) per un'interazione tra un utente e il tuo agente. Tutte le sessioni devono avere un ID utente; i ricordi estratti (vediGenerateMemories) per questa sessione sono mappati a questo utente.(Sessioni)
AppendEvent: man mano che l'utente interagisce con l'agente, gli eventi (come i messaggi dell'utente, le risposte dell'agente, le azioni degli strumenti) vengono caricati nelle sessioni. Gli eventi mantengono la cronologia delle conversazioni e creano un record della conversazione che può essere utilizzato per generare ricordi.(Sessioni)
ListEvents: mentre l'utente interagisce con l'agente, quest'ultimo recupera la cronologia delle conversazioni.(Memory Bank) Genera o crea ricordi:
GenerateMemories: a un intervallo specificato (ad esempio alla fine di ogni sessione o alla fine di ogni turno), l'agente può attivare la generazione di memorie utilizzando la cronologia delle conversazioni. I fatti relativi all'utente vengono estratti automaticamente dalla cronologia delle conversazioni in modo che siano disponibili per le sessioni attuali o future.CreateMemory: l'agente può scrivere i ricordi direttamente in Memory Bank. Ad esempio, l'agente può decidere quando scrivere una memoria e quali informazioni salvare (memoria come strumento). UtilizzaCreateMemoryquando vuoi che l'agente abbia un maggiore controllo sui fatti estratti.
(Memory Bank)
RetrieveMemories: mentre l'utente interagisce con l'agente, quest'ultimo può recuperare i ricordi salvati su quell'utente. Puoi recuperare tutti i ricordi (recupero semplice) o solo quelli più pertinenti alla conversazione corrente (recupero tramite ricerca di somiglianze). Poi puoi inserire i ricordi recuperati nel prompt.
Guide rapide
Inizia a utilizzare Memory Bank con le seguenti guide rapide:
Guida rapida all'utilizzo dell'API REST: segui la guida rapida all'API REST per effettuare chiamate API direttamente a Sessioni e Memory Bank.
Guida rapida all'utilizzo di ADK: segui la guida rapida di ADK se vuoi che l'agente ADK orchestri le chiamate a Sessioni e Memory Bank per te.
Governance di Memory Bank
Questa sezione descrive le considerazioni sulla governance dei dati quando utilizzi Memory Bank, ad esempio le responsabilità di sicurezza e la residenza dei dati.
Rischi per la sicurezza del prompt injection
Oltre alle responsabilità di sicurezza descritte in Responsabilità condivisa della piattaforma Agent, considera il rischio di prompt injection e poisoning della memoria che possono influire sul tuo agente quando utilizzi le memorie a lungo termine. Il poisoning della memoria si verifica quando informazioni false vengono archiviate nella Memory Bank. L'agente potrebbe quindi operare su queste informazioni false o dannose nelle sessioni future.
Per mitigare il rischio di poisoning della memoria, puoi procedere nel seguente modo:
Model Armor: utilizza Model Armor per ispezionare i prompt inviati a Memory Bank o dal tuo agente.
Test di adversarial: testa in modo proattivo la tua applicazione LLM per individuare vulnerabilità di prompt injection simulando attacchi. Questa attività è comunemente nota come "red teaming".
Esecuzione in sandbox: se l'agente ha la capacità di eseguire o interagire con sistemi esterni o critici, queste azioni devono essere eseguite in un ambiente sandbox con un controllo dell'accesso rigoroso e una revisione umana.
Per saperne di più, consulta l'articolo L'approccio di Google per agenti AI sicuri.
Residenza dei dati
Per rispettare i quadri normativi come il Regolamento generale sulla protezione dei dati (GDPR) e i requisiti regionali di sovranità dei dati, devi assicurarti che i ricordi generati e archiviati in Memory Bank rispettino i limiti rigorosi di residenza e segregazione dei dati.
Sebbene Memory Bank fornisca l'isolamento dei dati basato sull'ambito tra le identità all'interno di un'istanza, devi applicare policy di controllo degli accessi basato su ruoli (RBAC) e Identity and Access Management per applicare i confini regionali e impedire la contaminazione della memoria transfrontaliera tra istanze regionali distinte.
Deployment delle istanze regionali e residenza dei dati
Quando crei un'istanza di Memory Bank, scegli una località regionale o multiregionale (ad esempio eu per l'Unione Europea o us per gli Stati Uniti) per assicurarti che i dati at-rest rimangano all'interno di quel confine geografico specifico.
La località di elaborazione del machine learning (ML) dipende dalla disponibilità regionale del modello sottostante. Se un endpoint regionale non è disponibile per il modello o la località selezionati (ad esempio, i modelli Gemini 3 o le singole regioni dell'Asia), per l'elaborazione ML vengono utilizzati gli endpoint Gemini globali. Per saperne di più, consulta Residenza dei dati ed Endpoint multiregionali e globali.
Prevenzione della contaminazione della memoria transfrontaliera
La contaminazione transfrontaliera si verifica quando un runtime dell'agente, un'identità dell'agente, un account di servizio o un'applicazione che opera in una giurisdizione (ad esempio gli Stati Uniti) scrive o recupera memorie da un'istanza di Memory Bank situata in un'altra giurisdizione (ad esempio l'UE).
Per evitare la contaminazione transfrontaliera e mantenere la conformità legale, puoi configurare i seguenti controlli IAM:
Identità degli agenti o service account regionali dedicati: crea identità degli agenti o service account separati e specifici per regione per ogni giurisdizione (ad esempio
agent-us@PROJECT_ID.iam.gserviceaccount.comper i workload degli Stati Uniti eagent-eu@PROJECT_ID.iam.gserviceaccount.comper i workload dell'UE). Assicurati che alle identità degli agenti regionali e ai service account vengano concessi ruoli IAM solo sulle istanze di Memory Bank che risiedono nella stessa giurisdizione geografica, impedendo ai runtime regionali di accedere alle istanze transfrontaliere.- Ruoli specializzati con privilegi minimi: concedi alle entità solo i ruoli Memory Bank specifici richiesti per il loro workload (ad esempio
roles/aiplatform.memoryViewerper il recupero in sola lettura oroles/aiplatform.memoryEditorper l'accesso in scrittura e generazione) associati alla risorsa di regione appropriata. Per informazioni dettagliate sui ruoli disponibili, consulta Ruoli IAM di Specialized Memory Bank.
- Ruoli specializzati con privilegi minimi: concedi alle entità solo i ruoli Memory Bank specifici richiesti per il loro workload (ad esempio
Policy dell'organizzazione: applica le limitazioni di località a livello di organizzazione, cartella o progetto utilizzando il vincolo della policy dell'organizzazione
gcp.resourceLocations. In questo modo, la creazione e l'utilizzo delle risorse di Memory Bank sono limitati alle regioni conformi approvate e viene impedito l'utilizzo non autorizzato degli endpoint globali.
Per saperne di più sull'implementazione delle policy di accesso condizionale, consulta Controlla l'accesso a Memory Bank della piattaforma agente con le condizioni IAM.
Passaggi successivi
Guida rapida all'API Memory Bank
Inizia a utilizzare l'API Memory Bank per gestire i ricordi a lungo termine.
Guida rapida con Agent Development Kit
Inizia a utilizzare l'Agent Development Kit (ADK).