IT23 de maio de 2026

Memória Partilhada para Frotas de Agentes: hermes-memory-pgvector

Por Andrea Borghi
Memória Partilhada para Frotas de Agentes: hermes-memory-pgvector

Memória Partilhada para Frotas de Agentes: hermes-memory-pgvector

Quando executa mais do que um agente de IA — um minion de marketing, um minion de trading, um minion de resposta a incidentes — cada um precisa de memória. A ferramenta de memória incorporada dá a cada agente a sua própria. Isso é suficiente até querer que partilhem, ou até querer recuperar o que o agente aprendeu há seis semanas sem pagar uma ida e volta a um LLM só para o ir buscar.

hermes-memory-pgvector é um pequeno plugin Postgres + pgvector que espelha as escritas da memória do agente para um armazenamento partilhado, incorporado e consultável. Publicado no PyPI na v0.4.0.

Novo na v0.4.0

A versão mais recente mantém a regra "sem LLM no caminho crítico" e acrescenta quatro capacidades na camada de armazenamento:

  • Governança de identidade. As chaves de sessão de mensagens diretas convertem-se num único contentor seguro para a privacidade — sem proliferação de temas por contacto, sem PII — o tráfego de benchmark é colocado em quarentena e uma lista de अनुमति permitidos opcional encaminha nomes de temas com erros de digitação para uma predefinição segura, em vez de criar silenciosamente um novo.
  • Atribuição e delegação de agentes. Um novo registo e arestas de proveniência registam que agente delegou o quê a quem, consultável através de uma vista da base de dados. Proveniência pura de quem/quando — nunca um armazenamento de factos.
  • Backfill de embeddings. As linhas escritas apenas em texto durante uma indisponibilidade do endpoint de embeddings deixam de ficar presas: um comando idempotente volta a gerar embeddings nelas, para que voltem a ser pesquisáveis.
  • TTL de conversação e controlos de custos. Uma limpeza executada pelo operador reduz os turnos de conversa antigos (as memórias duráveis nunca são tocadas) e uma política de embedding ajusta o custo de embeddings para cima ou para baixo.

Tudo isto é disponibilizado através de uma CLI de manutenção (hermes-pgvector), cujos comandos destrutivos têm por predefinição dry-run. A v0.4.0 é uma atualização direta a partir da v0.3.x — aplique uma migração aditiva e os novos hooks são ativados; salte-a e todo o resto continua a funcionar sem alterações.

O que realmente faz

Numa linha: "uma camada de armazenamento que dá ao modelo de memória incorporado um suporte durável, multi-tenant e pesquisável semanticamente, sem LLM no caminho crítico."

Duas tabelas, ambas com índices vetoriais HNSW. memory_entries espelha as escritas para os ficheiros MEMORY.md/USER.md do agente. conversations armazena turnos de conversa substanciais (≥40 caracteres, com texto padrão filtrado). Os embeddings têm 768 dimensões, calculados por um endpoint externo — Ollama, compatível com OpenAI, à sua escolha. O agente nunca fica bloqueado por isso: as escritas devolvem resultado em microssegundos e o worker de embeddings trata do resto numa fila em segundo plano.

Temas por agente por predefinição

Cada pedido transporta um cabeçalho X-Hermes-Session-Key que delimita os dados por agent_identity. As notas de marketing não poluem a memória de trading. Quando realmente quer pesquisa entre temas, passe scope='all' explicitamente. A predefinição é a opção segura.

Porque autónomo, e não um fork

hermes-agent fechou a lista do seu fornecedor de memória incorporado por política, por isso isto vive como um scan separado do diretório /plugins em vez de um fork a montante. Coloque-o ao lado do agente, defina algumas chaves de configuração e reinicie. O rollback é simétrico: desative o fornecedor e, opcionalmente, elimine as tabelas. Sem estado de longa duração para migrar, sem patches de kernel para manter.

O que não é

Não é uma substituição do Honcho. Não é um grafo de conhecimento. Não é uma framework RAG. É intencionalmente uma camada fina que faz uma coisa — transformar a ferramenta de memória incorporada num armazenamento partilhado, durável e pesquisável por vetores — e sair do caminho. Sem derivador de LLM, sem loop dialético, sem opinião sobre como deve fazer chunking ou reranking. Apenas matemática vetorial.

Obtenha-o

pip install hermes-memory-pgvector

Código-fonte, migração e configuração no GitHub:

👉 github.com/andreab67/hermes-memory-pgvector