Le module NGT Memory montre comment doter un LLM d'une mémoire persistante sans base vectorielle
NGT Memory est un module de mémoire open source pour LLM qui conserve des faits sur l'utilisateur d'une session à l'autre et les injecte dans les réponses du modèle. Il combine une recherche par cosinus, un graphe associatif, un profil structuré et un filtre de bruit. Dans les tests, le système a doublé la précision factuelle et remporté 17 des 18 scénarios A/B, même s'il vit pour l'instant dans la mémoire d'un seul processus.
Traité par IA depuis Habr AI ; édité par Hamidun News
Le projet open source NGT Memory apporte une réponse plus pratique à un vieux problème des LLM : comment ne pas oublier des faits importants sur l'utilisateur d'une session à l'autre. Plutôt que d'étendre indéfiniment le contexte, le module enregistre les faits, construit un profil et injecte la mémoire dans la réponse du modèle.
Comment fonctionne la mémoire
L'auteur part d'une idée simple : conserver tout l'historique du dialogue dans la fenêtre de contexte n'est pratique que jusqu'à la première limite de tokens. Viennent ensuite la troncature des anciens messages, le résumé qui perd des détails ou le branchement d'une base vectorielle externe avec une infrastructure superflue. NGT Memory emprunte une autre voie : la mémoire vit directement dans le processus Python, se lance via une API REST et Docker, et n'exige pas de base de données distincte au départ. Le principe est de récupérer non pas toute la conversation, mais seulement les faits dont le modèle a réellement besoin pour la requête en cours.
- La similarité cosinus recherche les faits proches par le sens
- Un graphe associatif relie des concepts comme « végétarien » et « restaurants »
- La consolidation hiérarchique fait passer les faits souvent utilisés en mémoire à long terme
- Un profil structuré place l'âge, la ville, le régime et les allergies dans des emplacements distincts
Par-dessus la mémoire textuelle, le module construit aussi un profil de l'utilisateur. Si la personne écrit de façon décousue, le système peut recoller des fragments comme « je » + « 30 » + « ans » en un fait cohérent et le stocker avec une confiance réduite. Si un conflit survient plus tard, par exemple un âge qui diminue soudainement, la mise à jour est bloquée jusqu'à une correction explicite du type « je me suis trompé ». La mémoire se comporte ainsi non comme un journal passif, mais comme une couche de validation qui tente de distinguer les vraies données de l'utilisateur du bruit aléatoire.
Résultats des tests
Ce que l'article a de plus intéressant, ce n'est pas l'architecture elle-même, mais sa vérification sur des scénarios pratiques. Dans une expérience avec un assistant médical, un assistant personnel et un support technique, le mode avec mémoire a fait passer la précision factuelle de 1.22 à 2.44 points sur 3. Dans un test A/B plus réaliste, la mémoire a remporté 17 évaluations sur 18, et la note moyenne des réponses a été de 0.889 contre 0.056 sans mémoire. Séparément, l'auteur a effectué 54 vérifications sur des cas limites et obtenu 51 succès, soit environ 94 %.
« La réponse à des déchets est aussi un déchet. »
Cette formule éclaire une autre couche importante du système : le filtre de qualité. Les messages courts et dénués de sens, les nombres seuls, les caractères spéciaux et même les réponses de l'assistant à ces déchets n'entrent pas en mémoire. Sinon, les faits utiles seraient vite noyés dans le bruit. Ce filtre compte surtout pour les chatbots et les systèmes d'agents, où l'utilisateur écrit souvent par bribes et où le modèle a tendance à produire des phrases polies mais vides, qui encombrent les résultats de la recherche suivante en mémoire.
Principales limites
Malgré de bons résultats, NGT Memory ne peut pas encore être présenté comme une mémoire universelle prête pour la production sans réserves. La version actuelle stocke tout dans la RAM d'un seul processus, de sorte que l'état est perdu au redémarrage du conteneur. Avec plusieurs workers, un autre problème apparaît : chacun détient son propre stockage de sessions, et une requête d'enregistrement peut atterrir dans un processus et la requête de récupération dans un autre. Dans les tests, la mémoire locale est rapide, environ 2–3 ms sur CPU, mais l'essentiel de la latence vient toujours des appels externes d'embeddings et de chat, qui prennent des centaines de millisecondes.
L'auteur décrit aussi des bugs plus terre à terre. Un system prompt trop mou faisait que le modèle voyait la mémoire mais l'ignorait comme un simple indice facultatif. Après durcissement de la consigne, les réponses sont devenues plus stables. Un autre cas fâcheux est venu d'une regex d'extraction du nom : un motif du type I'm + name s'est mis à prendre pour un nom des mots comme allergic. Ces détails montrent que la mémoire des LLM ne dépend pas seulement du retrieval, mais d'une foule de petites règles, sans lesquelles une démo s'effondre vite dans un vrai dialogue.
Ce que cela signifie
NGT Memory illustre un changement utile dans la façon de concevoir les applications LLM : il ne suffit pas que la mémoire soit « intelligente », elle doit être vérifiable, peu coûteuse et résistante aux déchets. Pour les développeurs de bots et d'agents IA, c'est un bon signal : la couche de contexte à long terme peut déjà être construite comme un module d'ingénierie à part entière, et non comme un assemblage de rustines disparates.
- 1 nov. 2026Le juge d'EditAgent (Adobe) retient une retouche valable dans 81,3% des cas, contre 74,8% pour EditScore
- 1 nov. 2026Test de 16 modèles sur 7 moteurs de recherche : Exa obtient en moyenne 10,5 points sur 14, SearXNG environ 3
- 1 nov. 2026La couche de protection MoneyGate n'a laissé passer aucune des 42 demandes frauduleuses adressées à des IA locales
- 1 nov. 2026Le tokenizer BERT de Hugging Face accéléré d'un facteur 50 en évitant le travail inutile sur l'ASCII
Questions clés sur cet article
Comment fonctionne la mémoire?
L'auteur part d'une idée simple : conserver tout l'historique du dialogue dans la fenêtre de contexte n'est pratique que jusqu'à la première limite de tokens. Viennent ensuite la troncature des anciens messages, le résumé qui perd des détails ou le branchement d'une base vectorielle externe avec une infrastructure superflue. NGT Memory emprunte une autre voie : la mémoire vit directement dans le processus Python, se lance via une API REST et Docker, et n'exige pas de base de données distincte au départ. Le principe est de récupérer non pas toute la conversation, mais seulem
Que sait-on sur Résultats des tests ?
Ce que l'article a de plus intéressant, ce n'est pas l'architecture elle-même, mais sa vérification sur des scénarios pratiques. Dans une expérience avec un assistant médical, un assistant personnel et un support technique, le mode avec mémoire a fait passer la précision factuelle de 1.22 à 2.44 points sur 3. Dans un test A/B plus réaliste, la mémoire a remporté 17 évaluations sur 18, et la note moyenne des réponses a été de 0.889 contre 0.056 sans mémoire. Séparément, l'auteur a effectué 54 vérifications sur des cas limites et obtenu 51 succès, soit environ 94 %. « La répo
Que sait-on sur Principales limites ?
Malgré de bons résultats, NGT Memory ne peut pas encore être présenté comme une mémoire universelle prête pour la production sans réserves. La version actuelle stocke tout dans la RAM d'un seul processus, de sorte que l'état est perdu au redémarrage du conteneur. Avec plusieurs workers, un autre problème apparaît : chacun détient son propre stockage de sessions, et une requête d'enregistrement peut atterrir dans un processus et la requête de récupération dans un autre. Dans les tests, la mémoire locale est rapide, environ 2–3 ms sur CPU, mais l'essentiel de la latence vient
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.