Anthropic publie un article sur le blog d’ingénierie expliquant comment concevoir des structures de harnais plus efficaces pour des agents d’IA longs et multi-tours sur plusieurs tours. L’équipe a souligné que lorsque des agents existants construisent des projets complexes, ils ont souvent des phénomènes tels que « moitié déconnectés et redémarrés » en raison de fenêtres contextuelles limitées, et ont mal jugé que la tâche était terminée, rendant difficile la continuation et l’avancement régulier sur plusieurs sessions.
À cette fin, cet article propose une solution en deux étapes de « Agent initialiseur + agent codant » dans le SDK Claude Agent : exécuter l’environnement construit par Initializer pour la première fois, générer une liste détaillée des fonctionnalités, initialiser le dépôt git, créer un journal de progression et init.sh script ; Après avoir lu ces artefacts, l’agent de codage sélectionne une seule fonctionnalité ouverte, termine l’implémentation et l’auto-test, soumet le code et met à jour l’enregistrement de progression pour maintenir l’environnement dans un « état propre » pouvant poursuivre le développement à tout moment.
Les auteurs soutiennent que cette contrainte d’ingénierie atténue considérablement l’oubli et la dérive des agents à long terme, les faisant se comporter davantage comme des ingénieurs humains respectant les procédés que des outils de complétion ponctuelle. L’expérience actuelle vise principalement le développement d’applications web full-stack, et l’orientation future inclut l’introduction d’agents spécialisés tels que les tests, l’assurance qualité et le refactoring, ainsi que l’extension de méthodes similaires à d’autres tâches à long terme telles que la recherche scientifique et la modélisation financière.
FAQ
Q : Que traite cet article « Long-term Agent Harness » ?
R : L’article se concentre sur des problèmes tels que les agents IA qui oublient facilement le contexte lors de plusieurs tours de longues tâches, cassent des engrenages en plein milieu d’une tâche, ou déclarent leur fin prématurée, et explore comment maintenir l’avancement régulier des agents sur plusieurs sessions.
Q : Que fait l’agent initialiseur dans ce scénario ?
R : Il construit un environnement basique lors de la première exécution, incluant la génération de listes d’exigences de fonctionnalités, la création de dépôts git et de journaux de progression, l’écriture de init.sh, etc., fournissant un point de départ clair pour les agents de codage ultérieurs.
Q : En quoi un agent de codage diffère-t-il de l’approche traditionnelle « auto-écriture de tout le projet » ?
R : L’agent de codage ne sélectionne qu’une seule fonctionnalité à implémenter à chaque fois, soumet le code et met à jour le journal après l’auto-test, en mettant l’accent sur les petites étapes et le nettoyage de l’environnement pour éviter le chaos causé par des changements excessifs en même temps.
Q : Ces pratiques ne s’appliquent-elles qu’au développement d’applications web ?
R : L’exemple actuel concerne un projet web full-stack, mais l’auteur estime que des idées telles que des listes de fonctionnalités, des fichiers d’avancement et des soumissions progressives devraient être étendues à d’autres tâches à long terme telles que la recherche scientifique et la modélisation financière.