Visão geral do banco de memória do Vertex AI Agent Engine

Com o Memory Bank do Vertex AI Agent Engine, é possível gerar memórias de longo prazo de forma dinâmica com base nas conversas dos usuários com seu agente. As memórias de longo prazo são informações personalizadas que podem ser acessadas em várias sessões de um determinado usuário. O agente pode usar as memórias para personalizar as respostas ao usuário e criar continuidade entre sessões.

Visão geral

O banco de memória 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, o banco de memória 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. Exemplo:

{
  "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
  "scope": {
    "agent_name": "My agent"
  },
  "fact": "I use Memory Bank to manage my memories."
}

O Memory Bank inclui os seguintes recursos:

  • Geração de memórias: 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 da memória: consolide as informações recém-extraídas com as recordações 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: as recordações podem ser geradas em segundo plano para que o agente não precise esperar a conclusão da geração.

    • 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: processa 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.

  • Integração do agente: conecte o banco de memória ao seu agente para que ele possa orquestrar chamadas para gerar e recuperar memórias.

    • Integração do Kit de Desenvolvimento de Agentes (ADK): orquestre chamadas do seu agente baseado no ADK usando ferramentas integradas do ADK e o VertexAiMemoryBankService para 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 com o tempo. O Memory Bank é ideal para aplicativos que exigem:

  • Personalização de longo prazo: crie experiências personalizadas para usuários individuais. O banco de memória 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 das principais informações 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 banco de memória quando precisar de uma fonte de conhecimento que não seja estática. O Banco de memória 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

Visão geral conceitual do Memory Bank do Vertex AI Agent Engine

É possível usar o Memory Bank com as sessões do Vertex AI Agent Engine para gerar memórias de sessões armazenadas usando o seguinte processo:

  1. (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) de uma interação entre um usuário e seu agente. Todas as sessões precisam ter um User ID. As recordações extraídas (consulte GenerateMemories) dessa sessão são mapeadas para esse usuário.

  2. (Sessões) AppendEvent: à medida que o usuário interage com o agente, os eventos (como mensagens do usuário, respostas do agente e ações da ferramenta) são enviados para as sessões. Os eventos mantêm o histórico de conversas e criam um registro que pode ser usado para gerar recordações.

  3. (Sessões) ListEvents: à medida que o usuário interage com o agente, ele recupera o histórico da conversa.

  4. (Banco de memórias): 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 em sessões atuais ou futuras.

    • CreateMemory: seu agente pode gravar memórias diretamente no banco de memória. Por exemplo, o agente pode decidir quando uma memória deve ser gravada e quais informações devem ser salvas (memória como uma ferramenta). Use CreateMemory quando quiser que seu agente tenha mais controle sobre quais fatos são extraídos.

  5. (Banco de memória) RetrieveMemories: à medida que o usuário interage com seu agente, ele pode recuperar memórias salvas sobre esse usuário. Você pode recuperar todas as recordações (recuperação simples) ou apenas as mais relevantes para a conversa atual (recuperação por pesquisa de similaridade). Em seguida, você pode inserir as recordações recuperadas no seu comando.

Guias de início rápido

Comece a usar o Memory Bank com os seguintes guias de início rápido:

Riscos de segurança da injeção de comando

Além das responsabilidades de segurança descritas na responsabilidade compartilhada da Vertex AI, 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 banco de memória. 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 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 seguros.

A seguir