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.
Isolamento de dados em várias 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 Vertex AI Agent Engine, 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 as informações desatualizadas sejam excluídas automaticamente. Configure sua instância da central de memórias para que um TTL seja aplicado automaticamente às memórias inseridas ou geradas.
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
É 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:
(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 (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 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.(Sessões)
ListEvents
: à medida que o usuário interage com o agente, ele recupera o histórico da conversa.(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). UseCreateMemory
quando quiser que seu agente tenha mais controle sobre quais fatos são extraídos.
(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:
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 do Vertex AI Agent Engine e o Memory Bank.
Início rápido usando o Kit de Desenvolvimento de Agente (ADK): siga o início rápido do ADK se quiser que o agente ADK orquestre chamadas para sessões do Vertex AI Agent Engine e o Memory Bank.
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
- Configurar o Banco de memória.
- Guia de início rápido com o Agent Development Kit.
- Guia de início rápido com o SDK do Vertex AI Agent Engine.