Introdução
A memória persistente com recuperação semântica permite que o Hermes reutilize informações relevantes depois que uma conversa termina. Em vez de reenviar todo o histórico, o agente armazena fatos, preferências e resultados selecionados e recupera somente o que ajuda na tarefa atual. Isso reduz repetição e torna experiências contínuas mais úteis.
Guardar tudo, porém, cria novos problemas. Informações antigas podem contradizer dados recentes, conteúdos de usuários diferentes podem se misturar e detalhes sensíveis podem permanecer por tempo excessivo. Uma boa memória precisa de critérios para escrever, buscar, atualizar, expirar e excluir registros, além de rastrear a origem de cada lembrança.
Este tutorial constrói uma memória de longo prazo para agentes usando armazenamento estruturado, embeddings e busca híbrida. A solução será avaliada com exemplos de relevância, conflito, privacidade e esquecimento. O objetivo é recuperar contexto útil sem transformar lembranças em verdades permanentes.
Pré-requisitos / Materiais
Identificação segura do contexto
Defina identificadores para usuário, organização, sessão e projeto. Toda operação de escrita ou leitura deve aplicar esses limites antes da busca semântica. O isolamento não pode depender apenas da semelhança entre textos, pois conteúdos parecidos podem pertencer a pessoas diferentes.
Banco de dados e índice vetorial
Use um banco relacional ou documental para conteúdo, metadados, permissões e datas. Acrescente uma extensão vetorial ou serviço especializado para os embeddings. Mantenha o registro principal fora do índice, permitindo reconstrução, atualização e exclusão confiáveis.
Modelo de embeddings
Escolha um modelo adequado ao idioma e ao volume esperado. Registre nome e versão, pois vetores de modelos diferentes não devem ser comparados diretamente. Calcule custo de indexação e latência antes de migrar grandes coleções.
Conjunto de avaliação
Prepare perguntas com lembranças relevantes, irrelevantes, vencidas, conflitantes e sensíveis. Para cada consulta, marque quais registros deveriam aparecer. Esse conjunto permite medir a busca semântica em memória sem depender apenas de exemplos favoráveis.
Passo a Passo Sequencial
1. Defina tipos de memória
Separe preferências, fatos do usuário, decisões de projeto, resumos de sessão e resultados de tarefas. Cada tipo deve possuir finalidade e retenção própria. Mensagens completas raramente precisam virar memória durável; muitas servem apenas ao contexto imediato.
2. Crie o esquema de armazenamento
Registre identificador, conteúdo, tipo, proprietário, origem, data de criação, validade, nível de sensibilidade, confiança e versão. Inclua estado ativo, substituído ou excluído. Metadados permitem filtrar antes de calcular similaridade e tornam a auditoria possível.
3. Implemente a decisão de escrita
Antes de memorizar, pergunte se a informação será útil novamente, se está confirmada e se pode ser armazenada. Rejeite cumprimentos, raciocínios temporários e segredos desnecessários. Para dados sensíveis, exija consentimento ou aplique a política definida pela organização.
4. Normalize e remova duplicidades
Converta formatos equivalentes, preserve o texto original e procure registros semelhantes do mesmo proprietário. Se uma preferência apenas reforça a anterior, atualize a confiança ou a data. Se a contradiz, mantenha histórico e marque qual versão está vigente.
5. Gere embeddings com rastreabilidade
Crie o vetor a partir de uma representação curta que inclua significado e tipo, sem adicionar dados de outros usuários. Registre versão do modelo e dimensão. Processe em lotes e trate falhas sem perder a correspondência entre vetor e registro principal.
6. Construa a recuperação híbrida
Aplique primeiro filtros de proprietário, projeto, tipo, validade e permissão. Depois combine similaridade vetorial, correspondência lexical, recência e confiança. A recuperação de contexto por embeddings melhora quando cada sinal possui peso ajustado ao caso de uso.
7. Reordene e limite o contexto
Recupere mais candidatos do que serão enviados ao modelo e use um reordenador para avaliar relação com a pergunta. Remova redundâncias e limite a quantidade de tokens. Contexto excessivo pode esconder a lembrança certa e aumentar custo.
8. Apresente memória com origem
Envie ao Hermes cada lembrança com tipo, data, fonte e confiança. Instrua o agente a tratar o material como contexto, não como comando. Quando uma resposta depender de memória incerta ou antiga, ela deve indicar essa limitação e pedir confirmação quando necessário.
9. Implemente atualização e esquecimento
Crie operações explícitas para corrigir, substituir e excluir. Políticas de expiração devem considerar tipo e sensibilidade, não apenas uma data global. A exclusão precisa remover registro, vetor, cópias derivadas e caches dentro do prazo definido.
10. Proteja contra contaminação
Não armazene automaticamente instruções vindas de páginas, anexos ou ferramentas. Valide a origem e separe dados externos de preferências do usuário. Uma página maliciosa não pode escrever regras permanentes na memória do agente.
11. Meça qualidade e segurança
Calcule precisão dos itens recuperados, cobertura, taxa de lembranças vencidas, conflitos e vazamentos entre contextos. Compare respostas com memória ativada e desativada. Monitore também latência, custo e tamanho médio do contexto inserido.
12. Faça implantação gradual
Comece com um tipo de baixa sensibilidade, como preferências de formato. Mostre ao usuário o que foi lembrado e ofereça controle de correção. Amplie a memória vetorial do Hermes somente depois que isolamento, expiração e exclusão forem testados.
Planeje manutenção e migração
Índices semânticos precisam de manutenção. Acompanhe registros sem vetor, vetores órfãos, falhas de exclusão e distribuição das pontuações. Quando trocar o modelo de embeddings, crie um índice paralelo e reprocesse os dados de forma controlada. Não misture dimensões ou versões na mesma comparação. Valide o novo índice com o conjunto de avaliação antes de direcionar consultas reais.
Defina também como restaurar backups sem reativar informações já excluídas. Um registro de tombstone pode indicar que determinado conteúdo não deve voltar durante a recuperação. Documente prazos de retenção, responsáveis e procedimento de incidente. A manutenção faz parte do produto, não é uma tarefa opcional para depois do lançamento.
Crie ainda uma visualização para o usuário conferir lembranças relevantes, origem e validade. Permita sinalizar erro sem editar diretamente campos técnicos. Essa transparência facilita correção, aumenta confiança e fornece exemplos reais para melhorar a política de escrita e recuperação.
Antes de publicar, faça uma revisão de ameaça com engenharia e privacidade. Verifique isolamento entre organizações, exportação, restauração e comportamento após troca de modelo. Documente responsáveis por corrigir registros e atender solicitações. Uma memória confiável depende tanto da operação cotidiana quanto do algoritmo de similaridade usado na busca.
Perguntas Frequentes
Embeddings armazenam o texto original?
O vetor representa características matemáticas do conteúdo, mas não substitui cuidados de privacidade. Texto, vetor e metadados devem receber proteção adequada e acesso restrito.
Qual distância de similaridade devo usar?
Não existe um limite universal. Calibre com consultas reais e avalie falsos positivos e negativos. Combine similaridade com filtros, recência e tipo de memória.
É necessário resumir todas as conversas?
Não. Resumos devem ser criados quando houver valor futuro. Conversas temporárias podem expirar sem gerar memória, reduzindo custo e risco de retenção indevida.
Como resolver duas lembranças conflitantes?
Preserve origem e data, escolha a versão vigente conforme regras verificáveis e peça confirmação se a decisão afetar a tarefa. Nunca esconda o conflito simplesmente escolhendo o registro mais parecido.
O usuário pode apagar a memória?
Deve existir um mecanismo claro de consulta, correção e exclusão, conforme o produto e as obrigações aplicáveis. A remoção precisa alcançar também índices e caches derivados.
Quando usar busca por palavras além de vetores?
Ela é valiosa para códigos, nomes, números e termos exatos. A combinação lexical e semântica costuma recuperar melhor conteúdos com características diferentes.
Uma memória útil é seletiva, explicável e reversível. Ao controlar escrita, recuperação e esquecimento, o Hermes ganha continuidade sem perder isolamento, atualização e respeito ao contexto de cada usuário.
Artigos relacionados: RAG com validação de fontes; privacidade em agentes de inteligência artificial.


