Com o Memory Bank da Agent Platform, você pode gerar dinamicamente memórias de longo prazo com base nas conversas entre o usuário e seu agente. Essas memórias são informações personalizadas que persistem em várias sessões, permitindo que o agente se adapte e personalize as respostas para contexto e continuidade.
Recursos
O Memory Bank ajuda você a gerenciar memórias para personalizar a forma como seu agente interage com os usuários e gerenciar a janela de contexto. Para cada escopo, a Central de Memórias mantém uma coleção isolada de memórias. Cada memória é uma informação independente e autônoma que pode ser usada para ampliar o contexto disponível para seu agente. Por 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 memórias usando um modelo de linguagem grande (LLM).
Extração de memória: extrai apenas as informações mais significativas dos dados de origem para persistir como memórias.
Consolidação de memórias: 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. Você também pode consolidar memórias pré-extraídas (como informações que seu agente ou um humano no loop considera significativas) com 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 agrupamento em lote que você configura.
Extração personalizável: configure quais informações o Memory Bank considera relevantes fornecendo temas específicos e exemplos de aprendizado com poucos exemplos.
Compreensão multimodal: processe informações multimodais para gerar e manter insights textuais.
Armazenamento e recuperação gerenciados: aproveite um repositório 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 tempo de execução do agente, seu ambiente local ou outras opções de implantação.
Pesquisa por similaridade: recupere memórias usando a pesquisa por similaridade limitada a uma identidade específica.
Expiração automática: defina um time to live (TTL) nas recordações para garantir que 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 recordações: crie e mantenha automaticamente revisões de recordações, que permitem inspecionar como as recordações se transformam à 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 seu 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 seu 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 e a recuperação de memória.
Casos de uso
Você pode usar o Memory Bank para transformar interações sem estado do agente em experiências com estado e contextuais 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 adaptadas a 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.
- Por exemplo, um agente de serviço ao cliente que se lembra de informações importantes dos tíquetes de suporte anteriores e das preferências de produtos de um usuário sem precisar perguntar novamente.
Extração de conhecimento com tecnologia de 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 descobertas, metodologias e conclusões importantes.
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 recordações armazenadas à medida que novos dados ficam disponíveis. Isso garante que o contexto em que seu 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 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 esta sessão. Uma sessão contém a sequência cronológica de mensagens e ações (SessionEvents) de uma interação entre um usuário e seu agente. Todas as sessões precisam ter um ID de usuário. As memórias extraídas (consulteGenerateMemories) dessa 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 da ferramenta) 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 recordações.(Sessões)
ListEvents: à medida que o usuário interage com o agente, ele recupera o histórico de conversas.(Memory Bank) Gerar ou criar recordações:
GenerateMemories: em um intervalo especificado (como o fim 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 estejam disponíveis para sessões atuais ou futuras.CreateMemory: seu agente pode escrever memórias diretamente no Memory Bank. Por exemplo, o agente pode decidir quando uma memória deve ser escrita e quais informações devem ser salvas (memória como ferramenta). UseCreateMemoryquando quiser que seu agente tenha mais controle sobre quais fatos são extraídos.
(Memory Bank)
RetrieveMemories: à medida que o usuário interage com seu agente, ele pode recuperar as memórias salvas sobre esse usuário. Você pode recuperar todas as memórias (recuperação simples) ou apenas as mais relevantes para a conversa atual (recuperação por 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 REST: siga o guia de início rápido da API REST para fazer chamadas de API diretamente para Sessions e Memory Bank.
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 seu agente ADK orquestre chamadas para sessões e Memory Bank para você.
Riscos de segurança da injeção de comando
Além das responsabilidades de segurança descritas na responsabilidade compartilhada da Agent Platform, considere o risco de injeção de comandos e envenenamento da memória que podem afetar seu agente ao usar memórias de longo prazo. A contaminação da memória ocorre quando informações falsas são armazenadas no Memory Bank. O agente pode operar com base nessas informações falsas ou maliciosas em sessões futuras.
Para mitigar o risco de envenenamento da memória, faça o seguinte:
Model Armor: use o Model Armor para inspecionar os comandos enviados ao Memory Bank ou do seu agente.
Testes adversários: teste proativamente seu aplicativo de LLM para detectar 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 em sandbox com controle de acesso rigoroso e revisão humana.
Para mais informações, consulte Abordagem do Google para agentes de IA segura.
A seguir
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
Comece a usar o Kit de Desenvolvimento de Agente (ADK).