1 / 12
🧠

2 mémoires pour des IAs
qui n'oublient plus

Live Memory + Graph Memory — Architecture mémoire pour agents IA
Christophe Lesur — Cloud Temple
Open Source
Apache 2.0
MCP Protocol

Un LLM, c'est quoi au fond ?

Pour ceux qui viennent du réseau, c'est simple

f(x) = y prompt → modèle (200 milliards de paramètres) → réponse

C'est une fonction mathématique. Rien de plus.

  • 📥  Une entrée — votre prompt + contexte
  • ⚙️  Un calcul — multiplication de matrices
  • 📤  Une sortie — la réponse générée
Comme un serveur web qui traite une requête HTTP :
c'est 100% stateless.

Aucune mémoire entre deux appels.
Zéro. Nada. 💡 Un concept familier pour les gens du réseau !

L'amnésie en action

Ce qui se passe à chaque nouvelle session

🟢 Session 1 — 14h00

L'agent a analysé votre infrastructure, compris les dépendances réseau, pris des décisions d'architecture, documenté les flux, écrit du code...

→ Productif, contextualisé, pertinent

🔴 Session 2 — Le lendemain

"Bonjour ! Comment puis-je vous aider ?"

→ Tout est perdu. Il repart de zéro.

C'est comme si votre meilleur ingénieur réseau avait un reset total chaque matin.
Et si vous avez 3 agents IA sur le même projet ? Chacun dans sa bulle. Aucune coordination.

Comment fonctionne notre mémoire ?

Le cerveau humain a résolu ce problème depuis des millions d'années

🔴 Mémoire de travail

Hippocampe

  • ⚡  Rapide, volatile
  • 📝  Notes mentales en cours
  • 🔄  Capacité limitée (~7 éléments)
  • ⏱️  Durée : minutes à heures

🟢 Mémoire long terme

Néocortex

  • 🏗️  Structurée, durable
  • 🔗  Réseau de concepts reliés
  • ♾️  Capacité quasi-illimitée
  • ⏱️  Durée : jours à années
Le sommeil consolide : il trie les souvenirs de la journée et les intègre dans la mémoire long terme.
C'est exactement ce que fait notre architecture.

Notre réponse : 2 mémoires

Inspirées directement de l'architecture cognitive humaine

🔴Live MemoryMémoire de travail
🧠Consolidation LLM"Trie et structure"
📘Memory BankDocumentation structurée
🟢Graph MemoryMémoire long terme
🔴 Live Memory🟢 Graph Memory
RôleMémoire de travail partagéeBase de connaissances permanente
DuréeSession / projetPermanent
ContenuNotes live + Bank MarkdownEntités + Relations + Embeddings
StackS3 seul (pas de BDD !)Neo4j + Qdrant + S3
AnalogieTableau blanc + cahier de projetBibliothèque avec index

📖 Réf : Tran et al., 2025 — "Multi-Agent Collaboration Mechanisms: A Survey of LLMs" (arXiv:2501.06322)

🔴 Live Memory

Le tableau blanc partagé — chaque agent écrit des notes atomiques en temps réel

🤖 Agent Cline

  • observation Build OK, 0 erreurs
  • decision REST plutôt que gRPC
  • todo Tester l'auth OAuth2

🤖 Agent Claude

  • observation Latence API > 200ms
  • question Redis ou Memcached ?
  • progress Module auth terminé

🤖 Agent QA

  • issue Fuite mémoire en charge
  • insight Pattern retry efficace
  • observation 95% couverture tests

Architecture : Append-Only sur S3

  • 📦  Pas de base de données — juste du S3
  • 🔒  Pas de conflit — 1 note = 1 fichier unique horodaté
  • 🐜  Stigmergie — communication indirecte via l'environnement
Comme les fourmis qui communiquent par les phéromones, pas par la parole. Chaque agent laisse des traces que les autres lisent.

🖥️ L'interface Live Memory en action

Dashboard + Timeline live + Memory Bank — tout le contexte d'un projet en un coup d'œil

Live Memory — Interface web Dashboard + Timeline + Bank
📊 Dashboard (agents, stats, rules)
🔴 Timeline live (notes groupées par date)
📘 Bank Viewer (Markdown consolidé)
🔄 Auto-refresh intelligent

🧠 La consolidation LLM

Du chaos à la structure — le "sommeil" de notre architecture

📝Notes brutes47 notes · 3 agents
🧠LLMRules + Notes + Bank
📘Bank mise à jourÉdition chirurgicale
🗑️Notes purgéesIntégrées → supprimées

Approche naïve

Le LLM réécrit tout le fichier à chaque consolidation.

Syndrome "photocopie de photocopie" :

Dégradation progressive de l'information à chaque passe.

Notre approche : édition chirurgicale

Le LLM produit des opérations d'édition par section Markdown.

Ce qui n'est pas touché reste identique bit-à-bit.

Zéro perte d'information. ~50% tokens en moins.

Les Rules sont le contrat immuable : elles définissent la structure de la bank. Le LLM s'y conforme systématiquement.

📐 Les Rules en action

Le contrat immuable qui structure la mémoire — défini une fois, respecté toujours

Exemple : Rules "Standard Dev"

## Structure de la Memory Bank projectbrief.md (fondation) ├── productContext.md pourquoi le projet existe ├── systemPatterns.md architecture & patterns └── techContext.md stack technique & setup └── activeContext.md focus actuel └── progress.md journal d'avancement ## Mapping notes → fichiers observation → activeContext.md decision → systemPatterns.md progress → progress.md issue → progress.md (problèmes connus) insight → systemPatterns.md

4 templates fournis

🖥️ Standard Dev

6 fichiers — projets logiciels, architecture, code

📚 Écriture de livre

6 fichiers — narratif, chapitres, style, compteur de mots

🏥 Suivi médical

7+2 fichiers — patients, traitements, fiabilité absolue

💼 Avant-vente B2B

5+N fichiers — personas dynamiques, qualification, offre

Les rules sont immuables après création. Elles garantissent que la mémoire garde toujours la même structure, quel que soit le nombre de consolidations.

🟢 Graph Memory

La bibliothèque intelligente — un graphe de connaissances, pas une boîte de chunks

📄DocumentPDF, DOCX, MD, HTML, CSV
🧠LLM + OntologieExtraction guidée
🔗Graphe Neo4jEntités + Relations typées
+
📐QdrantChunks vectoriels

Les ontologies : le vocabulaire métier qui guide l'extraction

⚖️ Legal
22 entités · 22 relations
☁️ Cloud
27 entités · 19 relations
🔧 Managed Svc
20 entités · 16 relations
💼 Presales
28 entités · 30 relations
📋 General
24 entités · 22 relations
L'ontologie dit au LLM quoi chercher dans les documents. Pas de relations génériques RELATED_TO : des types explicites comme DEFINES, APPLIES_TO, REFERENCES.

⚖️ L'ontologie en action

Exemple : ontologie "Legal" pour l'analyse de contrats

entity_types: - Party # "Cloud Temple SAS", "TechCorp" - Clause # "Article 12 - Réversibilité" - Amount # "8 500 EUR HT/mois" - Duration # "36 mois (durée initiale)" - SLA # "99.95% disponibilité" - Certification # "SecNumCloud", "HDS" - Obligation # "Garantie de disponibilité" ... (22 types au total) relation_types: - PARTY_TO # Client → Contrat - HAS_AMOUNT # Prestation → 50 000 EUR - HAS_SLA # Service → 99.95% - GUARANTEES # Cloud Temple → SecNumCloud - OBLIGATES # Clause → Client - GOVERNED_BY # Traitement → RGPD ... (22 types au total)
Le LLM reçoit l'ontologie + le document → extrait exactement les entités et relations définies. Pas de bruit, pas d'hallucination structurelle.

Résultat : le graphe de connaissances

Graph Memory — Visualisation du graphe

Interface Graph Memory — Graphe interactif avec filtrage par types d'entités et de relations

💬 Interroger le graphe en langage naturel

Le panneau ASK — question → réponse LLM avec citations des documents sources

Graph Memory — Panneau ASK question/réponse
🗣️ Question en langage naturel
📊 Réponse Markdown (tableaux, listes, code)
📄 Citations des documents sources
🔬 Mode Focus : sous-graphe pertinent

Pourquoi un graphe ?

Graph-First vs RAG vectoriel classique

RAG vectoriel classique

  • 📦  Document → chunks → embeddings
  • 🔍  Recherche par similitude cosinus
  • ❓  Chunks anonymes
  • 🎯  Approximatif (voisinage sémantique)
  • ↔️  Recherche unidirectionnelle

Comme chercher dans Google
avec juste des mots-clés

VS

Graph-First (notre approche)

  • 🔗  Document → entités + relations
  • 🗺️  Navigation dans un graphe structuré
  • 📄  Chaque entité liée à son document source
  • 🎯  Précis (relations explicites, typées)
  • 🔀  Navigation multi-hop

Comme naviguer Wikipedia :
de lien en lien, avec contexte

Graph-Guided RAG : le meilleur des deux mondes

GrapheIdentifie entités + documents
QdrantChunks DANS ces documents
LLMRéponse avec citations

Le graphe cible, le vectoriel précise. Pas de bruit.

🌉 Le pont entre les deux

De la mémoire de travail à la mémoire permanente

Agents IA (Cline, Claude, ...)
▼ live_note() — ~50ms
🔴 LIVE MEMORY
append-only sur S3
Notes temps réel
7 catégories · multi-agents
▼ bank_consolidate() — ~15s
📘 MEMORY BANK
Édition chirurgicale
Markdown structuré
conforme aux Rules
▼ graph_push() — ~30s/fichier via MCP
🟢 GRAPH MEMORY
Neo4j + Qdrant + S3
Entités + Relations
Interrogeable en langage naturel

⚡ Écrire vite

  • Notes live : ~50ms
  • Consolidation : ~15 secondes
  • → Zéro friction pour les agents

🏛️ Capitaliser durablement

  • Graph push : ~30s/fichier
  • Interrogation en langage naturel
  • → Les connaissances survivent aux projets

🏗️ Architecture technique

Vue réseau — ce que vous aimez voir

Agent Cline
Agent Claude
Agent X
▼ Streamable HTTP + Bearer Token
🔒 Caddy WAF (Coraza OWASP CRS)
Rate Limiting · TLS Let's Encrypt
← seul port :8080
Docker network interne
🔴 Live Memory MCP (:8002)
35 outils · Auth Bearer
→ S3 (Dell ECS / AWS)
→ LLMaaS (OpenAI API)
▼ MCP Streamable HTTP
🟢 Graph Memory MCP (:8002)
30 outils · Auth Bearer
→ S3 + LLMaaS
→ Qdrant (embeddings)
→ Neo4j 5 (graphe)
🔒 WAF OWASP CRS
🔑 Auth Bearer Token
📡 MCP Streamable HTTP
🐳 Docker non-root
📦 S3 source of truth

MCP (Model Context Protocol) = la norme émergente pour les outils d'IA (Anthropic, 2024).
Comme REST pour les humains, MCP pour les agents.

Des IAs qui capitalisent

Avant

  • Amnésie totale entre sessions
  • Agents isolés, sans coordination
  • Connaissances perdues
  • RAG approximatif

Après

  • Mémoire de travail partagée
  • Collaboration multi-agents
  • Graphe de connaissances permanent
  • Q&A précis avec sources

Open Source · Apache 2.0 · Prêt pour la production

Christophe Lesur — Cloud Temple