O Memory Bank da Agent Platform permite gerar memórias de longo prazo de forma dinâmica com base em conversas entre o usuário e o agente. Essas memórias são informações personalizadas que persistem em várias sessões, permitindo que o agente adapte e personalize as respostas para contexto e continuidade.
Recursos
O Memory Bank ajuda a gerenciar memórias para que você possa personalizar a forma como o agente interage com os usuários e gerenciar a janela de contexto. Para cada escopo, o Memory Bank mantém uma coleção isolada de memórias. Cada memória é uma informação independente e autônoma que pode ser usada para expandir o contexto disponível para o agente. Exemplo:
{
"name": "projects/.../locations/.../reasoningEngines/.../memories/...",
"scope": {
"agent_name": "My agent",
"user": "my user ID"
},
"fact": "I use Memory Bank to manage my memories."
}
O Memory Bank inclui os seguintes recursos:
Geração de dados de memória: Crie, refine e gerencie dados de memória usando um modelo de linguagem grande (LLM).
Extração de memória: extraia apenas as informações mais significativas dos dados de origem para persistir como memórias.
Consolidação de memória: consolide as informações recém-extraídas com as memórias atuais, permitindo que elas evoluam à medida que novas informações são ingeridas. Também é possível consolidar memórias pré-extraídas (como informações que o agente ou um humano no loop considera significativas) com as memórias atuais.
Geração assíncrona: gere dados de memória em segundo plano para que o agente não precise esperar a conclusão da geração de dados de memória.
Ingestão contínua de eventos: transmita e gerencie eventos de conversa com a ingestão de eventos, que aciona automaticamente a geração de dados de memória com base nas regras de lote que você configurar.
Extração personalizável: Configure quais informações o Memory Bank considera significativas fornecendo tópicos específicos e exemplos de poucos disparos.
Compreensão multimodal: processe informações multimodais para gerar e manter insights textuais.
Armazenamento e recuperação gerenciados: aproveite um armazenamento de memória totalmente gerenciado, persistente, e acessível.
Isolamento de dados em identidades: a consolidação e a recuperação de memória são isoladas para uma identidade específica.
Armazenamento persistente e acessível: armazene memórias que podem ser acessadas em vários ambientes, incluindo o ambiente de execução do agente, seu ambiente local ou outras opções de implantação.
Expiração automática: defina um time to live (TTL) nas memórias para garantir que as informações desatualizadas sejam excluídas automaticamente. Configure a instância do Memory Bank para que um TTL seja aplicado automaticamente às memórias inseridas ou geradas.
Revisões de memória: crie e mantenha automaticamente revisões de memória que permitem inspecionar como as memórias são transformadas à medida que novas informações são ingeridas.
Permissões restritivas: use condições do IAM para restringir quais principais podem ler ou gravar memórias de escopos específicos.
Integração do agente: conecte o Memory Bank ao agente para que ele possa orquestrar chamadas para gerar e recuperar memórias.
Integração do Kit de Desenvolvimento de Agente (ADK): orquestre chamadas do agente baseado no ADK usando ferramentas integradas do ADK e o
VertexAiMemoryBankServicepara ler e gravar no Memory Bank.Outros frameworks: encapsule o código do Memory Bank em ferramentas e callbacks para orquestrar a geração de dados de memória e a recuperação.
Casos de uso
É possível usar o Memory Bank para transformar interações de agentes sem estado em experiências contextuais e com estado em que o agente se lembra, aprende e se adapta ao longo do tempo. O Memory Bank é ideal para aplicativos que exigem:
Personalização de longo prazo: crie experiências personalizadas para usuários individuais. O Memory Bank escopa memórias para uma identidade específica, permitindo que um agente se lembre das preferências, do histórico e dos detalhes principais de um usuário em várias sessões.
- Exemplo: um agente de serviço ao cliente que se lembra das principais informações dos tíquetes de suporte e das preferências de produtos anteriores de um usuário sem precisar perguntar novamente.
Extração de conhecimento orientada por LLM: use quando precisar identificar e manter automaticamente as informações mais importantes de conversas ou conteúdo multimodal sem intervenção manual.
- Exemplo: um agente de pesquisa que lê uma série de artigos técnicos e cria uma memória consolidada de principais descobertas, metodologias e conclusões.
Contexto dinâmico e em evolução: use o Memory Bank quando precisar de uma fonte de conhecimento que não seja estática. O Memory Bank foi projetado para integrar continuamente novas informações do agente, refinando e atualizando as memórias armazenadas à medida que novos dados ficam disponíveis. Isso garante que o contexto em que o agente se baseia esteja sempre atualizado e preciso. Enquanto a RAG tem uma base de conhecimento estática e externa, o Memory Bank pode evoluir com base no contexto fornecido pelo agente.
Exemplo de uso

É possível usar o Memory Bank com as sessões da Agent Platform para gerar memórias de sessões armazenadas usando o processo a seguir:
(Sessões)
CreateSession: no início de cada conversa, crie uma nova sessão. O histórico de conversas usado pelo agente é definido para essa sessão. Uma sessão contém a sequência cronológica de mensagens e ações (SessionEvents) para uma interação entre um usuário e o agente. Todas as sessões precisam ter um ID de usuário. As memórias extraídas (consulteGenerateMemories) para essa sessão são mapeadas para esse usuário.(Sessões)
AppendEvent: à medida que o usuário interage com o agente, os eventos (como mensagens do usuário, respostas do agente, ações de ferramentas) são enviados para as sessões. Os eventos mantêm o histórico de conversas e criam um registro da conversa que pode ser usado para gerar memórias.(Sessões)
ListEvents: à medida que o usuário interage com o agente, o agente recupera o histórico de conversas.(Memory Bank) Gere ou crie memórias:
GenerateMemories: em um intervalo especificado (como o final de cada sessão ou o final de cada turno), o agente pode acionar a geração de memórias usando o histórico de conversas. Os fatos sobre o usuário são extraídos automaticamente do histórico de conversas para que fiquem disponíveis para sessões atuais ou futuras.CreateMemory: o agente pode gravar memórias diretamente no Memory Bank. Por exemplo, o agente pode decidir quando uma memória deve ser gravada e quais informações devem ser salvas (memória como ferramenta). UseCreateMemoryquando quiser que o agente tenha mais controle sobre quais fatos são extraídos.
(Memory Bank)
RetrieveMemories: à medida que o usuário interage com o agente, ele pode recuperar as memórias salvas sobre esse usuário. É possível recuperar todas as memórias (recuperação simples) ou apenas as mais relevantes para a conversa atual (recuperação de pesquisa de similaridade). Em seguida, insira as memórias recuperadas no comando.
Guias de início rápido
Comece a usar o Memory Bank com os seguintes guias de início rápido:
Guia de início rápido usando a API: siga o guia de início rápido da API REST para fazer chamadas de API diretamente para sessões e Memory Bank.
Guia de início rápido usando o Kit de Desenvolvimento de Agente (ADK): siga o guia de início rápido do Kit de Desenvolvimento de Agente (ADK) se quiser que o agente do ADK orquestre chamadas para sessões e Memory Bank.
Riscos de segurança da injeção de comandos
Além das responsabilidades de segurança descritas na Agent Platform responsabilidade compartilhada, considere o risco de injeção de comando e envenenamento de memória que podem afetar o agente ao usar memórias de longo prazo. O envenenamento de memória ocorre quando informações falsas são armazenadas no Memory Bank. O agente pode operar com essas informações falsas ou maliciosas em sessões futuras.
Para reduzir o risco de envenenamento de memória, faça o seguinte:
Model Armor: use o Model Armor para inspecionar os comandos enviados ao Memory Bank ou do agente.
Testes adversários: teste proativamente o aplicativo LLM para vulnerabilidades de injeção de comandos simulando ataques. Isso é conhecido como "red teaming".
Execução em sandbox: se o agente tiver a capacidade de executar ou interagir com sistemas externos ou críticos, essas ações deverão ser realizadas em um ambiente de sandbox com controle de acesso rigoroso e revisão humana.
Para mais informações, consulte a abordagem do Google para agentes de IA seguros.
A seguir
Guia de início rápido da API Memory Bank
Comece a usar a API Memory Bank para gerenciar memórias de longo prazo.
Guia de início rápido com o Kit de Desenvolvimento de Agente
Comece a usar o Kit de Desenvolvimento de Agente (ADK).