O banco de memória do Vertex AI Agent Engine permite-lhe gerar dinamicamente memórias a longo prazo com base nas conversas dos utilizadores com o seu agente. As memórias de longo prazo são informações personalizadas que podem ser acedidas em várias sessões para um determinado utilizador. O agente pode usar as memórias para personalizar as respostas ao utilizador e criar continuidade entre sessões.
Vista geral
O banco de memória ajuda a gerir memórias para que possa personalizar a forma como o seu agente interage com os utilizadores e gerir a janela de contexto. Para cada âmbito, o banco 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 expandir o contexto disponível para o seu agente. Por exemplo:
{
"name": "projects/.../locations/.../reasoningEngines/.../memories/...",
"scope": {
"agent_name": "My agent"
},
"fact": "I use Memory Bank to manage my memories."
}
O banco de memórias inclui as seguintes funcionalidades:
Geração de memórias: crie, refine e faça a gestão de memórias através de um modelo de linguagem (conteúdo extenso) (MDI/CE).
Extração de memória: extraia apenas as informações mais significativas dos dados de origem para persistirem como memórias.
Consolidação de memórias: consolide as informações recém-extraídas com as memórias existentes, o que permite que as memórias evoluam à medida que são carregadas novas informações. Também pode consolidar memórias pré-extraídas (como informações que o seu agente ou um humano no circuito considera significativas) com memórias existentes.
Geração assíncrona: as memórias podem ser geradas em segundo plano, para que o seu agente não tenha de esperar pela conclusão da geração de memórias.
Extração personalizável: configure as informações que o banco de memória considera significativas fornecendo tópicos específicos e exemplos de poucos disparos.
Compreensão multimodal: processe informações multimodais para gerar e manter estatísticas textuais.
Armazenamento e obtenção geridos: tire partido de um armazenamento de memória totalmente gerido, persistente e acessível.
Isolamento de dados entre identidades: a consolidação e a obtenção de memória estão isoladas para uma identidade específica.
Armazenamento persistente e acessível: armazene memórias que podem ser acedidas a partir de vários ambientes, incluindo o tempo de execução do Vertex AI Agent Engine, o seu ambiente local ou outras opções de implementação.
Pesquisa por semelhança: recupere memórias através da pesquisa por semelhança limitada a uma identidade específica.
Validade automática: defina um tempo de vida (TTL) para as memórias para garantir que as informações desatualizadas são eliminadas automaticamente. Configure a sua instância do banco de memória para que seja aplicado automaticamente um TTL às memórias inseridas ou geradas.
Integração de agentes: associe o banco de memória ao seu agente para que este possa orquestrar chamadas para gerar e obter memórias.
Integração do Agent Development Kit (ADK): orquestre chamadas do seu agente baseado no ADK através de ferramentas ADK incorporadas e da
VertexAiMemoryBankService
para ler e escrever no Memory Bank.Outras frameworks: envolva o código do banco de memória em ferramentas e callbacks para orquestrar a geração e a obtenção de memória.
Exemplos de utilização
Pode usar o banco de memória para transformar interações de agentes sem estado 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 aplicações que requerem:
Personalização a longo prazo: crie experiências personalizadas para utilizadores individuais. O Memory Bank limita as memórias a uma identidade específica, o que permite a um agente lembrar-se das preferências, do histórico e dos detalhes importantes de um utilizador em várias sessões.
- Exemplo: um agente do serviço de apoio ao cliente que se lembra de informações importantes de pedidos de apoio técnico anteriores e preferências de produtos de um utilizador sem ter de perguntar novamente.
Extração de conhecimentos baseada em GMLs: use quando precisar de 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 documentos técnicos e cria uma memória consolidada das principais conclusões, metodologias e conclusões.
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 concebido para integrar continuamente novas informações do seu agente, refinando e atualizando as memórias armazenadas à medida que novos dados ficam disponíveis. Isto garante que o contexto em que o seu agente se baseia está sempre atualizado e correto. Enquanto a RAG tem uma base de conhecimentos externa e estática, o banco de memória pode evoluir com base no contexto fornecido pelo agente.
Exemplo de utilização
Pode usar o banco de memória com sessões do motor de agentes da Vertex AI para gerar memórias a partir de sessões armazenadas através do seguinte processo:
(Sessões)
CreateSession
: no início de cada conversa, crie uma nova sessão. O histórico de conversas usado pelo agente está limitado a esta sessão. Uma sessão contém a sequência cronológica de mensagens e ações (SessionEvents
) para uma interação entre um utilizador e o seu agente. Todas as sessões têm de ter um User ID. As memórias extraídas (consulteGenerateMemories
) para esta sessão são mapeadas para este utilizador.(Sessões)
AppendEvent
: à medida que o utilizador interage com o agente, os eventos (como mensagens do utilizador, respostas do agente e ações de ferramentas) são carregados para as sessões. Os eventos persistem no histórico de conversas e criam um registo da conversa que pode ser usado para gerar memórias.(Sessões)
ListEvents
: à medida que o utilizador interage com o agente, o agente obtém o histórico de conversas.(Banco de memórias) Gere ou crie memórias:
GenerateMemories
: a 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 com o histórico de conversas. Os factos sobre o utilizador são extraídos automaticamente do histórico de conversas para que estejam disponíveis para sessões atuais ou futuras.CreateMemory
: o seu agente pode escrever memórias diretamente no banco de memórias. Por exemplo, o agente pode decidir quando uma memória deve ser escrita e que informações devem ser guardadas (memória como ferramenta). UseCreateMemory
quando quiser que o seu agente tenha mais controlo sobre os factos extraídos.
(Banco de memórias)
RetrieveMemories
: à medida que o utilizador interage com o seu agente, o agente pode aceder às memórias guardadas sobre esse utilizador. Pode obter todas as memórias (obtenção simples) ou apenas as mais relevantes para a conversa atual (obtenção de pesquisa de semelhanças). Em seguida, pode inserir as memórias obtidas no seu comando.
Inícios rápidos
Comece a usar o banco de memória com os seguintes inícios rápidos:
Guia de início rápido com a API REST: siga o guia de início rápido da API REST para fazer chamadas API diretamente para as sessões do Vertex AI Agent Engine e o Memory Bank.
Guia de início rápido com o Agent Development Kit (ADK): siga o guia de início rápido do Agent Development Kit (ADK) se quiser que o seu agente ADK coordene as chamadas para as sessões do Vertex AI Agent Engine e o Memory Bank por si.
Riscos de segurança da injeção de comandos
Além das responsabilidades de segurança descritas na responsabilidade partilhada do Vertex AI, considere o risco de injeção de comandos e envenenamento da memória que podem afetar o seu agente quando usa memórias a longo prazo. O envenenamento da memória ocorre quando são armazenadas informações falsas no banco de memória. Em seguida, o agente pode operar com base nestas informações falsas ou maliciosas em sessões futuras.
Para mitigar o risco de envenenamento da memória, pode fazer o seguinte:
Model Armor: use o Model Armor para inspecionar os comandos enviados para o banco de memória ou do seu agente.
Testes adversariais: teste proativamente a sua aplicação de GML quanto a vulnerabilidades de injeção de comandos simulando ataques. Isto é normalmente conhecido como "red teaming".
Execução em sandbox: se o agente tiver a capacidade de executar ou interagir com sistemas externos ou críticos, estas ações devem ser realizadas num ambiente de sandbox com um controlo de acesso rigoroso e revisão humana.
Para mais informações, consulte o artigo A abordagem da Google para agentes de IA seguros.
O que se segue?
- Configure o banco de memórias.
- Início rápido com o Agent Development Kit.
- Início rápido com o SDK Vertex AI Agent Engine.