Aller au contenu
← Tous les articles

Recherche7 octobre 20268 min

Une IA qui se souvient de tout devient moins bonne

L'intuition dit qu'un agent qui accumule de l'expérience s'améliore. Une étude publiée à ACL 2026 mesure le contraire : sur quatre agents, tout stocker fait perdre jusqu'à 12 points par rapport à une mémoire figée. Ce n'est pas un détail d'implémentation, c'est une propriété du mécanisme.

Le résultat qui dérange

Des chercheurs de Harvard et de l'université de Géorgie ont comparé plusieurs façons de gérer la mémoire d'un agent LLM, sur quatre systèmes différents et des milliers d'exécutions. Les stratégies vont de « ne rien ajouter jamais » à « tout ajouter », en passant par divers filtres.

Stratégie RegAgent EHRAgent AgentDriver CIC-IoT
Mémoire figée 67,516,8 40,171,5
Tout ajouter 55,513,1 32,359,9
Filtre strict 71,038,5 51,085,4

Tout ajouter perd entre 3,7 et 12 points sous la mémoire figée, sur les quatre agents. Autrement dit : accumuler sans trier est pire que ne rien apprendre du tout. Le filtre strict, lui, gagne 15 à 25 points sur l'accumulation — avec une mémoire plus petite.

Ce qu'il faut retenir : la question n'est pas « combien l'agent se souvient » mais « de quoi ». Une mémoire deux fois plus grosse et mal filtrée vaut moins qu'une mémoire figée.

La cause : l'agent recopie, il ne réfléchit pas

Les auteurs nomment le mécanisme experience-following : plus la situation courante ressemble à un souvenir récupéré, plus l'agent reproduit fidèlement ce qu'il avait fait. La corrélation mesurée entre similarité d'entrée et similarité de sortie approche 1 dès que la mémoire grossit assez pour contenir des cas très proches.

Le problème est que ce mécanisme est aveugle à la qualité. Il recopie une erreur avec la même fidélité qu'une réussite. Et comme la mémoire d'un agent est remplie par ses propres sorties, elle est bruitée par construction.

L'image la plus juste est celle d'un étudiant qui garde toutes ses copies, bonnes et mauvaises. Le jour de l'examen, il tombe sur une question qui ressemble à une ancienne, et recopie — parfois la version fausse. Plus il a de copies, plus il a de chances d'en attraper une mauvaise.

Reflexion : la même chose, stockée autrement

Un travail antérieur, Reflexion (NeurIPS 2023), semble contredire ce résultat : il améliore les performances en gardant une trace des échecs. Les chiffres annoncés sont nets — +22 points sur ALFWorld, +20 sur HotPotQA, 91,0 % sur HumanEval contre 80,1 % pour le modèle seul.

Il n'y a pourtant aucune contradiction, et la différence est exactement le sujet. Reflexion ne stocke pas la trajectoire échouée. Il stocke un résumé verbal, réécrit, de pourquoi elle a échoué. Une leçon, pas un exemple à imiter.

Leur propre ablation le prouve : garder la trajectoire sans l'étape de réécriture n'apporte rien. C'est la réflexion verbale qui produit les 8 points de gain supplémentaires.

La règle qui en découle : stocker une leçon, jamais une trace. « Cette approche a échoué parce que l'outil demandait des droits root » se réutilise. La commande échouée elle-même se rejoue.

L'évaluateur est la pièce la plus fragile

Si le filtre décide ce qui entre en mémoire, tout repose sur sa fiabilité. Les deux travaux convergent ici, et l'avertissement est sévère.

L'étude ACL constate qu'appliquer directement un LLM généraliste comme juge de qualité peut avoir un impact négatif plus sévère que l'absence de filtre sophistiqué. Dans un de leurs cas, un juge GPT-4o-mini a retenu une mémoire de qualité inférieure à celle qu'il rejetait. En revanche, 300 trajectoires annotées à la main suffisent à entraîner un évaluateur qui bat tous les filtres approximatifs.

Reflexion le montre par l'échec : sur MBPP Python, ses tests auto-générés produisent 16,3 % de faux positifs, et c'est le seul benchmark où la méthode passe sous la référence. Sur HumanEval Python, où le taux tombe à 1,4 %, elle domine largement.

Les deux aboutissent à la même asymétrie : mieux vaut jeter un bon souvenir qu'en garder un mauvais. Un bon souvenir perdu coûte une occasion ; un mauvais souvenir gardé contamine toutes les exécutions suivantes.

Voyager : ce que chaque composant apporte réellement

Le projet Voyager (NVIDIA) a mesuré la contribution de chaque brique en la retirant. Son agent découvre 63 objets uniques dans Minecraft, 3,3 fois plus que les approches comparées, et il est le seul à atteindre le niveau diamant.

Composant retiréPerte
Curriculum (choix de la tâche suivante à partir du passé)−93 %
Auto-vérification (valider avant de mémoriser)−73 %
Bibliothèque de compétencescourbe qui plafonne

L'enseignement est contre-intuitif : ce n'est pas la mémoire qui compte le plus, c'est ce qui décide quoi faire ensuite, puis ce qui décide quoi mémoriser. La bibliothèque de compétences, qu'on croit être le cœur du système, arrive en troisième.

Ce que ça change pour un système réel

Nous construisons un orchestrateur d'agents pour la recherche de vulnérabilités. Ces résultats ont directement façonné trois décisions.

Un évaluateur mécanique plutôt qu'un juge

Un test n'entre en mémoire que si le fichier de preuve qu'il référence existe réellement sur le disque. C'est une vérification bête, faite par du code, pas une opinion de modèle. Elle n'a pas la finesse d'un juge LLM — elle n'a pas non plus sa capacité à se tromper dans les grandes largeurs.

Des conclusions, pas des traces

Ce qui est conservé est une phrase de conclusion : « testé, voilà ce que ça donne ». Jamais la sortie brute d'un outil, jamais la commande telle quelle. Un garde automatique signale quand une entrée ressemble à une simple observation plutôt qu'à un test.

Pas de pondération avant d'avoir des données

L'étape séduisante serait de pondérer automatiquement les techniques selon leur taux de réussite passé. Nous ne l'avons pas construite. Avec quelques dizaines de points de mesure, un tel algorithme ne décrirait que du bruit — et le bruit, amplifié, devient une conviction.

Le principe qu'on en retire : mesurer avant d'automatiser. On ne pondère pas ce qu'on n'a pas compté, et on ne compte pas ce qu'on n'a pas pris la peine de classer.

Et le « renforcement » ?

L'expression revient souvent : faire un système qui « se renforce » à force de trouver. Il faut être précis, parce que le mot recouvre deux choses très différentes.

Le renforcement au sens strict modifie les poids du modèle. Ce n'est pas ce dont il s'agit ici : on appelle un modèle, on ne l'entraîne pas. Voyager le dit explicitement — tout passe par des requêtes en boîte noire, sans aucun ajustement de paramètres.

Ce qui existe réellement, c'est une boucle à trois niveaux : ce que l'agent retient d'une session à l'autre, ce qui décide de sa prochaine action, et ce qui filtre ce qu'il a le droit de mémoriser. Les trois sont du texte et de la structure, pas des gradients. C'est moins spectaculaire, et ça marche — à condition de filtrer.

Sources