IT23 maggio 2026

Memoria condivisa per flotte di agenti: hermes-memory-pgvector

Di Andrea Borghi
Memoria condivisa per flotte di agenti: hermes-memory-pgvector

Memoria condivisa per flotte di agenti: hermes-memory-pgvector

Quando esegui più di un agente AI — un minion per il marketing, un minion per il trading, un minion per la risposta agli incidenti — ciascuno ha bisogno di memoria. Lo strumento di memoria integrato offre a ogni agente la propria. Va bene, finché non vuoi che la condividano, oppure finché non vuoi richiamare ciò che l'agente ha imparato sei settimane fa senza pagare un round-trip a un LLM solo per recuperarlo.

hermes-memory-pgvector è un piccolo plugin Postgres + pgvector che replica le scritture della memoria dell'agente in un archivio condiviso, incorporato e interrogabile. Pubblicato su PyPI alla v0.4.0.

Novità nella v0.4.0

L'ultima release mantiene la regola "nessun LLM nel percorso critico" e aggiunge quattro funzionalità a livello di storage:

  • Governance dell'identità. Le chiavi di sessione dei messaggi diretti confluiscono in un unico bucket sicuro per la privacy — niente proliferazione di temi per contatto, niente PII — il traffico di benchmark viene isolato e un allow-list opzionale indirizza i nomi dei temi digitati male verso un default sicuro invece di creare silenziosamente un nuovo tema.
  • Attribuzione e delega dell'agente. Un nuovo registro e archi di provenienza registrano quale agente ha delegato cosa a chi, interrogabili tramite una vista del database. Pura provenienza chi/cosa/quando — mai un archivio di fatti.
  • Backfill degli embedding. Le righe scritte solo in testo durante un'interruzione dell'endpoint di embedding non restano più bloccate: un comando idempotente le re-embeddings, così tornano a essere ricercabili.
  • TTL delle conversazioni e controlli sui costi. Un prune eseguito dall'operatore elimina i vecchi turni di chat (le memorie durature non vengono mai toccate) e una policy di embedding aumenta o riduce il costo degli embedding.

Tutto viene fornito dietro una CLI di manutenzione (hermes-pgvector), i cui comandi distruttivi hanno come impostazione predefinita il dry-run. La v0.4.0 è un aggiornamento plug-in dalla v0.3.x — applica una sola migrazione additiva e i nuovi hook si attivano; saltala e tutto il resto continua a funzionare invariato.

Cosa fa davvero

In una riga: "un livello di storage che offre al modello di memoria integrato un backing duraturo, multi-tenant e ricercabile semanticamente, senza alcun LLM nel percorso critico."

Due tabelle, entrambe con indici vettoriali HNSW. memory_entries replica le scritture nei file MEMORY.md/USER.md dell'agente. conversations memorizza i turni di chat sostanziali (≥40 caratteri, con il boilerplate filtrato). Gli embedding sono a 768 dimensioni, calcolati da un endpoint esterno — Ollama, compatibile con OpenAI, a tua scelta. L'agente non resta mai in attesa: le scritture tornano in microsecondi e il worker degli embedding gestisce il resto su una coda in background.

Temi per agente, per impostazione predefinita

Ogni richiesta porta un header X-Hermes-Session-Key che limita i dati per agent_identity. Gli appunti del marketing non contaminano il recall del trading. Quando vuoi davvero una ricerca cross-theme, passa esplicitamente scope='all'. Il default è quello sicuro.

Perché standalone, non un fork

hermes-agent ha chiuso, per policy, la sua lista di provider di memoria integrati, quindi questo vive come scansione separata della directory /plugins invece che come fork upstream. Inseriscilo accanto all'agente, imposta alcune chiavi di configurazione, riavvia. Il rollback è simmetrico: disabilita il provider, opzionalmente elimina le tabelle. Nessuno stato a lungo termine da migrare, nessuna patch del kernel da mantenere.

Cosa non è

Non è un sostituto di Honcho. Non è un grafo della conoscenza. Non è un framework RAG. È intenzionalmente un livello sottile che fa una sola cosa — trasformare lo strumento di memoria integrato in un archivio condiviso, duraturo e ricercabile tramite vettori — e poi si fa da parte. Nessun derivatore LLM, nessun ciclo dialettico, nessuna opinione su come dovresti fare chunking o reranking. Solo matematica vettoriale.

Provalo

pip install hermes-memory-pgvector

Sorgente, migrazione e configurazione su GitHub:

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