Quand un agent exécute une tâche, il ne réagit pas seulement à l'instruction actuelle.
Il tient compte de ce qui s'est déjà passé avant : ce que vous avez demandé, ce qu'il a déjà fait et le résultat obtenu.
Sans cela, chaque nouvelle action serait comme une première tentative.
Il rappellerait la même API ou répéterait une étape qui a déjà échoué
— parfois sans fin.
C'est précisément la mémoire qui permet à un agent d'avancer au lieu de tourner en rond.
Ce qu'est la mémoire d'agent et de quoi elle se compose

La mémoire d'un agent n'est pas un endroit unique où toutes les informations sont stockées.
C'est un ensemble de mécanismes qui lui permettent de :
- conserver le contexte de la tâche en cours
- et utiliser l'expérience des précédentes
Sans eux, l'agent ne sait pas :
ce qui a déjà été fait
ce qui a fonctionné
et quoi faire ensuite
Mémoire à court terme vs mémoire à long terme
Toute la mémoire d'un agent n'est pas identique.
Il y a une mémoire pendant la tâche.
Et une mémoire entre les tâches.
La mémoire à court terme n'existe que pendant la tâche.
C'est le contexte de la conversation en cours :
- vos instructions
- les réponses de l'agent
- les résultats des étapes précédentes
Quand la tâche est terminée, ce contexte disparaît.
La prochaine fois, l'agent démarre "d'une feuille blanche".
La mémoire à long terme est conservée entre les tâches.
Elle permet à l'agent de :
- mémoriser les préférences
- prendre en compte l'expérience passée
- utiliser des données des tâches précédentes
Sans elle, chaque nouvelle tâche est comme la première.
Un exemple simple :
Vous demandez à l'agent : "Fais un rapport comme la dernière fois."
Avec seulement la mémoire à court terme, il ne sait pas ce qu'était la "dernière fois".
Avec la mémoire à long terme, il connaît le format, les sources et la structure, et peut reproduire.
| Court terme | Long terme | |
|---|---|---|
| Fonctionne pendant la tâche | ✅ | ❌ |
| Conservée entre les tâches | ❌ | ✅ |
| A des limites | ✅ | ❌ |
| Nécessite un stockage | ❌ | ✅ |
Ce que l'agent retient dans une tâche
Quand l'agent travaille sur une tâche, il "voit" seulement la conversation en cours.
Tout ce que vous écrivez.
Tout ce que l'agent répond.
Chaque résultat qu'il reçoit des outils.
C'est sa mémoire à court terme : le contexte.
Il l'utilise pour :
- Comprendre ce qui se passe maintenant
- Décider de l'étape suivante
- Et éviter de répéter ce qui a déjà été fait
Mais ce contexte n'est pas illimité.
Si la conversation devient trop longue, une partie des informations anciennes sort simplement.
L'agent ne les voit plus.
Et il peut :
- Oublier l'exigence initiale
- Perdre un détail important
- Ou faire une action qu'il a déjà effectuée avant
Ce que l'agent peut retenir entre les tâches
Quand une tâche est terminée, le contexte de la conversation disparaît.
Mais cela ne signifie pas que l'agent doit tout oublier pour toujours.
Il peut enregistrer une partie des informations dans une mémoire externe.
Cela peut être :
- Une base de données
- Un fichier
- Ou un autre stockage
Où l'agent écrit :
- Des préférences
- Des décisions précédentes
- Ou des faits importants
Et lors de la tâche suivante, il peut relire ces données.
C'est ainsi qu'il se souvient :
- De votre manière de travailler
- Des formats que vous utilisez
- Ou de ce qu'il a déjà fait
Même si la conversation précédente s'est terminée depuis longtemps.
Limite de mémoire : fenêtre de contexte
La mémoire à court terme de l'agent a des limites.
Il ne peut pas retenir toute la conversation en entier.
Il existe un volume maximal de contexte que le modèle peut "voir" en même temps.
On appelle cela la fenêtre de contexte.
Quand la conversation devient trop longue, une partie des anciennes informations n'y tient plus.
Elle sort du contexte.
L'agent cesse de la prendre en compte.
À cause de cela, il peut :
- Oublier l'exigence initiale
- Perdre un détail important
- Ou répéter une action qu'il a déjà effectuée avant
En code, cela ressemble à ceci
Ci-dessous, le même principe dans un format simple :
il y a une mémoire à court terme (contexte de tâche) et une mémoire à long terme (stockage externe entre les tâches).
1) Mémoire à court terme : ce que l'agent "voit" maintenant
Ce sont les messages actuels et les résultats des dernières étapes :
short_memory = [
{"role": "user", "content": "Prépare un rapport hebdomadaire des ventes"},
{"role": "assistant", "content": "Ok, je commence à collecter les données"},
{"role": "tool", "content": "sales_total=12400"},
]
2) Limite de contexte : les éléments anciens peuvent sortir
Si le contexte est limité, le système ne garde que les éléments récents :
MAX_ITEMS = 3
short_memory = short_memory[-MAX_ITEMS:]
À cause de cela, l'agent peut ne pas voir les premières instructions.
3) Mémoire à long terme : ce qu'on stocke entre les tâches
Séparément, on conserve un stockage avec des faits utiles :
long_memory_store = {
"user:anna": {
"report_format": "short-bullets",
"currency": "USD",
}
}
4) Sur une nouvelle tâche, on relit ces données
Avant de répondre, l'agent récupère les préférences enregistrées :
user_prefs = long_memory_store.get("user:anna", {})
task_context = {
"request": "Fais un rapport comme la dernière fois",
"prefs": user_prefs,
}
5) L'agent construit la réponse en tenant compte de la mémoire
def build_report(context: dict):
fmt = context["prefs"].get("report_format", "default")
currency = context["prefs"].get("currency", "USD")
return f"Report format={fmt}, currency={currency}"
result = build_report(task_context)
# "Report format=short-bullets, currency=USD"
Sans mémoire à long terme, ce serait format=default.
Exemple complet d'implémentation avec LLM connecté
Analogie de la vie courante
Imaginez que vous êtes au téléphone, mais que vous n'entendez que les 30 dernières secondes de l'appel.
Vous savez ce que votre interlocuteur vient de dire.
Vous vous souvenez de la dernière réponse.
Et vous pouvez continuer la conversation.
Mais s'il dit :
"Comme je l'ai expliqué au début..."
— vous n'avez pas entendu ce début.
Il est simplement sorti du contexte.
Et vous pouvez :
- Reposer la même question
- Mal comprendre la tâche
- Ou répondre à côté du sujet
Si vous avez des notes des appels précédents, vous pouvez les relire et rétablir le contexte.
C'est exactement ainsi que l'agent utilise la mémoire à court terme et à long terme.
En bref
L'agent a deux types de mémoire :
- Court terme : contexte de la tâche en cours
- Long terme : données enregistrées entre les tâches
La mémoire à court terme est limitée :
une partie des informations peut disparaître du contexte.
La mémoire à long terme lui permet de :
stocker l'expérience et l'utiliser plus tard.
FAQ
Q: Est-ce qu'un agent se souvient des tâches précédentes ?
A: Uniquement si cette information est enregistrée dans la mémoire à long terme en dehors de la conversation actuelle.
Q: Pourquoi un agent peut-il oublier l'instruction initiale ?
A: À cause des limites de la fenêtre de contexte : une partie des anciennes informations peut sortir de la mémoire à court terme.
Q: Pourquoi un agent a-t-il besoin d'une mémoire à long terme ?
A: Pour stocker des données importantes entre les tâches et les utiliser dans le futur.
Et ensuite
Maintenant, vous savez ce que l'agent retient et comment cela l'aide à avancer.
Mais la mémoire n'est qu'une partie du tableau.
Parce que l'agent ne fait pas que retenir des actions.
Il les exécute.
Et toutes les actions ne sont pas également sûres.
Une chose est de lire des données.
Une autre est de les modifier.
Ou de les supprimer.
Ou de dépenser de l'argent en appels API.
C'est pourquoi un agent doit non seulement savoir quoi faire.
Il doit savoir ce qu'il est autorisé à faire.