Data Engineering & Data Science — Atelier interne

La mémoire des agents LLM
Fondations & architectures

Partie 1/2 — Théorie : de la psychologie cognitive à LangGraph & DeepAgents
Durée visée : ~50 min + questions  ·  Session 2 : implémentation pratique (LangGraph, DeepAgents, notebook)
Septembre 2026

English version

Agenda

Deux sessions, un seul fil conducteur

Session 1 — Théorie (aujourd'hui)

  • Pourquoi la mémoire est un vrai problème d'ingénierie, pas un détail
  • La taxonomie de référence (CoALA) : working / long-term memory
  • Comment on récupère, score, résume, oublie — avec un peu de maths
  • MemGPT / Letta, et le "context engineering" moderne (Anthropic)
  • Comparatif des grandes familles d'approches

Session 2 — Pratique

  • Mémoire courte terme dans LangGraph (checkpointer, threads)
  • Mémoire long terme (Store, namespaces, recherche sémantique)
  • Mémoire pilotée par l'agent (langmem)
  • DeepAgents : sous-agents, filesystem virtuel, backends
  • Démo live sur notebook + exercices pour l'équipe
Motivation

Pourquoi ce sujet, et pourquoi maintenant

Objectif de cette session : vous donner un vocabulaire précis et partagé pour parler de mémoire d'agent, avant de rentrer dans le code en session 2.
Les deux outils qu'on va utiliser

LangGraph & DeepAgents, en une minute

LangGraph

Le framework d'orchestration d'agents de LangChain : on modélise un agent comme un graphe d'états (nœuds = étapes, arêtes = transitions), avec une gestion native de la persistance de cet état.

DeepAgents

Un harnais d'agent « batteries-included », construit au-dessus de LangGraph, explicitement inspiré du comportement de Claude Code : planification, sous-agents, filesystem virtuel — livrés par défaut plutôt qu'à coder soi-même.

Pourquoi ça compte pour ce talk : les deux traitent la mémoire comme citoyen de première classe — c'est pour ça qu'ils servent de fil rouge à toute la Session 1, avant même qu'on les revoie en détail en fin de session.
Le problème central

La fenêtre de contexte est finie

Tout ce qu'un LLM "sait" à un instant t tient dans un budget de tokens fixe, partagé entre :

system prompt + schémas d'outils + historique de conversation + documents récupérés  ≤  N tokens

N = la taille de fenêtre de contexte du modèle utilisé — fixe pour un modèle donné (ex. 200k tokens pour Claude), mais jamais infinie.

« Empiler tout dans le contexte » n'est pas une stratégie de mémoire gratuite : c'est un choix qui a un coût de qualité, pas seulement de latence/coût $.
Définition

Qu'est-ce que la « mémoire » d'un agent ?

La mémoire d'un agent, c'est tout mécanisme qui permet de faire persister de l'information au-delà d'un seul passage dans le contexte du modèle — et de la ramener au bon moment.
Cadre de référence

CoALA — Cognitive Architectures for Language Agents

Sumers, Yao, Narasimhan & Griffiths — arXiv:2309.02427, TMLR 2024

C'est la taxonomie que reprennent (implicitement ou explicitement) la quasi-totalité des frameworks modernes, LangGraph et DeepAgents inclus.

Court terme Working memory

Le contenu actif du cycle de décision en cours : ce qui est littéralement dans la fenêtre de contexte à l'instant t. Volatile, non persisté par elle-même.

Long terme Long-term memory

Ce qui survit au-delà d'un cycle : trois familles, empruntées à la psychologie cognitive (slide suivante).

CoALA — Long-term memory

Trois familles de mémoire long terme

Épisodique

Traces d'événements passés : « au tour 12, l'utilisateur a dit X, l'agent a fait Y ». Mémoire autobiographique.

Sémantique

Connaissances factuelles, généralisées à partir de l'expérience : « le manager de l'utilisateur s'appelle Priya ». Faits, ontologie.

Procédurale

Le comment faire : compétences, règles, comportements appris — dans les poids du modèle (implicite), ou explicite (prompt, code, playbook).

Vous verrez cette même tripartition réapparaître, sous d'autres noms, dans LangGraph (Store) et DeepAgents (filesystem + skills).
CoALA — la boucle

La boucle de décision : 4 actions, en interaction

Working memory actif, volatile Long-term memory épisodique / sémantique / procédurale Monde extérieur outils, environnement 1. Reasoning 2. Retrieval 3. Learning 4. Grounding
1
Reasoning — nouveau contenu en working memory.
2
Retrieval — long-term memory → working memory.
3
Learning — working memory → long-term memory.
4
Grounding — appels d'outils, environnement (monde extérieur).

C'est ce cycle retrieval ↔ learning autour d'une working memory limitée qui est, in fine, « le » problème d'ingénierie de la mémoire d'agent.

Retrieval

Comment on récupère de la mémoire

écriture (une fois par souvenir) Souvenir (texte) embed() vecteur lecture (à chaque requête) Requête (texte) embed() vecteur cosinus, top-k Long-term store top-k Working memory
Un peu de maths (1/3)

La similarité cosinus

La seule formule vraiment nécessaire pour comprendre la recherche dense : on mesure l'angle entre deux vecteurs, pas leur norme.

cos(u, v) = (u · v) / (‖u‖ · ‖v‖)
C'est tout ce qu'il faut retenir en maths pour 90% des systèmes de mémoire vectorielle en production.
Un peu de maths (2/3)

Le score de récupération de « Generative Agents »

Park, O'Brien, Cai, Morris, Liang & Bernstein — Stanford/Google, UIST 2023 — arXiv:2304.03442

Chaque souvenir est un événement horodaté dans un memory stream. Pour décider quoi rappeler, on combine trois signaux :

score = αr·recency + αi·importance + αv·relevance

(dans l'article, les trois α = 1 ; chaque terme est normalisé min-max dans [0,1] avant la somme, pour qu'aucun ne domine par pure question d'échelle)

Un peu de maths (3/3)

Recency : une décroissance exponentielle

recency = γΔt   (γ = 0.995, Δt en « heures » depuis le dernier accès)

Importance & relevance

Consolidation

Reflection : de l'épisodique au sémantique

C'est l'ancêtre conceptuel direct de la « consolidation mémoire » / résumé hiérarchique qu'on retrouve dans presque tous les frameworks modernes (y compris LangGraph, session 2).
Depuis les articles 2023-2025 cités ci-dessus

Graphes de connaissances temporels : une mémoire qui invalide, plutôt qu'elle n'écrase

Rasmussen et al. (Zep), A Temporal Knowledge Graph Architecture for Agent Memory, 2025 — arXiv:2501.13956

Mise en garde sur les benchmarks : les chiffres du leaderboard LoCoMo pour Mem0/Zep/autres sont auto-rapportés sous des protocoles d'évaluation différents et ne sont pas directement comparables — à traiter avec méfiance toute affirmation isolée de « SOTA » dans ce domaine.
Une architecture alternative

MemGPT : l'agent comme système d'exploitation

Packer, Fang, Patil, Lin, Wooders & Gonzalez (UC Berkeley) — arXiv:2310.08560

Main context (≈ RAM) LLM core memory (éditable) External context (≈ disque) archival memory (embeddings) recall memory (historique brut) core_memory_append / _replace archival_memory_search / _insert conversation_search

Main context (≈ RAM)

Ce qui tient dans la fenêtre du modèle : instructions système, fenêtre de messages récents, et des blocs de « core memory » éditables par le modèle lui-même.

External context (≈ disque)

Tout le reste, hors fenêtre : archival memory (mémoire archivée, faits/documents recherchés par embeddings) et recall memory (mémoire de rappel, historique brut complet et recherchable).

MemGPT — mécanique

Le modèle gère sa propre mémoire, via des outils

Comparatif

Cinq familles, un seul spectre

ApprocheComplexitéLatence/coûtFiabilitéBon pour
Contexte brut (tout empiler)NulleCroît avec l'historiqueSe dégrade (Context Rot)Prototypes très courts
RAG mémoire (embeddings)MoyenneFaible par tourBonne, mais rappel silencieusement incompletPersonnalisation multi-session
MemGPT / Letta (paging OS)ÉlevéeAppels outils supplémentairesDépend de l'auto-discipline du modèleSession longue et multi-session
LangGraph StoreFaible si déjà sur LangGraphLookup peu coûteuxÉlevée, explicite, testablePersonnalisation par utilisateur/org
DeepAgents (filesystem + sous-agents)Moyenne (harnais opinionated)+ d'appels LLM, mais contexte parent réduitForte pour tâches longues mono-sessionAgents "longue tâche" (recherche, code)
Anthropic memory tool (fichiers côté client)FaibleAppels outils supplémentaires, peu coûteuxÉlevée — vous possédez stockage & validationProgression d'agent multi-session, sans adopter un framework

Ces approches se combinent plus qu'elles ne s'excluent — DeepAgents, par exemple, s'appuie directement sur le Store de LangGraph (session 2).

Le pont vers la pratique moderne

« Context engineering » : le vocabulaire d'Anthropic

Anthropic formalise le contexte comme une ressource finie à rendement décroissant — et nomme 4 techniques qu'on retrouve, productisées, dans DeepAgents.

« Effective context engineering for AI agents » — anthropic.com/engineering

Les 4 techniques de context engineering

1. Compaction

Résumer une conversation qui approche la limite de contexte, puis repartir avec le résumé (+ les fichiers les plus récemment consultés).

2. Note-taking structuré

Un fichier de notes persistant hors de la fenêtre de contexte, pour survivre à une réinitialisation et reprendre où on en était.

3. Architectures multi-agents

Un agent « chef d'orchestre » synthétise ; des sous-agents spécialisés travaillent avec leur propre fenêtre de contexte, propre et isolée.

4. Retrieval juste-à-temps

Garder des références légères (chemins, identifiants) plutôt que le contenu complet, et ne le charger qu'au moment où on en a réellement besoin.

Anthropic, concrètement

L'outil mémoire : un vrai mécanisme, pas juste un nom

Depuis septembre 2025, Anthropic propose une réponse concrète au « note-taking structuré » : un outil memory que Claude peut appeler directement, sans framework requis.

Six commandes sur /memories

view, create, str_replace, insert, delete, rename — les mêmes primitives qu'un éditeur de texte, cantonnées à un seul répertoire.

Côté client par conception

Claude ne fait que demander des opérations sur fichiers ; votre application les exécute sur un stockage que vous possédez (disque, DB, S3 — les SDK fournissent un helper filesystem local). Anthropic ne voit ni ne stocke jamais les fichiers.

Impact mesuré (éval interne Anthropic) : +29% avec le context editing seul, +39% combiné à l'outil mémoire, et une réduction de 84% des tokens sur une tâche de recherche web à 100 tours — c'est la même idée « compaction + notes hors fenêtre » vue deux slides plus tôt, avec un chiffre dessus cette fois.

anthropic.com/news/context-management · platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool

Ne pas confondre ces trois choses

Outil mémoire vs. mémoire Claude.ai vs. « Dreaming » de ChatGPT

QuoiQui stockeQui décide ce qui est écritPour
Outil API memoryVous (côté client)Claude demande, votre app peut valider/rejeterIngénieurs qui construisent des agents
« Memory » de Claude.ai (Topics)Hébergé par AnthropicAutomatique, l'utilisateur peut voir/éditer/supprimer par sujetUtilisateurs finaux qui discutent avec Claude
« Dreaming » de ChatGPT (OpenAI, 2026)Hébergé par OpenAIEntièrement automatique — réécrit les entrées sans qu'on le demandeUtilisateurs finaux, moins transparent par conception
Le choix de conception explicite d'Anthropic est l'inverse du « Dreaming » : Claude vous dit quand il utilise un souvenir et demande avant d'écrire une information sensible. C'est un arbitrage délibéré en faveur de la transparence, pas un manque de capacité.
Pourquoi ça marche

Ce n'est pas qu'une intuition — c'est mesuré

L'étude Context Rot (Chroma, 2025) sur 18 modèles frontières montre :

Conclusion pratique : compacter, isoler, et récupérer à la demande n'est pas une optimisation de coût — c'est aussi une optimisation de qualité.
Transition

Où LangGraph et DeepAgents se situent

CoALA (Session 1) Working memory Long-term memory DeepAgents (réutilise les primitives LangGraph) Checkpointer + thread_id Store namespacé recherche sémantique sous-agents → isolation filesystem virtuel → offloading

DeepAgents n'est pas un concurrent de LangGraph : c'est une couche opinionated au-dessus — sa contribution propre, c'est la métaphore filesystem + les sous-agents, pas un nouveau mécanisme de persistance.

Synthèse

Ce qu'il faut retenir avant la session 2

Glossaire (1/2)

Vocabulaire agent / LLM

TermeDéfinition
FrameworkUne bibliothèque logicielle qui impose une structure : on écrit son code à l'intérieur des règles qu'elle définit — par opposition à une simple librairie qu'on appelle depuis son propre code.
Harness (harnais d'agent)L'ensemble du code qui entoure un LLM pour en faire un agent complet : boucle de décision, gestion des outils, de la mémoire, du contexte — le LLM seul ne "sait" pas boucler ou appeler des outils.
OpinionatedQui impose des choix de conception par défaut plutôt que de tout laisser configurable (à l'opposé de "unopinionated"/neutre) — un compromis entre rapidité de mise en route et flexibilité.
Batteries-includedLivré avec tout ce qu'il faut pour être utile immédiatement, sans devoir assembler soi-même des briques tierces (expression empruntée à Python : "batteries included").
Model-agnosticQui fonctionne avec n'importe quel modèle LLM sous-jacent (Claude, GPT, ...), sans dépendance forte à un fournisseur.
TokenL'unité de texte qu'un LLM traite (environ un mot ou un fragment de mot) — c'est l'unité dans laquelle la fenêtre de contexte est comptée.
EmbeddingUn vecteur numérique représentant le "sens" d'un texte, produit par un modèle dédié ; deux textes proches en sens ont des embeddings proches (cf. similarité cosinus).
RAGRetrieval-Augmented Generation : injecter dans le prompt des documents pertinents récupérés dynamiquement, plutôt que de compter uniquement sur ce que le modèle a mémorisé à l'entraînement.
Glossaire (2/2)

Vocabulaire LangGraph / DeepAgents

TermeDéfinition
CheckpointerLe composant LangGraph qui sauvegarde l'état d'un graphe à chaque étape, pour pouvoir le reprendre plus tard (= la mémoire courte terme).
StoreLe composant LangGraph de stockage clé/valeur namespacé, indépendant des threads (= la mémoire long terme).
BackendDans DeepAgents, le système qui détermine où vivent réellement les fichiers virtuels (état éphémère, Store persistant, disque...) ; plus généralement, la partie d'un système qui gère stockage/traitement, invisible depuis l'interface utilisateur.
GroundingLe fait qu'un agent agisse sur / perçoive le monde réel (appels d'outils, environnement), par opposition au raisonnement interne pur.
Context engineeringLa discipline (nommée par Anthropic) qui consiste à gérer activement ce qui entre dans la fenêtre de contexte d'un LLM, plutôt que d'y déverser tout ce qui est disponible.
OffloadingDéplacer une information hors de la fenêtre de contexte active (ex. vers un fichier) pour libérer du budget de tokens, quitte à la relire plus tard si besoin.
Sub-agent (quarantaine)Un agent auxiliaire qui tourne dans sa propre fenêtre de contexte isolée ; seul son résultat final "traverse" vers l'agent parent — le bruit intermédiaire ne pollue pas le contexte parent (d'où "quarantaine").
Bibliographie (1/2)

Fondations académiques

Sumers, Yao, Narasimhan & Griffiths, Cognitive Architectures for Language Agents (CoALA), TMLR 2024 — arXiv:2309.02427
Park, O'Brien, Cai, Morris, Liang & Bernstein, Generative Agents: Interactive Simulacra of Human Behavior, UIST 2023 — arXiv:2304.03442 · ACM DOI 10.1145/3586183.3606763
Packer, Fang, Patil, Lin, Wooders & Gonzalez, MemGPT: Towards LLMs as Operating Systems, 2023 — arXiv:2310.08560
Zhang, Bo, Ma, Li, Chen, Dai, Zhu, Dong & Wen, A Survey on the Memory Mechanism of Large Language Model based Agents, ACM TOIS 2025 — arXiv:2404.13501 · DOI 10.1145/3748302
Wu, Liang, Zhang, Wang, Zhang, Guo, Tang & Liu, From Human Memory to AI Memory: A Survey on Memory Mechanisms in the Era of LLMs, 2025 — arXiv:2504.15965
Du, Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers, 2026 — arXiv:2603.07670
Chroma Research, Context Rot: How Increasing Input Tokens Impacts LLM Performance, 2025 — trychroma.com/research/context-rot

Bibliographie (2/2)

Ingénierie, frameworks & outils

Anthropic, Effective context engineering for AI agents, 2025 — anthropic.com/engineering/effective-context-engineering-for-ai-agents
LangChain / LangGraph docs, Persistence (checkpointer & store, short vs. long-term memory) — docs.langchain.com/oss/python/langgraph/persistence
LangChain, New in Deep Agents v0.6, 2026 — langchain.com/blog/deep-agents-0-6
langchain-ai/deepagentsgithub.com/langchain-ai/deepagents
langchain-ai/langmemgithub.com/langchain-ai/langmem
letta-ai/letta (suite du projet MemGPT) — github.com/letta-ai/letta · letta.com/blog
Anthropic, Memory tool & Managing context on the Claude Developer Platform, 2025-2026 — platform.claude.com/.../memory-tool · anthropic.com/news/context-management
Chhikara, Khant, Aryan, Singh & Yadav, Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory, 2025 — arXiv:2504.19413
Rasmussen et al., Zep: A Temporal Knowledge Graph Architecture for Agent Memory, 2025 — arXiv:2501.13956

Questions ?

Session 2 — dans deux semaines : LangGraph + DeepAgents en pratique, avec notebook.