Agent avec mémoire : contexte entre les sessions

Construisez des agents qui mémorisent les faits utilisateur et les résultats précédents pour des réponses cohérentes et personnalisées.
Sur cette page
  1. Essence du pattern
  2. Probleme
  3. Solution
  4. Comment ca fonctionne
  5. En code, cela ressemble a ceci
  6. A quoi cela ressemble pendant l'execution
  7. Quand c'est adapte - et quand ca ne l'est pas
  8. Adapte
  9. Non adapte
  10. Difference avec RAG
  11. Quand utiliser Memory-Augmented (vs autres patterns)
  12. Comment combiner avec d'autres patterns
  13. En bref
  14. Avantages et Inconvenients
  15. FAQ
  16. Et ensuite

Essence du pattern

Memory-Augmented Agent est un pattern ou l'agent dispose d'une memory layer separee : il enregistre les faits importants, les recupere si besoin et les utilise dans les etapes ou sessions suivantes.

Quand l'utiliser : quand il faut memoriser des faits entre etapes ou sessions et les reutiliser dans les decisions suivantes.


Au lieu du modele "chaque requete part de zero", l'agent :

  • capte des faits utiles depuis l'interaction
  • les stocke dans une memoire structuree
  • recupere le contexte pertinent avant la reponse
  • met a jour ou supprime les enregistrements obsoletes

Pattern Memory-Augmented Agent : contexte entre sessions

Probleme

Imagine que tu travailles avec un agent sur plusieurs sessions.

Dans la premiere session, tu fixes des regles :

  • ecris en ukrainien
  • reponds de facon concise
  • applique une exception pour le client Enterprise

Dans la session suivante, l'agent "oublie" cela, et tu dois tout repeter.

Sans memoire geree, chaque nouvelle session ressemble a une premiere session pour l'agent.

Consequences :

  • perte de coherence dans les reponses
  • repetitions inutiles pour l'utilisateur
  • erreurs dues au contexte manquant
  • valeur plus faible dans les Workflow longs

Voila le probleme : sans memory layer, l'agent n'accumule pas de contexte utile et travaille seulement dans la requete courante.

Solution

Memory-Augmented introduit une memory-policy pour ecriture et retrieval entre sessions.

Analogie : comme une fiche client dans un service. On enregistre uniquement l'important, pas tout le dialogue mot a mot. Ainsi, l'interaction suivante demarre avec le contexte pertinent.

Principe cle : la memoire doit etre selective et pilotee, pas "tout conserver".

L'agent peut proposer quoi memoriser, mais la memory layer decide :

  • ce qui peut etre ecrit
  • ce qu'il faut recuperer pour une nouvelle requete
  • quand un enregistrement devient obsolete et doit etre supprime

Processus pilote :

  1. Capture : extraire les faits significatifs
  2. Store : enregistrer avec metadata (source, timestamp, TTL)
  3. Retrieve : recuperer la memoire pertinente
  4. Apply : l'inclure dans le contexte de reponse
  5. Update/Delete : retirer ce qui est obsolete

Cela apporte :

  • coherence entre sessions
  • personnalisation sans repetitions d'instructions
  • stockage controle des decisions et exceptions
  • moins de repetitions manuelles pour l'utilisateur

Fonctionne bien si :

  • seuls les faits significatifs sont conserves
  • il existe une policy de lecture/ecriture (privacy + scope)
  • le lifecycle est applique (TTL, update, delete)
  • le retrieval renvoie des elements pertinents et a jour

Le modele peut "vouloir" tout memoriser, mais memory-policy definit le contenu du contexte long terme.

Comment ca fonctionne

Diagram

La memoire n'est pas egale a la raw chat history complete.

En production, on ne conserve pas tout : seulement les faits utiles avec date, source et policy de cycle de vie.

Description du flow complet : Capture → Store → Retrieve → Apply

Capture
Le systeme extrait les faits de l'interaction en cours : preferences utilisateur, decisions, parametres stables.

Store
Les faits sont ecrits dans le memory store avec metadata : timestamp, confidence, scope, TTL, policy tags.

Retrieve
Avant reponse, le systeme recherche les enregistrements memoire pertinents pour cette requete.

Apply
L'agent integre ces enregistrements dans son contexte de travail et repond en tenant compte de l'experience precedente.

En code, cela ressemble a ceci

PYTHON
facts = extract_memory_facts(user_message)

approved = supervisor.review_memory_write(
    user_id=user_id,
    items=facts,
)

memory.upsert(user_id=user_id, items=approved)

relevant = memory.search(
    user_id=user_id,
    query=goal,
    top_k=5,
)

context = build_context(base_context, memory_items=relevant)
answer = agent.respond(context)

return answer

La memoire doit etre geree : limites de taille, regles de mise a jour, et suppression des faits obsoletes.

A quoi cela ressemble pendant l'execution

TEXT
Goal: personnaliser la reponse avec preferences utilisateur en memoire

Session 1:
User: Ecris les reponses en anglais et de facon concise.
Memory saved:
- language = en (source=session_1)
- response_style = concise (source=session_1)

Session 2:
User: Explique la difference entre SLA et SLO.
Retrieve:
- language = en
- response_style = concise

Agent response:
- en anglais
- en format concis

Exemple complet d'agent Memory-Augmented

PYPython
TSTypeScript · bientôt

Quand c'est adapte - et quand ca ne l'est pas

Adapte

SituationPourquoi Memory est adapte
La personnalisation entre sessions est importanteMemory conserve le contexte utilisateur pertinent et rend le comportement de l'agent coherent.
Il y a des processus longs avec interactions repeteesL'agent reprend depuis l'etat precedent au lieu de recommencer a zero.
Il faut conserver parametres stables et decisions precedentesMemory reduit les decisions dupliquees et maintient la stabilite des reglages.
Le contexte utilisateur influence la qualite des reponses et actionsL'agent utilise l'historique d'interaction et adapte l'output plus precisement.

Non adapte

SituationPourquoi Memory n'est pas adapte
Taches ponctuelles ou les sessions ne sont pas lieesLe stockage d'etat ajoute du surcout sans benefice pratique.
Une policy de securite stricte interdit de stocker des donneesLe contour Memory ne peut pas satisfaire les exigences de compliance dans ce modele.
Pas de processus lifecycle pour nettoyage et mise a jourSans gestion de retention, la memoire devient vite obsolete et degrade la qualite des decisions.

Car la memory layer ajoute du surcout operationnel : stockage, indexation, retention et controle privacy.

Difference avec RAG

RAGMemory-Augmented
Source de contexteBase de connaissance externe et documentsInteractions precedentes et etat utilisateur
OptimisePrecision factuelle et possibilite de citerCoherence et personnalisation
Type de donneesPolicies, reference, documentationPreferences, decisions, historique d'actions
Risque principalRetrieval faibleMemoire obsolete ou excessive

RAG repond : "que dit la base de connaissance".

Memory-Augmented repond : "qu'est-ce qu'il faut memoriser pour cet utilisateur et ce processus".

Quand utiliser Memory-Augmented (vs autres patterns)

Utilisez Memory-Augmented quand il faut stocker et reutiliser du contexte entre etapes ou sessions.

Test rapide :

  • si vous devez "memoriser preferences, decisions et etat utilisateur" -> Memory-Augmented
  • si vous devez "trouver des faits dans des documents externes pour la requete courante" -> RAG Agent
Comparaison avec d'autres patterns et exemples

Aide-memoire rapide :

Si la tache ressemble a ca...Utilisez
Trouver des connaissances dans des sources externes et former la reponseRAG Agent
Conserver et reutiliser le contexte utilisateur entre etapes ou sessionsMemory-Augmented Agent

Exemples :

RAG : "Reponds a la question client uniquement via la base interne de policies et montre les sources".

Memory-Augmented : "Retiens que ce client a deja choisi le plan Pro et prends-le en compte dans les prochaines reponses".

Comment combiner avec d'autres patterns

  • Memory + RAG: l'agent combine contexte personnel et sources verifiees pour une reponse a la fois exacte et pertinente.
  • Memory + ReAct: a chaque etape, l'agent tient compte des decisions precedentes pour eviter de repeter les memes actions.
  • Memory + Supervisor: Supervisor controle ce qui peut etre ecrit en memoire et ce qui peut en etre extrait.

En bref

En bref

Memory-Augmented Agent:

  • Conserve des faits utiles entre sessions
  • Recupere la memoire pertinente avant la reponse
  • Rend le comportement de l'agent coherent
  • Renforce la personnalisation sans perdre le controle

Avantages et Inconvenients

Avantages

retient le contexte important entre sessions

moins de questions repetitives a l'utilisateur

reponses plus coherentes

meilleure performance sur taches longues

Inconvenients

la memoire doit etre nettoyee et mise a jour regulierement

risque de stocker des donnees inutiles

un contexte obsolete degrade la qualite des reponses

FAQ

Q: Est-ce que memory veut dire que l'agent retient absolument tout ?
A: Non. En production, seuls les faits utiles sont conserves selon des regles de selection, TTL et securite.

Q: Comment eviter de stocker des donnees sensibles ou inutiles ?
A: Utiliser data classification, redaction, field allowlist et policies retention/delete.

Q: Que faire avec une memoire obsolete ou contradictoire ?
A: Ajouter timestamp et confidence, revalider les enregistrements critiques et prioriser les faits les plus recents.

Et ensuite

Memory-Augmented ajoute du contexte long terme a l'agent.

Mais comment verifier que la reponse finale est coherente et sans erreurs evidentes avant envoi a l'utilisateur ?

⏱️ 10 min de lectureMis à jour Mars, 2026Difficulté: ★★★
Suite pratique

Exemples d’implémentation du patron

Passe à l’implémentation avec des projets d’exemple.

Intégré : contrôle en productionOnceOnly
Ajoutez des garde-fous aux agents tool-calling
Livrez ce pattern avec de la gouvernance :
  • Budgets (steps / plafonds de coût)
  • Permissions outils (allowlist / blocklist)
  • Kill switch & arrêt incident
  • Idempotence & déduplication
  • Audit logs & traçabilité
Mention intégrée : OnceOnly est une couche de contrôle pour des systèmes d’agents en prod.
Auteur

Cette documentation est organisée et maintenue par des ingénieurs qui déploient des agents IA en production.

Le contenu est assisté par l’IA, avec une responsabilité éditoriale humaine quant à l’exactitude, la clarté et la pertinence en production.

Les patterns et recommandations s’appuient sur des post-mortems, des modes de défaillance et des incidents opérationnels dans des systèmes déployés, notamment lors du développement et de l’exploitation d’une infrastructure de gouvernance pour les agents chez OnceOnly.