O Memory Bank da Plataforma de Agentes permite gerar dinamicamente memórias de longo prazo com base nas 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 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 recordações: crie, refine e gerencie recordações 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 seu agente ou um human-in-the-loop considera significativas) com memórias atuais.
Geração assíncrona: gere memórias em segundo plano, para que o agente não precise esperar que a geração de memória seja concluída.
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 memória com base nas regras de lote que você configurar.
Extração personalizável: configure quais informações o Memory Bank considera relevantes fornecendo tópicos específicos e exemplos com poucos exemplos (few-shot).
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 entre 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 de vários ambientes, incluindo o Agent Runtime, seu ambiente local ou outras opções de implantação.
Pesquisa de similaridade: recupere memórias usando a pesquisa de similaridade com escopo para uma identidade específica.
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 sua 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 se transformam à medida que novas informações são ingeridas.
Permissões restritivas: use as condições do IAM para restringir quais principais podem ler ou gravar memórias de escopos específicos.
Integração de agentes: conecte o Memory Bank ao seu agente para que ele possa orquestrar chamadas para gerar e recuperar memórias.
Integração com o Kit de Desenvolvimento de Agente (ADK): orquestre chamadas do seu agente baseado em ADK usando as ferramentas integradas do ADK e o
VertexAiMemoryBankServicepara ler e gravar no Memory Bank.Outros frameworks: envolva o código do Memory Bank em ferramentas e callbacks para organizar a geração e a recuperação de memória.
Casos de uso
É possível usar o Memory Bank para transformar interações de agentes sem estado em experiências contextuais 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 limita as memórias a 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 de informações importantes de tíquetes de suporte anteriores e preferências de produtos de um usuário sem precisar perguntar novamente.
Extração de conhecimento baseada em LLM: use quando precisar identificar e persistir 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 das 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 seu agente, refinando e atualizando as memórias armazenadas à medida que novos dados são disponibilizados. Isso garante que o contexto em que o agente se baseia esteja sempre atualizado e preciso. Enquanto a RAG tem uma base de conhecimento externa estática, 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 seguinte processo:
(Sessões)
CreateSession: no início de cada conversa, crie uma nova sessão. O histórico de conversas usado pelo agente é limitado a 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 seu agente. Todas as sessões precisam ter um ID do usuário. As memórias extraídas (consulteGenerateMemories) dessa sessão são mapeadas para esse usuário.(Sessões)
AppendEvent: conforme o usuário interage com o agente, 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 da conversa e criam um registro dela que pode ser usado para gerar memórias.(Sessões)
ListEvents: conforme o usuário interage com o agente, o agente recupera o histórico de conversas.(Memory Bank) Gerar ou criar memórias:
GenerateMemories: em um intervalo especificado (como o final de cada sessão ou 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: seu 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: conforme o usuário interage com o agente, ele pode recuperar 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, você pode inserir 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 REST: siga o guia de início rápido da API REST para fazer chamadas de API diretamente para as sessões e o banco de memória.
Guia de início rápido usando o ADK: siga o guia de início rápido do ADK se quiser que o agente do ADK orquestre chamadas para as Sessões e o Banco de Memória para você.
Governança do Memory Bank
Nesta seção, descrevemos as considerações de governança de dados ao usar o Memory Bank, como responsabilidades de segurança e residência de dados.
Riscos de segurança da injeção de comandos
Além das responsabilidades de segurança descritas na responsabilidade compartilhada da Agent Platform, considere o risco de injeção de comandos e envenenamento de memória que podem afetar seu 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 banco de memória ou do seu agente.
Teste de adversários: teste proativamente seu aplicativo de LLM para identificar vulnerabilidades de injeção de comandos simulando ataques. Isso é conhecido como "red teaming".
Execução em sandbox: se o agente puder executar ou interagir com sistemas externos ou críticos, essas ações precisarão ser realizadas em um ambiente de sandbox com controle de acesso rigoroso e revisão humana.
Para mais informações, consulte Abordagem do Google para agentes de IA seguros.
Residência de dados
Para obedecer a sistemas regulatórios como o Regulamento Geral de Proteção de Dados (GDPR) e os requisitos regionais de soberania de dados, é preciso garantir que as memórias geradas e armazenadas no Memory Bank sigam limites rígidos de residência de dados e segregação.
Embora o Memory Bank ofereça isolamento de dados com base no escopo entre identidades em uma instância, é necessário aplicar políticas de controle de acesso baseado em papéis (RBAC) e do Identity and Access Management para aplicar limites regionais e evitar a contaminação de memória entre instâncias regionais distintas.
Implantação de instâncias regionais e residência de dados
Ao criar uma instância do Memory Bank, escolha um local regional ou
multirregional (como eu para a União Europeia ou us para os
Estados Unidos) para garantir que os dados em repouso permaneçam dentro desse limite
geográfico específico.
O local de processamento de machine learning (ML) depende da disponibilidade regional do modelo subjacente. Se um endpoint regional não estiver disponível para o modelo ou local selecionado (por exemplo, modelos do Gemini 3 ou regiões únicas da Ásia), os endpoints globais do Gemini serão usados para o processamento de ML. Para mais informações, consulte Residência de dados e Endpoints multirregionais e globais.
Como evitar a contaminação de memória entre limites
A contaminação entre limites ocorre quando um Agent Runtime, uma Identidade do Agente, uma conta de serviço ou um aplicativo que opera em uma jurisdição (por exemplo, os EUA) grava ou recupera memórias de uma instância do Memory Bank localizada em outra jurisdição (por exemplo, a UE).
Para evitar a contaminação entre limites e manter a conformidade regulatória, é possível configurar os seguintes controles do IAM:
Identidades de agente ou contas de serviço regionais dedicadas: crie identidades de agente ou contas de serviço separadas e específicas da região para cada jurisdição (como
agent-us@PROJECT_ID.iam.gserviceaccount.compara cargas de trabalho dos EUA eagent-eu@PROJECT_ID.iam.gserviceaccount.compara cargas de trabalho da UE). Garanta que as identidades de agentes regionais e as contas de serviço recebam apenas papéis do IAM nas instâncias do Memory Bank que residem na mesma jurisdição geográfica, impedindo que os ambientes de execução regionais acessem instâncias transfronteiriças.- Papéis especializados de privilégio mínimo: conceda aos principais apenas os papéis específicos do Memory Bank necessários para a carga de trabalho (como
roles/aiplatform.memoryViewerpara recuperação somente leitura ouroles/aiplatform.memoryEditorpara acesso de gravação e geração) vinculados ao recurso regional apropriado. Para detalhes sobre os papéis disponíveis, consulte Papéis do IAM especializados do banco de memória.
- Papéis especializados de privilégio mínimo: conceda aos principais apenas os papéis específicos do Memory Bank necessários para a carga de trabalho (como
Políticas da organização: aplique restrições de local no nível da organização, da pasta ou do projeto usando a restrição de política da organização
gcp.resourceLocations. Isso restringe a criação e o uso de recursos do Memory Bank a regiões aprovadas e em conformidade, além de impedir o uso não autorizado de endpoints globais.
Para mais informações sobre como implementar políticas de acesso condicional, consulte Controlar o acesso ao banco de memória da plataforma de agentes com as condições do IAM.
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 do Kit de Desenvolvimento de Agente
Introdução ao Kit de Desenvolvimento de Agente (ADK).