Retain, recall, reflect : trois appels autour d'une banque de mémoire
Hindsight est un serveur de mémoire pour agents IA, publié sous licence MIT par Vectorize. Un agent y dépose ce qu'il apprend (retain), le retrouve (recall) ou fait analyser ses souvenirs (reflect), dans une banque isolée par utilisateur, par agent ou par projet. Au dépôt, un LLM tire du texte les faits, les entités, leurs relations et les dates : le rappel interroge cette structure, pas l'historique brut de la conversation. On l'interroge en REST, par les clients Python, Node.js et Go, ou par MCP.
Quatre recherches fusionnées, des croyances révisées en arrière-plan
- Rappel sur quatre index à la fois : vecteurs, mots-clés BM25, graphe d'entités et filtre de dates, fusionnés puis reclassés par un cross-encoder. « Qu'a fait Alice au printemps dernier ? » devient une plage de mars à mai.
- Observations consolidées : en tâche de fond, les faits proches se regroupent en observations dédoublonnées, avec leurs citations exactes. Un fait nouveau renforce, affaiblit ou complète une observation sans l'écraser.
- Modèles mentaux : une question posée une fois (« quelles sont les préférences de cet utilisateur ? ») reçoit une réponse réécrite à mesure que la banque s'enrichit, et lue en base sans appel au LLM.
- Mémoire branchée sur le client LLM :
wrap_openai()ouwrap_anthropic()enveloppe le client existant, qui rappelle les souvenirs avant chaque appel et enregistre l'échange après. - Plus de 25 fournisseurs de LLM, dont Ollama et LM Studio en local.
Mémoire par utilisateur, par dépôt git ou dans Hermes Agent
- Personnaliser un chatbot : les métadonnées posées au
retainisolent les souvenirs de chaque utilisateur. - Donner aux agents de code une banque par dépôt, que
hindsight-coding-agentsconstruit depuis l'historique git et les sessions passées. - Ajouter une mémoire longue à Hermes Agent, dont le catalogue de plugins propose Hindsight, ou aux agents pilotés depuis Paperclip.
Un LLM requis à chaque écriture, aucune authentification d'office
Chaque retain appelle un LLM. L'extraction des faits et reflect en dépendent. Sans LLM (fournisseur none), le dépôt se réduit à des fragments de texte, reflect renvoie une erreur 400 et les observations disparaissent. Aucune image Docker n'embarque de LLM.
PostgreSQL 14 ou plus avec une extension vectorielle, et une image de 9 Go. Le Postgres embarqué lancé par défaut (pg0) n'est pas recommandé en production. L'image Docker complète pèse environ 9 Go en AMD64 (3,7 Go en ARM64) car elle contient les modèles d'embedding et de reranking, et l'API réclame alors 1,5 Go de RAM au minimum. L'image slim pèse environ 500 Mo si ces deux tâches passent par un service externe.
Aucune authentification par défaut. Exiger une clé d'API sur chaque requête demande d'activer l'extension ApiKeyTenantExtension. Le wrapper LLM, lui, écrit dans Hindsight Cloud, le service hébergé de Vectorize, tant que hindsight_api_url ne désigne pas un autre serveur.
SSO et stockage Memlake réservés à l'offre Enterprise. SSO, MFA imposée, réseau privé et Memlake, qui range les souvenirs dans un stockage objet, n'existent que dans Hindsight Enterprise. Vectorize juge PostgreSQL suffisant jusqu'à 50 000 souvenirs par banque environ.
Une cible déclarée : les agents qui apprennent de leurs tâches. Le README vise les agents chargés de tâches ouvertes, qui changent de comportement selon les retours, et juge Hindsight peut-être surdimensionné pour un simple workflow n8n.
Des scores LongMemEval reproduits hors de Vectorize. L'éditeur revendique l'état de l'art sur ce benchmark. Selon le README, ses scores ont été reproduits par le Sanghani Center de Virginia Tech et par le Washington Post ; ceux des concurrents restent déclarés par leurs éditeurs.
Version 1.0 depuis le 13 octobre 2026. La 1.1.0 a suivi le 21 octobre, et dix versions sont parues entre le 29 juillet et cette date.
