MemPalace stocke conversations en verbatim et les organise en hiérarchie inspirée des loci, offrant rappel élevé et traçabilité. Je décris l’architecture palatiale, pourquoi stocker le verbatim plutôt que résumer, comment intégrer MemPalace dans des agents et en quoi il dépasse RAG.
Qu’est-ce que MemPalace
MemPalace conserve chaque message comme une unité de mémoire persistante et accessible, écrite en texte intégral pour garder le contexte complet. Le système vise un rappel élevé, une traçabilité totale et une faible latence en stockant d’abord localement.
- Stockage verbatim : Chaque message et document est enregistré tel quel, sans résumé automatique, afin de préserver la formulation originale, les nuances et les métadonnées temporelles.
- Architecture palatiale : L’organisation s’inspire de la méthode des loci avec des niveaux symboliques : wings (ailes), halls (salles d’entrée), rooms (pièces), drawers (tiroirs) et closets (placards). Cette hiérarchie facilite un rangement humainement mémorisable.
- Structure symbolique + recherche vectorielle : Les étiquettes hiérarchiques fournissent un guidage symbolique tandis que la recherche vectorielle (embeddings = vecteurs numériques représentant le sens) permet de retrouver les items par similarité sémantique.
- Objectifs : Maximiser le recall, conserver le contexte complet pour l’audit et garantir la traçabilité de chaque élément.
- Local-first : Les données sont hébergées localement par défaut, c’est-à-dire sur les machines ou le cloud contrôlé par l’organisation, ce qui réduit l’exposition des données sensibles et diminue la latence réseau.
Exemple métier concret : Suivi projet entre produit et support. Conversation liée à un incident critique est stockée en wing « Support », hall « Incidents », room « Bugs Critiques », drawer « Ticket-456 ». Cette arborescence permet de retrouver rapidement le fil complet du ticket et les décisions prises.
| Performance rapportée | La solution obtient un taux de rappel de 96,6% sur LongMemEval (benchmark de mémoire longue). |
| Définition | Recall@5 signifie la proportion de requêtes pour lesquelles la bonne mémoire figure parmi les 5 premiers résultats retournés. |
Avantage immédiat pour l’équipe : recherche historique efficace, audits traçables et continuité opérationnelle quand une personne change de rôle ou part de l’entreprise.
Pourquoi stocker le verbatim plutôt que résumer
Le verbatim garde les détails, la chronologie et la traçabilité, contrairement aux résumés qui peuvent omettre faits ou nuances.
Stocker le texte intégral préserve les éléments micro-contextuels (phrases exactes, tournures, horodatages) indispensables pour des réponses fidèles et pour vérifier l’origine d’une information. Les modèles de langage (LLM) génèrent des résumés en abstractions probabilistes : ils condense(nt) l’information en perdant parfois des détails, peuvent introduire des hallucinations (assertions non présentes dans la source) et fragmenter le contexte utile pour des requêtes fines.
Les effets concrets sont mesurables : réduction du recall (capacité à retrouver l’information pertinente) et baisse de la fidélité des réponses. La traçabilité est cruciale pour la conformité et l’audit : les obligations légales requièrent souvent le texte source pour prouver ce qui a été communiqué ou décidé.
L’approche Retrieval-Augmented Generation (RAG, Lewis et al. 2020) combine passages indexés et embeddings pour améliorer les réponses. Cependant, la fragmentation des embeddings (découper en petits passages) peut diluer le micro-contexte et rendre la synthèse moins fidèle.
Exemple chiffré hypothétique pour comparer recherche sur verbatim vs résumé (les chiffres varient selon les jeux de données) : Recherche sur verbatim → recall@5 ≈ 96,6% (valeur observée pour MemPalace). Recherche sur résumés → recall@5 souvent 75–85% selon la qualité de résumé et la granularité des passages.
Points clés :
- Préservation : Le verbatim conserve toutes les nuances.
- Rappel : Les embeddings sur verbatim améliorent le recall pour requêtes précises.
- Audit : Le texte source permet des preuves immuables en cas de contrôle.
# Pseudo-Python d'ingestion verbatim et indexation
# Ingestion du message complet
message = "2026-05-01 10:12:34 - Client: Bonjour, problème X..."
# Indexation vectorielle (embedding)
vector = Embed(message) # Embedding du verbatim
IndexVector(vector, id="msg123")
# Enregistrement symbolique pour traçabilité
SymbolicStore(id="msg123", wing="North", room="Support", hall="Ticketing", drawer="2026-05")
| Verbatim | Résumé | |
| Fidélité | Très élevée | Moyenne à élevée |
| Traçabilité | Excellente | Limitée |
| Taille stockage | Plus grande | Réduite |
| Coût CPU | Indexation/Recherche plus coûteuse | Moins coûteux |
| Rappel | Élevé (ex. recall@5 ≈ 96,6%) | Plus faible (variable, ≈75–85%) |
Comment fonctionne l’architecture MemPalace
MemPalace divise l’espace mémoire en wings, rooms, halls et drawers pour croiser segmentation par projet, sujet, type de mémoire et stockage verbatim.
Wings segmentent par projet ou domaine (Exemples: Personnel vs Équipe, Client A vs Client B).
Rooms organisent par sujet à l’intérieur d’un wing (Exemples: Meetings, Emails, Specs).
Halls classifient des types transversaux de mémoire (Explication: Facts = faits vérifiables; Events = événements datés; Preferences = préférences utilisateur; Advice = conseils).
Drawers contiennent des chunks de texte verbatim stockés tels quels pour préserver le contexte et la citation fidèle.
Closets servent d’index secondaire ou de métadonnées (Explication: horodatage, auteur, source, empreinte pour recherche rapide).
Une requête combine filtrage symbolique et recherche vectorielle pour être précise et sémantique.
- Étape 1: Filtre symbolique restreint le scope (Par exemple wing=Produit, room=Specs, hall=facts).
- Étape 2: Embeddings (vecteurs numériques qui représentent le sens du texte; exemple courant: 1536 dimensions pour certains modèles d’OpenAI) sont calculés pour les passages des drawers restreints.
- Étape 3: Recherche vectorielle retrouve les passages proches sémantiquement, puis ré-assemblage du verbatim pour injection de contexte dans le LLM.
Gestion des versions et traçabilité: Horodater chaque entrée, stocker l’auteur et la source, conserver un identifiant immuable (UUID) et journaliser les updates.
Cette traçabilité facilite les audits et le debug des agents en permettant de remonter au passage original et à sa version exacte.
Bonnes pratiques d’organisation: Préférer des drawers granulaire entre 200 et 800 tokens pour favoriser pertinence et coût. Harmoniser conventions de wings/rooms (Exemple: prefixer par CLIENT_ ou TEAM_). Nettoyer périodiquement (règles: archiver >1 an sans accès, supprimer doublons).
| Niveau | Rôle | Exemples d’usage |
| Wing | Segmentation par domaine/projet | CLIENT_A, R&D, PERSONNEL |
| Room | Organisation par sujet | Meetings, Emails, Specs |
| Hall | Type transversal (fact/event/etc.) | Facts, Events, Preferences, Advice |
| Drawer | Chunk verbatim indexé | Compte-rendu de réunion, patch note |
| Closet | Métadonnées / index secondaire | Horodatage, auteur, source, UUID |
| Composant | Responsabilité |
| Filtre symbolique | Restreindre scope pour réduire coût et faux positifs |
| Embeddings | Passer du texte aux vecteurs sémantiques (p.ex. 1536 dims) |
| Vector search | Récupérer voisinages sémantiques |
| Storage drawers | Conserver verbatim et contexte utile |
| Index/Closet | Permettre recherches rapides et audits |
MemPalace vs systèmes traditionnels et intégration pratique
MemPalace offre généralement un meilleur rappel et une traçabilité supérieure en combinant le texte verbatim avec une recherche vectorielle, tandis que les pipelines RAG (Retrieval‑Augmented Generation) fragmentent souvent le contexte via résumés et seuls embeddings.
RAG : fonctionnement basique et limites.
- Indexation d’extraits : Le corpus est découpé en passages puis encodé en embeddings (représentations numériques).
- Retrieval : Les embeddings pertinents sont récupérés via recherche vectorielle (ex : FAISS).
- Génération : Le LLM reçoit les passages récupérés (souvent résumés) et génère la réponse.
- Limites : Perte de détails due aux résumés et aux découpages, difficulté d’audit parce que l’origine verbatim est souvent perdue, sensibilité à la qualité des embeddings (variations de 10–20% de performance observées selon Lewis et al., 2020 pour tâches de QA).
Intégration pratique de MemPalace dans un workflow agentic.
- Ingestion : Webhooks et parsers stockent l’objet entier (texte intégral) plus métadonnées.
- Tagging « wing/room » : Attribution symbolique (wing = domaine, room = sous-thème) pour filtrage sémantique rapide.
- Indexation : Conserver verbatim et créer embeddings pour chaque passage.
- Récupération à l’appel d’agent : Appliquer d’abord filtres symboliques (wing/room), puis vector search ; scorer les résultats et choisir un verbatim partiel selon budget de tokens.
Architecture technique (exemples de composants).
| Ingestion Service | Webhook → normalisation → stockage local chiffré |
| Stockage | Local‑first fichiers/BDD chiffrée (sauvegarde cloud chiffrée) |
| Vector Index | FAISS (open) / Pinecone (managed) pour recherche |
| API de requête | Filtrage symbolique → vector search → scoring |
| Wrapper LLM | Injection contrôlée de verbatim selon budget tokens |
Recommandations opérationnelles.
- Définir quotas tokens par requête (ex : 2k tokens utiles) et priorités de scoring.
- Mettre en place politiques de rétention et conformité RGPD (logs chiffrés, suppression programmée).
- Tester le rappel via recall@k sur jeux internes et surveiller drift des embeddings.
- Activer monitoring d’audit des verbatim injectés pour traçabilité.
Mini‑feuille de route en 5 étapes.
- Prototyper ingestion et stockage local chiffré.
- Construire index vectoriel et conserver verbatim.
- Implémenter tagging wing/room et filtres symboliques.
- Développer wrapper d’injection avec politiques de token et scoring.
- Mesurer recall@k, auditabilité et itérer.
// Pseudocode retrieval + injection
results = api.query(filters={wing:'sales'}, q='contrat client X')
scored = score(results) // combine vector score + freshness
context = select_verbatim(scored, token_budget=1500)
response = LLM.generate(prompt=context + user_question)
Prêt à tester MemPalace pour fiabiliser la mémoire long terme de vos agents ?
MemPalace mise sur le stockage verbatim et une architecture hiérarchique inspirée des loci pour améliorer rappel, contexte et traçabilité par rapport aux approches RAG classiques. En combinant filtres symboliques (wings/rooms/halls) et recherche vectorielle sur drawers verbatim, il limite la perte d’information et facilite l’audit. Pour vous, cela se traduit par des réponses plus précises, une meilleure continuité entre sessions et la possibilité d’auditer chaque décision. Si votre enjeu est la fiabilité, la conformité ou l’historisation fine, MemPalace vaut le test en production restreinte — je peux vous aider à le déployer.
FAQ
-
Qu’est-ce que MemPalace et à quoi ça sert ?
MemPalace est un système de mémoire local-first qui enregistre messages et documents en verbatim et les organise selon une hiérarchie (wings, rooms, halls, drawers). Il sert à améliorer le rappel, préserver le contexte complet et garantir la traçabilité pour les agents et les équipes. -
Pourquoi stocker le verbatim plutôt que des résumés ?
Le verbatim conserve détails, chronologie et nuances que les résumés peuvent omettre. Cela réduit la perte d’information, limite les risques d’hallucination et facilite l’audit ou la conformité lorsque vous devez prouver l’origine d’une décision. -
Comment MemPalace se combine-t-il à la recherche vectorielle ?
MemPalace applique d’abord des filtres symboliques (wing/room/hall) pour restreindre le scope, puis exécute une recherche vectorielle dans les drawers sélectionnés pour retrouver les passages sémantiquement proches. Le texte verbatim retrouvé est ensuite réassemblé pour l’injection dans le LLM. -
MemPalace remplace-t-il RAG ou les vectordb existants ?
Plutôt que remplacer, MemPalace complète les approches RAG. Il conserve le texte intégral et peut utiliser des vectordb (FAISS, Pinecone, etc.) pour la recherche. L’intérêt est d’ajouter structure symbolique et traçabilité aux capacités de recherche sémantique. -
Est-ce adapté aux contraintes de confidentialité et GDPR ?
Oui, le modèle local-first de MemPalace facilite le contrôle des données (stockage local, chiffrement, politiques de rétention). Il reste nécessaire de mettre en place des procédures de gouvernance (accès, anonymisation, suppression) pour respecter le GDPR.
A propos de l’auteur
Je suis Franck Scandolera, expert et formateur en tracking server-side, Analytics Engineering, automatisation No/Low Code (n8n) et intégration de l’IA en entreprise. Je dirige l’agence webAnalyste et l’organisme de formation Formations Analytics. J’accompagne des clients comme Logis Hôtel, Yelloh Village, BazarChic, la Fédération Française de Football et Texdecor sur leurs enjeux tracking, mémoire et automatisation. Disponible pour aider les entreprises => contactez moi.
⭐ Analytics engineer, Data Analyst et Automatisation IA indépendant ⭐
- Ref clients : Logis Hôtel, Yelloh Village, BazarChic, Fédération Football Français, Texdecor…
Mon terrain de jeu :
- Data Analyst & Analytics engineering : tracking avancé (GTM server, e-commerce, CAPI, RGPD), entrepôt de données (BigQuery, Snowflake, PostgreSQL, ClickHouse), modèles (Airflow, dbt, Dataform), dashboards décisionnels (Looker, Power BI, Metabase, SQL, Python).
- Automatisation IA des taches Data, Marketing, RH, compta etc : conception de workflows intelligents robustes (n8n, App Script, scraping) connectés aux API de vos outils et LLM (OpenAI, Mistral, Claude…).
- Engineering IA pour créer des applications et agent IA sur mesure : intégration de LLM (OpenAI, Mistral…), RAG, assistants métier, génération de documents complexes, APIs, backends Node.js/Python.






