IT23 de mayo de 2026

Memoria compartida para flotas de agentes: hermes-memory-pgvector

Por Andrea Borghi
Memoria compartida para flotas de agentes: hermes-memory-pgvector

Memoria compartida para flotas de agentes: hermes-memory-pgvector

Cuando ejecutas más de un agente de IA — un minion de marketing, un minion de trading, un minion de respuesta a incidentes — cada uno necesita memoria. La herramienta de memoria integrada le da a cada agente la suya. Eso está bien hasta que quieres que la compartan, o hasta que quieres recordar lo que el agente aprendió hace seis semanas sin pagar una ida y vuelta con un LLM solo para buscarlo.

hermes-memory-pgvector es un pequeño plugin de Postgres + pgvector que refleja las escrituras de memoria del agente en un almacén compartido, incrustado y consultable. Publicado en PyPI en la versión v0.4.0.

Novedades en v0.4.0

La última versión mantiene la regla de "sin LLM en la ruta crítica" y añade cuatro capacidades en la capa de almacenamiento:

  • Gobernanza de identidad. Las claves de sesión de mensajes directos se consolidan en un único contenedor seguro para la privacidad — sin proliferación de temas por contacto, sin PII — el tráfico de benchmark se aísla en cuarentena, y una allow-list opcional dirige los nombres de tema con erratas a un valor predeterminado seguro en lugar de crear silenciosamente uno nuevo.
  • Atribución y delegación de agentes. Un nuevo registro y enlaces de procedencia registran qué agente delegó qué a quién, consultable a través de una vista de base de datos. Pura procedencia de quién/cuándo — nunca un almacén de hechos.
  • Rellenado de embeddings. Las filas escritas solo como texto durante una caída del endpoint de embeddings ya no quedan abandonadas: un comando idempotente las vuelve a incrustar para que vuelvan a ser buscables.
  • TTL de conversaciones y controles de coste. Un proceso de poda ejecutado por el operador recorta los turnos antiguos del chat (las memorias duraderas nunca se tocan), y una política de embeddings ajusta el coste de los embeddings al alza o a la baja.

Todo se distribuye detrás de una CLI de mantenimiento (hermes-pgvector) cuyos comandos destructivos tienen por defecto modo dry-run. v0.4.0 es una actualización directa desde v0.3.x — aplica una migración aditiva y se activan los nuevos hooks; si lo omites, todo lo demás funciona sin cambios.

Qué hace realmente

En una línea: "una capa de almacenamiento que proporciona al modelo de memoria integrado una base duradera, multi-tenant y con búsqueda semántica, sin LLM en la ruta crítica."

Dos tablas, ambas con índices vectoriales HNSW. memory_entries refleja las escrituras en los archivos MEMORY.md/USER.md del agente. conversations almacena turnos de chat sustantivos (≥40 chars, filtrando el texto repetitivo). Los embeddings son de 768 dimensiones, calculados por un endpoint externo — Ollama, compatible con OpenAI, el que prefieras. El agente nunca se bloquea por ello: las escrituras responden en microsegundos y el worker de embeddings se encarga del resto en una cola en segundo plano.

Temas por agente por defecto

Cada solicitud lleva una cabecera X-Hermes-Session-Key que delimita los datos por agent_identity. Las notas de marketing no contaminan la recuperación de trading. Cuando realmente quieres búsqueda entre temas, pasa scope='all' explícitamente. El valor predeterminado es el seguro.

Por qué independiente, no un fork

hermes-agent cerró su lista integrada de proveedores de memoria por política, así que esto vive como un escaneo independiente del directorio /plugins en lugar de un fork aguas arriba. Colócalo junto al agente, configura unas cuantas claves, reinicia. La reversión es simétrica: desactiva el proveedor, opcionalmente elimina las tablas. Sin estado de larga duración que migrar, sin parches del kernel que mantener.

Lo que no es

No es un sustituto de Honcho. No es un grafo de conocimiento. No es un framework de RAG. Está pensado deliberadamente como una capa fina que hace una sola cosa — convertir la herramienta de memoria integrada en un almacén compartido, duradero y con búsqueda vectorial — y apartarse. Sin derivador LLM, sin bucle dialéctico, sin opinión sobre cómo deberías fragmentar o reranquear. Solo matemáticas vectoriales.

Consíguelo

pip install hermes-memory-pgvector

Código fuente, migración y configuración en GitHub:

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