Mémoire · Développement
Julien Memory
Une mémoire pour mes assistants IA, où rien ne devient officiel sans que je le valide.
En résumé
- Problème
- Les assistants IA oublient tout d'une conversation à l'autre. Et quand on leur donne une mémoire, ils mélangent le personnel, le professionnel et ce qui est partagé avec une équipe.
- Solution
- Une mémoire organisée en espaces séparés, où une information dépassée est remplacée plutôt qu'empilée, et où les assistants ne peuvent que proposer. C'est moi qui valide.
- Ce que ça apporte
- Le contexte survit d'une conversation à l'autre, les espaces ne se mélangent pas, et rien ne devient officiel sans mon accord.
- Où il en est
- Fonctionne et me sert tous les jours. 82 tests passent. La mémoire se remplit petit à petit.
- Mon rôle
- J'ai défini ce que devait faire la mémoire et ses règles, piloté sa construction avec des assistants de code, puis vérifié le résultat par les tests.
Pourquoi ce projet
Les assistants IA oublient tout d'une conversation à l'autre. Tout le monde connaît le problème.
Celui dont on parle moins arrive juste après : une fois qu'on donne une mémoire à un assistant, que lui laisse-t-on y écrire ? C'est là que les choses se compliquent.
Ce qui ne va pas avec une mémoire classique
Dès qu'elle dépasse quelques dizaines d'informations, trois problèmes apparaissent.
Tout se mélange. Une information personnelle, une décision professionnelle et une donnée d'équipe finissent au même endroit. Le jour où il faut partager quelque chose, impossible de trier proprement.
Rien n'est remplacé. Une décision prise en janvier et son annulation en mars ont le même poids. La mémoire devient moins fiable que pas de mémoire du tout.
Elle se remplit de suppositions. Si l'assistant choisit seul ce qu'il retient, il finit par mémoriser ses propres hypothèses et par les traiter comme des faits.
Ce que j'ai construit
Une mémoire organisée autour de quatre règles :
- chaque note a une forme précise, avec sa source, son statut et ses dates. Rendre la source obligatoire suffit à empêcher qu'une supposition entre en mémoire ;
- les espaces sont séparés : personnel, équipe et système. Passer de l'un à l'autre demande une action volontaire ;
- une note peut en remplacer une autre. L'ancienne reste consultable, mais ne fait plus foi ;
- les assistants proposent, je valide. Rien ne devient officiel sans mon accord.
Ce que ça change
Quand je pose une question aujourd'hui, l'assistant retrouve le contexte d'une décision d'il y a trois semaines, avec son statut : confirmée, simplement proposée, ou remplacée depuis.
Et une information jamais validée reste une proposition. Elle ne devient pas un fait parce qu'elle a été répétée plusieurs fois.
Voir les détails techniques
Les notes
Chaque note est un fichier Markdown avec un en-tête structuré, vérifié au chargement. Une note mal remplie n'est pas ignorée en silence : le chargement s'arrête et indique le fichier et le champ en cause.
La recherche
Elle se fait sur les mots, avec plus de poids pour le titre et les étiquettes que pour le texte, et une note confirmée remonte avant une proposition. C'est simple et ça fonctionne en local. En contrepartie, une question posée avec d'autres mots que ceux de la note peut ne rien trouver.
Le contrôle qualité
Un module repère les contradictions possibles entre deux notes, les notes remplacées sans remplaçant et les boucles de remplacement. Il signale, il ne tranche pas : laisser le système décider seul reviendrait à lui rendre le droit de dire ce qui est vrai.
Les tests
82 tests, sur 10 fichiers, vérifient notamment qu'un contenu privé ne peut jamais se retrouver dans un export destiné à un espace partagé. Ils tournent sur des dossiers temporaires, jamais sur la vraie mémoire.
Chiffres
82
tests automatisés
sur 10 fichiers : schéma, stockage, sécurité, export, fusion, migration
Source · suite de tests relancée le 30 septembre 2026
3
espaces séparés
un espace système, un espace privé et un espace équipe, sans passage automatique de l'un à l'autre
Source · structure du dépôt et règles d'export
7
modules
schéma, stockage, sécurité, export, fusion, migration et contrôle qualité
Source · arborescence du code source
Ce que j'ai fait
Architecture
J'ai défini la forme des notes : type, source, statut, dates de validité, liens entre notes.
Création des règles
J'ai écrit les règles de séparation entre espaces, dont l'interdiction de sortir un contenu privé vers un espace partagé.
Développement assisté
Le serveur, le stockage, la recherche, la fusion et la migration ont été écrits en TypeScript avec Claude Code et Codex.
Contrôle qualité
J'ai fait ajouter un contrôle qui repère les contradictions possibles et les remplacements incohérents entre notes.
Tests
82 tests vérifient le schéma, le stockage, la sécurité, l'export, la fusion et la migration.
Documentation
J'ai documenté la forme des notes, les règles d'usage et la façon de valider une information.
Preuves
82 tests
vérifiéIls vérifient le schéma, le stockage, la sécurité, l'export, la fusion de notes et la migration. Les tests de sécurité s'assurent qu'un contenu privé ne peut pas passer dans un autre espace.
- Source
- suite de tests du système
- Vérifiable par
- Suite relancée le 30 septembre 2026 : 82 tests passants sur 10 fichiers.
Des espaces vraiment séparés
vérifiéChaque espace est un dossier à part. Faire passer une information d'un espace à l'autre demande une action volontaire, ça n'arrive jamais par accident pendant une conversation.
- Source
- configuration des espaces et règles d'export
- Vérifiable par
- Lecture de la configuration, puis vérification par les tests qu'aucun contenu privé ne sort de son espace.
Un contrôle qualité
vérifiéUn module repère les contradictions possibles entre notes, les notes remplacées sans remplaçant et les boucles de remplacement.
- Source
- module de contrôle qualité du système
- Vérifiable par
- Lecture du module et exécution de ses tests.
C'est moi qui valide
vérifiéAucun assistant ne peut écrire directement dans la mémoire officielle. Il dépose une proposition, qui attend que je la valide.
- Source
- règles d'usage du système et outils exposés aux agents
- Vérifiable par
- Lecture des règles, et vérification que l'outil de validation n'est pas accessible aux assistants.
Limites
- La recherche se fait sur les mots, pas sur le sens. Une question posée avec d'autres mots que ceux de la note peut ne rien trouver.
- Le contrôle des contradictions signale, il ne tranche pas. C'est à moi de décider.
- La mémoire contient encore peu de choses. Elle prend de la valeur à mesure qu'elle se remplit.
- Tout fonctionne en local, sur une seule machine.
- Si je ne relis pas les propositions, la mémoire officielle reste vide. Tout repose sur cette discipline.
Ce que j'en retiens
- Le plus utile n'est pas d'écrire, c'est de remplacer. Une mémoire qui empile tout finit par rendre une vieille information aussi crédible qu'une nouvelle.
- Interdire aux assistants d'écrire directement dans la mémoire officielle m'a coûté un peu de confort, mais a réglé le vrai problème : elle ne se remplit plus de suppositions.
- Rendre un champ obligatoire, comme la source, oblige à réfléchir à ce qu'on écrit.
Ce que ça peut apporter à une entreprise
- Une équipe peut utiliser le même principe de remplacement pour qu'une décision annulée n'apparaisse plus comme valable, sans effacer l'historique.
- Une entreprise qui confie des données sensibles à des assistants IA peut reprendre la séparation des espaces, pour qu'un dossier client ne se retrouve jamais dans un autre.
- Un service conformité peut distinguer clairement ce qu'un système a proposé de ce qu'une personne a validé.
Technologies
- TypeScript
- Node.js
- Model Context Protocol
- Zod
- Vitest
- Markdown