Pourquoi la plupart des agents d’IA meurent après une seule session et comment ceux qui fonctionnent longtemps survivent
Les limites de contexte, l’état manquant et les vérifications auto-réduites affaiblies entraînent la mort de la plupart des agents. Apprenez les modèles de points de contrôle, de mémoire, d’évaluation et d’approbation qui permettent aux exécutions prolongées de survivre.
Sources: Long-Running Agents: Why Most Agents Die After One Session (And How Real Systems Keep Going)
Pourquoi tant d’agents semblent temporaires
Tout ceux qui ont utilisé ChatGPT, Claude ou un autre agent capable d’appeler des outils ont observé le schéma habituel :
- Vous lui donnez un objectif.
- L’agent se met au travail.
- Il utilise quelques outils.
- La conversation s’allonge.
- Les réponses se détériorent, ou la session s’arrête simplement.
Telle est l’expérience typique avec un agent de chat. Il convient aux tâches courtes et échoue lorsque le travail dure des heures ou des jours.
Un agent à long terme continue de progresser sur une période beaucoup plus longue, qu’il s’agisse d’heures, de jours ou de semaines, et ne perd pas ses avancées même lorsque le contexte est épuisé ou que le processus est relancé. Voici l’idée de base, suivie des principes qui la rendent fonctionnelle.
Commencer simplement : ce qu’est un agent à long terme
Un agent ordinaire est comme quelqu’un qui travaille dans une seule salle de réunion et oublie tout en la quittant. Un agent à long terme se comporte plutôt comme une personne qui :
- garde un carnet, ce qui constitue un état externe durable ;
- note les progrès réalisés, ce qui correspond à la création de points de contrôle ;
- peut s’absenter puis revenir plus tard, ce qui représente la persistance de la session ;
- reprend exactement là où il s’était arrêté, ce qui signifie reprendre depuis son dernier état.
En termes techniques, un tel agent peut survivre à plusieurs fenêtres de contexte, résister aux redémarrages et aux pannes (tolérance aux pannes), laisser derrière lui des documents structurés sous forme d’artefacts et de journaux de session, et reprendre son travail sans devoir tout recommencer à zéro.
Conserver l’état en dehors du modèle et pouvoir le récupérer proprement en est une partie essentielle de ce que l’on appelle l’ingénierie de harness.
Les trois murs
Presque tous les agents fonctionnant sur le long terme se heurtent aux mêmes trois problèmes.
- Contexte fini. Chaque modèle dispose d’une fenêtre de contexte limitée, et même les fenêtres plus grandes se remplissent. Lorsqu’elles sont pleines, les informations anciennes sont supprimées ou compressées, ce qui détériore les décisions de l’agent. Cela est souvent appelé dégradation du contexte.
- Aucun état persistant. Une nouvelle session commence généralement avec une mémoire vide. Comme il n’existe aucun moyen externe de conserver les progrès, chaque redémarrage revient à un nouvel employé qui rejoint le projet sans connaître son histoire.
- Vérification insuffisante. Les modèles ont tendance à être optimistes. Lorsqu’on leur demande si le travail est terminé, ils répondent souvent par l’affirmative alors qu’il n’est qu’en partie achevé. Sans vérification externe, le travail inachevé est considéré comme terminé.
Ces trois problèmes expliquent pourquoi les agents simples ne peuvent pas fonctionner de manière fiable sur le long terme.
Des bases aux patterns utiles
Lorsque les obstacles sont éliminés, la question est de savoir comment les personnes peuvent les franchir. Quatre modèles fondamentaux réapparaissent constamment.
- Points de contrôle et reprise. L’agent enregistre les progrès sous une forme structurée à intervalles réguliers. En cas d’échec, il redémarre à partir du dernier point de contrôle valide plutôt que du début.
- Mémoire externe. Les informations importantes sont stockées en dehors du contexte du modèle, dans des fichiers, une base de données ou un stockage de sessions, et l’agent les lit au début de chaque nouvelle session.
- Intervention humaine. Pour les décisions importantes, l’agent s’arrête, attend que quelqu’un les approuve ou les rejette, puis reprend son travail. Cela doit être conçu avec soin afin que l’état ne devienne obsolète pendant l’attente.
Seuls, ces schémas sont simples, mais ils deviennent puissants lorsqu’ils sont combinés.
Un modèle mental
Une image utile : le modèle représente le cerveau, les outils représentent les mains, et le journal de session ainsi que l’état externe constituent la mémoire qui survit.
Si le cerveau et les mains sont liés à un seul processus temporaire, le système meurt avec lui. Si la mémoire existe en dehors, un nouveau processus peut s’activer, lire la mémoire et continuer. C’est le changement architectural fondamental.
Ce qui devient possible
Lorsque les agents survivent plus longtemps, de nouveaux types de tâches deviennent possibles :
- des recherches qui durent plusieurs jours ;
- de grandes migrations de code ;
- surveillance continue et tâches en arrière-plan ;
- flux de travail nécessitant une approbation humaine à un stade intermédiaire ;
- équipes d’agents coordonnant leurs actions dans le temps.
Les agents de chat de courte durée sont bons pour répondre aux questions. Ceux qui fonctionnent sur de longues périodes deviennent utiles pour obtenir des résultats concrets.
De la démo à la production
La plupart des démos s’arrêtent à ce stade, et c’est alors que commence le véritable travail d’ingénierie. Cinq modèles jouent un rôle clé.
1. Points de contrôle et reprise
C’est le modèle le plus important, car l’échec le plus fréquent dans les tâches longues est la perte des progrès réalisés. Imaginez un agent qui a traité 200 documents et qui rencontre une erreur au 201e. Sans point de contrôle, c’est-à-dire sans capture de l’état de la mémoire ou du processus, toute l’opération est perdue. De nombreux agents résolvent cela en redémarrant tout le processus, ce qui consomme une grande quantité de tokens.
Un bon système enregistre régulièrement des progrès durables, en notant :
- ce qui a été terminé ;
- ce qui est encore en attente ;
- tous résultats intermédiaires importants.
Après une redémarrage, l’agent lit le dernier point de contrôle et reprend à partir de là. Cette seule habitude réduit considérablement la fragilité et permet également d’économiser des tokens.
2. La mémoire en dehors du modèle
Il existe généralement deux types :
- La mémoire de travail est ce dont l’agent a besoin immédiatement, au sein du contexte actuel.
- La mémoire durable est ce qui doit survivre à une session et qui est stocké en dehors du modèle.
La mémoire durable peut être conservée dans des fichiers structurés tels que progress.txt, plan.json ou notes.md, dans une base de données, dans un stockage de sessions ou dans un service de mémoire spécialisé. Le principe est simple : le modèle peut oublier, mais le système qui l’entoure ne doit pas.
3. Séparer la génération de l’évaluation
Les modèles évaluent leur propre travail de manière injuste et ont tendance à être trop généreux. Une solution courante et efficace consiste à diviser les rôles : une partie produit le travail tandis qu’une autre juge s’il est suffisamment bon. Il peut s’agir de deux agents différents, ou d’un même modèle utilisé en deux modes avec des instructions différentes. L’important est que la finalisation ne soit pas décidée uniquement par celui qui produit le travail.
Une configuration fréquente consiste en un superviseur ou planificateur, suivi d’experts chargés des tâches en tant que travailleurs, puis d’un juge qui s’occupe de la distribution et de l’orchestration. Le modèle suivant en explique les détails plus en profondeur.
4. L’approbation humaine effectuée correctement
De nombreux systèmes prétendent prendre en charge l’approbation, mais l’implémentent mal. La version simplifiée enregistre un peu de JSON, envoie une notification, espère une réponse de la part d’une personne, puis tente de reprendre le travail, souvent avec des données obsolètes.
La meilleure version considère la pause comme faisant partie intégrante du flux de travail. L’agent atteint un point de décision clair, enregistre son état de manière propre et attend. Lorsque la personne répond, l’agent reprend son travail en sachant exactement pourquoi il s’est arrêté. Cela est particulièrement important pour les actions ayant des conséquences, comme dépenser de l’argent, modifier des systèmes de production ou envoyer des messages en dehors de l’organisation.
5. Coordination de nombreux agents
Au fur et à mesure que les tâches augmentent, un seul agent chargé de tout devient incapable de gérer la situation. Une organisation plus structurée permet de répartir les responsabilités :
- les planificateurs analysent le problème et le divisent en tâches ;
- les exécutants s’occupent de parties spécifiques ;
- les juges décident si une itération est suffisamment bonne.
Cursor aurait adopté cette approche après l’échec de tentatives de coordination antérieures. Elle réduit le chaos et empêche les agents de se gêner mutuellement.
À quoi ressemble une pile de production
Une pile réaliste comporte souvent trois couches :
- La logique de l’agent, c’est-à-dire les prompts, les outils et le cycle de décision.
- Le système de gestion, qui inclut la gestion des sessions, le contrôle du flux de travail, les tentatives de réexécution et les mécanismes de récupération.
- Les primitives gérées, représentant le stockage durable, le planification, les outils à exécution prolongée, les déclencheurs d’événements et les capacités d’observation.
Par exemple, ADK de Google fournit des éléments de base pour des sessions persistantes, une exécution résistante aux redémarrages, ainsi que des déclencheurs basés sur des événements. Grâce à cela, un agent peut rester inactif pendant longtemps avant de reprendre correctement ses fonctions. Les écrits d’Anthropic sur les systèmes de gestion insistent sur la nécessité de séparer le « cerveau », c’est-à-dire le modèle et son cycle de décision, des « mains », qui représentent les environnements d’exécution, ainsi que de la session, qui constitue le journal d’événements durable.
Les fournisseurs utilisent des noms différents, mais l’idée reste la même : l’état et la récupération doivent exister en dehors de tout processus temporaire unique.
Règles de conception utiles
Ces habitudes rendent les systèmes plus robustes de manière fiable :
- Écrire régulièrement les progrès importants dans un stockage durable.
- Préférer des artefacts structurés tels que JSON, des journaux en markdown et des listes de tâches plutôt que des données stockées en prose simple dans la mémoire.
- Considérer l’échec comme quelque chose de normal et planifier en conséquence.
- Faire en sorte que la reprise se fasse selon la route par défaut et non en tant que cas particulier.
- Lorsque la qualité est importante, séparer le générateur des données du système d’évaluation.
- Utiliser la compression ou la synthèse lorsque le contexte devient trop volumineux.
- Concevoir délibérément des points d’approbation plutôt que d’ajouter des éléments ultérieurement.
De petites décisions ont un effet cumulatif. Une bonne stratégie de points de contrôle peut sauver une exécution qui dure plusieurs jours et économiser à la fois du temps et des ressources.
Limites persistantes
Même avec une bonne architecture, des limites inhérentes persistent :
- Le coût. Les exécutions prolongées consomment de nombreux tokens.
- La sécurité. Un système qui fonctionne plus longtemps présente une surface d’attaque plus grande.
- Le décalage d’alignement. Sur une longue période, l’agent peut progressivement s’éloigner de l’intention initiale.
- La vérification. Certains aspects de la qualité nécessitent encore un jugement humain.
Le rôle de l’être humain ne disparaît pas. Il change. Au lieu d’exécuter chaque étape, les gens définissent des objectifs, imposent des contraintes, examinent les décisions cruciales et gèrent les exceptions que le système ne peut pas résoudre en toute sécurité.
Où cela vous place
Les agents de chat de courte durée conviennent aux questions et aux tâches simples. Les agents fonctionnant sur le long terme conviennent aux travaux qui prennent du temps, s’étendent sur plusieurs sessions ou doivent faire face à des interruptions dans le monde réel.
Ce changement a moins à voir avec le fait de rendre le modèle plus intelligent et plus à voir avec le fait de rendre le système environnant durable, capable de se remettre de ses erreurs et honnête quant à ses propres progrès. Considérés comme des systèmes qui doivent surmonter le temps, les pannes et les limites contextuelles, les agents deviennent beaucoup plus faciles à concevoir. Les agents capables d’accomplir des tâches significatives proviennent généralement d’équipes qui placent la persévérance et la capacité de récupération au cœur de leur conception.