IT23 mai 2026

Mémoire partagée pour des flottes d’agents : hermes-memory-pgvector

Par Andrea Borghi
Mémoire partagée pour des flottes d’agents : hermes-memory-pgvector

Mémoire partagée pour des flottes d’agents : hermes-memory-pgvector

Lorsque vous exécutez plus d’un agent IA — un minion marketing, un minion de trading, un minion de réponse aux incidents — chacun a besoin d’une mémoire. L’outil de mémoire intégré donne à chaque agent la sienne. C’est très bien jusqu’au moment où vous souhaitez qu’ils la partagent, ou jusqu’au moment où vous voulez retrouver ce que l’agent a appris il y a six semaines sans payer un aller-retour LLM juste pour le rechercher.

hermes-memory-pgvector est un petit plugin Postgres + pgvector qui réplique les écritures de mémoire des agents dans un magasin partagé, intégré et interrogeable. Publié sur PyPI en v0.4.0.

Nouveau dans v0.4.0

La dernière version conserve la règle « pas de LLM dans le chemin critique » et ajoute quatre capacités au niveau du stockage :

  • Gouvernance des identités. Les clés de session de messages directs se regroupent dans un seul compartiment respectueux de la vie privée — pas d’étalement de thèmes par contact, pas de données personnelles — le trafic de benchmark est mis en quarantaine, et une liste d’autorisation facultative redirige les noms de thème mal orthographiés vers une valeur par défaut sûre au lieu de créer silencieusement un nouveau thème.
  • Attribution et délégation des agents. Un nouveau registre et des arêtes de provenance consignent quel agent a délégué quoi à qui, interrogeables via une vue de base de données. Une provenance pure du qui/quand — jamais un magasin de faits.
  • Remplissage différé des embeddings. Les lignes écrites en texte seul pendant une panne du point de terminaison d’embedding ne sont plus bloquées : une commande idempotente les ré-encode pour qu’elles redeviennent recherchables.
  • TTL des conversations et contrôles des coûts. Une purge lancée par l’opérateur tronque les anciens tours de chat (les mémoires durables ne sont jamais touchées), et une politique d’embedding ajuste les coûts d’embedding à la hausse ou à la baisse.

L’ensemble est livré derrière une CLI de maintenance (hermes-pgvector), dont les commandes destructrices sont par défaut en mode simulation. v0.4.0 constitue une mise à niveau directe depuis v0.3.x — appliquez une migration additive et les nouveaux hooks s’activent ; ignorez-la et tout le reste fonctionne inchangé.

Ce que cela fait réellement

En une ligne : « une couche de stockage qui offre au modèle de mémoire intégré un support durable, multi-tenant et interrogeable sémantiquement, sans LLM dans le chemin critique. »

Deux tables, toutes deux avec des index vectoriels HNSW. memory_entries réplique les écritures vers les fichiers MEMORY.md/USER.md de l’agent. conversations stocke les tours de chat substantiels (≥40 caractères, contenu générique filtré). Les embeddings sont de 768 dimensions, calculés par un point de terminaison externe — Ollama, compatible OpenAI, au choix. L’agent n’attend jamais dessus : les écritures reviennent en microsecondes et le worker d’embedding prend le relais dans une file d’attente en arrière-plan.

Thèmes par agent par défaut

Chaque requête transporte un en-tête X-Hermes-Session-Key qui délimite les données par agent_identity. Les notes du marketing ne polluent pas la mémoire du trading. Lorsque vous souhaitez réellement une recherche inter-thèmes, passez explicitement scope='all'. Le réglage par défaut est le plus sûr.

Pourquoi un projet autonome, et non un fork

hermes-agent a fermé sa liste de fournisseurs de mémoire intégrés par politique, donc cela vit comme une analyse séparée du répertoire /plugins au lieu d’un fork en amont. Déposez-le à côté de l’agent, définissez quelques clés de configuration, redémarrez. Le retour arrière est symétrique : désactivez le fournisseur, puis éventuellement supprimez les tables. Aucune donnée d’état de longue durée à migrer, aucun patch du noyau à maintenir.

Ce que ce n’est pas

Pas un remplacement de Honcho. Pas un graphe de connaissances. Pas un framework RAG. Il s’agit intentionnellement d’une couche mince qui fait une seule chose — transformer l’outil de mémoire intégré en un magasin partagé, durable et interrogeable vectoriellement — puis s’efface. Pas de dérivateur LLM, pas de boucle dialectique, pas d’avis sur la manière de découper ou de reranker vos contenus. Juste des mathématiques vectorielles.

Obtenez-le

pip install hermes-memory-pgvector

Source, migration et configuration sur GitHub :

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