[Blog d'ingénierie anthropique] Un cadre efficace pour la construction d'agents intelligents à longue durée de vie Le dernier article du blog technique d'Anthropic explore la conception de « frameworks » efficaces pour les agents fonctionnant sur de longues durées, afin de relever les défis liés à l'exécution continue de tâches complexes sur plusieurs sessions. S'appuyant sur l'expérience pratique acquise avec le SDK Claude Agent, il met l'accent sur l'utilisation d'environnements structurés et de flux de travail progressifs pour permettre aux agents de faire progresser les projets étape par étape, à l'instar des ingénieurs logiciels humains, plutôt que de tenter de tout réaliser d'un coup. Le principal défi des agents de longue durée réside dans leur capacité à gérer des tâches complexes s'étalant sur plusieurs heures, voire plusieurs jours, comme la construction d'un projet logiciel complet et complexe. Cependant, en raison de la capacité limitée de la fenêtre de contexte, chaque session est comme un nouveau départ : l'agent ne dispose d'aucune mémoire antérieure et risque de tomber dans le piège du « one-shot » (tentative de traitement unique), c'est-à-dire de gérer l'intégralité du projet en une seule session, ce qui entraîne une saturation du contexte, un code désorganisé ou une documentation manquante. Parmi les autres problèmes courants, on peut citer : • Déclaration prématurée d'achèvement : les agents suivants, ne constatant qu'une progression partielle, marquent incorrectement la tâche comme terminée. • Difficulté à se remettre d'un état : les agents passent beaucoup de temps à deviner le travail inachevé ou à lutter dans un environnement bogué. • Tests manquants : La fonctionnalité semble complète, mais elle n’a pas fait l’objet d’une vérification de bout en bout, ce qui masque des problèmes potentiels. Ces modes de défaillance sont résumés à travers des expériences (comme la création d'un projet de clone web avec plus de 200 fonctionnalités) et des solutions ciblées sont proposées, s'appuyant sur les meilleures pratiques d'ingénierie logicielle telles que le contrôle de version Git et les tests automatisés. La solution proposée, une architecture à double agent et un environnement structuré, introduit un « cadre » — un système composé d’invites, de scripts et de fichiers — afin de garantir la persistance de l’état et une transition fluide entre les sessions. Plus précisément, elle repose sur deux rôles : 1. Agent d'initialisation : utilisé uniquement lors de la première session, il est chargé de configurer l'environnement initial. Il génère les fichiers clés, notamment : • feature_list.json : Liste de fonctionnalités au format JSON, répertoriant toutes les tâches (telles que « Créer une nouvelle conversation »), chacune comprenant une description, les étapes et un état initial « réussi » (false). Le format JSON garantit l’immuabilité, empêchant toute modification ultérieure. • claude-progress.txt : Un fichier journal qui enregistre les actions et la progression. • init.sh : Script de démarrage utilisé pour exécuter le serveur de développement et tester les fonctions de base, réduisant ainsi la charge de configuration ultérieure. Après l'initialisation, effectuez le premier commit Git pour créer une base de référence propre. 2. Agent de codage : dédié aux sessions suivantes, axé sur la progression incrémentale. Chaque session traite une seule fonction : • Routine de démarrage de session : vérifier le répertoire (pwd), consulter les journaux Git et les fichiers de progression, exécuter init.sh pour démarrer l’environnement et vérifier les tests principaux. • Flux de travail : Sélectionnez une fonctionnalité incomplète dans la liste JSON, codez-la, enregistrez une modification descriptive dans Git, mettez à jour le statut « réussi » (uniquement après la réussite du test) et consignez-la. • Mettre l'accent sur un « état propre » : une fois terminé, le code doit être exempt de bogues, entièrement documenté et prêt à être fusionné directement dans la branche principale. Pratiques clés et intégration d'outils : Listes de fonctionnalités et Git : Les listes JSON empêchent les modifications non autorisées, et Git permet la restauration et le suivi de l'historique. Des expériences montrent que JSON réduit les modifications non autorisées par rapport à Markdown. • Tests de bout en bout : Intégrez des outils d’automatisation du navigateur (comme le serveur Puppeteer MCP) pour simuler les actions humaines (clics sur des fenêtres modales ou vérification de captures d’écran, par exemple). Cela permet de détecter les bogues d’interaction passés inaperçus lors des revues de code, mais l’article souligne également les limitations, notamment la gestion des éléments natifs du navigateur. • Stratégie d'aide : Les indications d'initialisation et de codage diffèrent ; les premières se concentrent sur la construction, tandis que les secondes mettent l'accent sur une fonctionnalité unique et la validation. Utilisez un langage très contraignant (comme « ne jamais modifier les tests ») pour éviter les erreurs. • Tableau des modes de défaillance : L’annexe de l’article résume les problèmes (tels que « Configuration de l’obfuscation ») et les solutions (telles que les scripts standardisés) pour une application pratique facile. Conclusions et perspectives L'expérience d'Anthropic démontre que ce cadre améliore considérablement la fiabilité des agents fonctionnant sur le long terme : il permet de passer de défaillances chaotiques et ponctuelles à une itération continue et maîtrisée. Un enseignement clé réside dans l'exploitation des pratiques d'ingénierie humaine (telles que le contrôle de version et le développement piloté par les tests) combinées au potentiel d'automatisation de l'IA. Il est conseillé de commencer par des projets simples, d'analyser les modes de défaillance et d'étendre progressivement cette approche aux systèmes multi-agents (par exemple, avec des agents de test dédiés). À l'avenir, cette approche pourrait être généralisée à d'autres domaines, comme la recherche scientifique ou la modélisation financière, en explorant des architectures collaboratives plus complexes. Adresse du blog :
Chargement du thread
Récupération des tweets originaux depuis X pour offrir une lecture épurée.
Cela ne prend généralement que quelques secondes.
![[Blog d'ingénierie anthropique] Un cadre efficace pour la construction d'agents intelligents à longue durée de vie
Le](https://pbs.twimg.com/media/G6uD6C6aEAAAsuS.jpg)