Panoramica di Memory Bank di Vertex AI Agent Engine

Memory Bank di Vertex AI Agent Engine ti consente di generare dinamicamente ricordi a lungo termine in base alle conversazioni degli utenti con il tuo agente. I ricordi a lungo termine sono informazioni personalizzate a cui un determinato utente può accedere in più sessioni. L'agente può utilizzare i ricordi per personalizzare le risposte all'utente e creare una continuità tra le sessioni.

Panoramica

Memory Bank ti aiuta a gestire i ricordi, in modo da personalizzare il modo in cui l'agente interagisce con gli utenti e gestire la finestra contestuale. Per ogni ambito, Memory Bank mantiene una raccolta isolata di ricordi. Ogni memoria è un'informazione indipendente e autonoma che può essere utilizzata per ampliare il contesto a disposizione dell'agente. Ad esempio:

{
  "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
  "scope": {
    "agent_name": "My agent"
  },
  "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 dei ricordi: estrai solo le informazioni più significative dai dati di origine da conservare come ricordi.

    • Consolidamento dei ricordi: consolida le informazioni appena estratte con i ricordi esistenti, consentendo ai ricordi di evolversi man mano che vengono inserite nuove informazioni. Puoi anche consolidare le memorie pre-estratte (come le informazioni che il tuo agente o un operatore umano considera significative) con le memorie esistenti.

    • Generazione asincrona: i ricordi possono essere generati in background, in modo che l'agente non debba attendere il completamento della generazione.

    • 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 rendere persistenti gli insight testuali.

  • Archiviazione e recupero gestiti: usufruisci di un archivio di memoria completamente gestito, persistente e accessibile.

    • Isolamento dei dati tra le identità: il consolidamento e il recupero della memoria sono isolati in un'identità specifica.

    • Archiviazione persistente e accessibile: memorizza i ricordi a cui è possibile accedere da più ambienti, tra cui Vertex AI Agent Engine Runtime, l'ambiente locale o altre opzioni di deployment.

    • Ricerca per somiglianza: recupera i ricordi utilizzando la ricerca per somiglianza limitata a un'identità specifica.

    • Scadenza automatica: imposta una durata (TTL) per i ricordi per assicurarti che le informazioni obsolete vengano eliminate automaticamente. Configura l'istanza di Memory Bank in modo che venga applicato automaticamente un TTL alle memorie inserite o generate.

  • Integrazione dell'agente: collega Memory Bank al tuo agente, in modo che possa orchestrare le chiamate per generare e recuperare i ricordi.

    • Integrazione di Agent Development Kit (ADK): orchestra le chiamate dal tuo agente basato su ADK utilizzando gli strumenti ADK integrati e VertexAiMemoryBankService per leggere e scrivere in Memory Bank.

    • Altri framework: racchiudi il codice di 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 personalizzate 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 addetto all'assistenza clienti che ricorda le informazioni chiave delle richieste di assistenza e delle preferenze dei prodotti passate di un utente senza doverle chiedere di nuovo.
  • Estrazione delle conoscenze basata su LLM: utilizza questa opzione quando devi identificare e conservare automaticamente le informazioni più importanti di conversazioni o 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. Memory Bank è progettato per integrare continuamente nuove informazioni dall'agente, perfezionando e aggiornando i ricordi memorizzati man mano che diventano disponibili nuovi dati. In questo modo, il contesto su cui si basa l'agente è sempre aggiornato e preciso. Mentre RAG ha una knowledge base esterna statica, Memory Bank può evolversi in base al contesto fornito dall'agente.

Esempio di utilizzo

Panoramica concettuale di Memory Bank di Vertex AI Agent Engine

Puoi utilizzare Memory Bank con le sessioni di Vertex AI Agent Engine per generare ricordi dalle sessioni archiviate utilizzando la seguente procedura:

  1. (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 (vedi GenerateMemories) per questa sessione vengono mappati a questo utente.

  2. (Sessioni) AppendEvent: man mano che l'utente interagisce con l'agente, gli eventi (ad esempio messaggi dell'utente, risposte dell'agente, azioni dello strumento) vengono caricati in Sessioni. Gli eventi mantengono la cronologia delle conversazioni e creano un record della conversazione che può essere utilizzato per generare ricordi.

  3. (Sessioni) ListEvents: man mano che l'utente interagisce con l'agente, quest'ultimo recupera la cronologia delle conversazioni.

  4. (Banca dei ricordi) Genera o crea ricordi:

    • GenerateMemories: a un intervallo specificato (ad esempio alla fine di ogni sessione o di ogni turno), l'agente può attivare la generazione di ricordi utilizzando la cronologia delle conversazioni. I dati dell'utente vengono estratti automaticamente dalla cronologia delle conversazioni in modo che siano disponibili per le sessioni attuali o future.

    • CreateMemory: il tuo agente può scrivere ricordi direttamente in Memory Bank. Ad esempio, l'agente può decidere quando scrivere un ricordo e quali informazioni salvare (memoria come strumento). Utilizza CreateMemory quando vuoi che l'agente abbia un maggiore controllo sui fatti estratti.

  5. (Memory Bank) RetrieveMemories: man mano che l'utente interagisce con il tuo agente, quest'ultimo può recuperare i ricordi salvati sull'utente. Puoi recuperare tutti i ricordi (recupero semplice) o solo quelli più pertinenti alla conversazione corrente (recupero tramite ricerca di similarità). Poi puoi inserire i ricordi recuperati nel prompt.

Guide rapide

Inizia a utilizzare Memory Bank con le seguenti guide rapide:

Rischi per la sicurezza dell'injection di prompt

Oltre alle responsabilità in materia di sicurezza descritte in Responsabilità condivisa di Vertex AI, considera il rischio di prompt injection e memory poisoning che possono influire sul tuo agente quando utilizza ricordi a lungo termine. L'avvelenamento della memoria si verifica quando vengono memorizzate informazioni false in Memory Bank. L'agente potrebbe quindi operare su queste informazioni false o dannose nelle sessioni future.

Per ridurre il rischio di avvelenamento della memoria, puoi procedere nel seguente modo:

  • Model Armor: utilizza Model Armor per esaminare i prompt inviati a Memory Bank o dal tuo agente.

  • Test avversariale: testa in modo proattivo la tua applicazione LLM per verificare la presenza di vulnerabilità di prompt injection simulando attacchi. Questa procedura è in genere nota come "red teaming".

  • Esecuzione in sandbox: se l'agente ha la possibilità 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 ulteriori informazioni, consulta l'approccio di Google per gli agenti AI sicuri.

Passaggi successivi