Hipocampus - un système de mémoire persistante pour les agents IA (zéro infrastructure)
(github.com/kevin-hs-sohn)Les agents IA comme Claude Code ou OpenClaw oublient tous leurs souvenirs dès qu’une session se termine. C’est vraiment frustrant de les voir, à la session suivante, repartir de zéro pour réétudier quelque chose comme une stratégie de migration de base de données pourtant décidée ensemble il y a deux semaines.
Bien sûr, il existe diverses solutions pour cela, mais leurs limites sont claires :
- Tenir avec un seul
MEMORY.md: au bout d’une semaine, il déborde et on doit se demander quoi supprimer. Et ce qui est supprimé est perdu pour toujours - Recherche RAG : on retrouve ce qu’on cherche, mais l’agent ne peut pas déterminer au départ s’il « savait déjà ça »
- Tout injecter dans un contexte de 1M : ça fonctionne, mais l’attention se dilue et le coût en tokens explose
Hipocampus résout ce problème avec une mémoire à 3 niveaux (hot/warm/cold) associée à un arbre de compaction à 5 niveaux. Tout l’historique accumulé des conversations et du travail est compressé dans un index ROOT.md d’environ 100 lignes, ce qui permet à l’agent de comprendre immédiatement « ce qu’il sait et ce qu’il ne sait pas » en n’ajoutant qu’environ 3K tokens à chaque appel.
- Installation terminée avec une seule ligne :
npx hipocampus init - Zéro dépendance externe + aucune infrastructure, comme un serveur, n’est nécessaire
- Utilisable immédiatement avec Claude Code et OpenClaw
- Recherche hybride BM25 + vecteur basée sur qmd (optionnel)
- Les écritures mémoire sont traitées par un sous-agent, ce qui garde le contexte de la session principale propre
- Licence MIT
Je l’ai créé parce que je trouvais dommage de perdre du temps et des tokens à voir l’agent reposer sans cesse les mêmes questions et refaire les recherches depuis le début ; et comme cela fonctionne encore mieux que prévu, je l’ai publié en open source.
1 commentaires
C’est bien. De mon côté, je conserve l’historique de tout mon travail par date pour ensuite faire un
grepdessus, donc je vais essayer ça.