Comment fonctionnent les agents de codage IA – et ce qu’il faut retenir si vous les utilisez
Aller au contenu
Texte de l’article
Réservé aux abonnés
En savoir plus
Réduire à la navigation
Les agents de codage IA d’OpenAI, Anthropic et Google peuvent désormais travailler sur des projets logiciels pendant des heures d’affilée, écrivant des applications complètes, exécutant des tests et corrigeant des bugs sous supervision humaine. Mais ces outils ne sont pas magiques et peuvent compliquer plutôt que simplifier un projet logiciel. Comprendre leur fonctionnement interne peut aider les développeurs à savoir quand (et si) les utiliser, tout en évitant les pièges courants.
Commençons par les bases : Au cœur de chaque agent de codage IA se trouve une technologie appelée modèle de langage de grande taille (LLM), qui est un type de réseau de neurones entraîné sur d’énormes quantités de données textuelles, y compris beaucoup de code de programmation. C’est une machine de reconnaissance de motifs qui utilise une invite pour « extraire » des représentations statistiques compressées des données qu’elle a vues pendant l’entraînement et fournir une continuation plausible de ce motif en sortie. Dans cette extraction, un LLM peut interpoler entre domaines et concepts, ce qui donne des inférences logiques utiles lorsque c’est bien fait et des erreurs de confabulation lorsque c’est mal fait.
Ces modèles de base sont ensuite affinés grâce à des techniques comme l’ajustement fin sur des exemples sélectionnés et l’apprentissage par renforcement à partir de retours humains (RLHF), qui façonnent le modèle pour suivre les instructions, utiliser des outils et produire des résultats plus utiles.
Une capture d’écran de l’interface en ligne de commande Claude Code. Crédit : Anthropic
Au cours des dernières années, les chercheurs en IA ont sondé les déficiences des LLM et trouvé des moyens de les contourner. Une innovation récente était le modèle de raisonnement simulé, qui génère du contexte (étendant l’invite) sous forme de texte de style raisonnement qui peut aider un LLM à cibler un résultat plus précis. Une autre innovation était une application appelée « agent » qui relie plusieurs LLM ensemble pour effectuer des tâches simultanément et évaluer les résultats.
Comment les agents de codage sont structurés
En ce sens, chaque agent de codage IA est un programme enveloppe qui fonctionne avec plusieurs LLM. Il y a généralement un LLM « superviseur » qui interprète les tâches (invites) de l’utilisateur humain et assigne ensuite ces tâches à des LLM parallèles qui peuvent utiliser des outils logiciels pour exécuter les instructions. L’agent superviseur peut interrompre les tâches en dessous de lui et évaluer les résultats des sous-tâches pour voir comment un projet progresse. La documentation technique d’Anthropic décrit ce modèle comme « recueillir le contexte, agir, vérifier le travail, répéter ».
S’ils sont exécutés localement via une interface en ligne de commande (CLI), les utilisateurs donnent aux agents une permission conditionnelle d’écrire des fichiers sur la machine locale (code ou tout ce qui est nécessaire), d’exécuter des commandes exploratoires (par exemple, « ls » pour lister les fichiers dans un répertoire), de récupérer des sites Web (généralement en utilisant « curl »), de télécharger des logiciels ou de téléverser des fichiers vers des serveurs distants. Il y a beaucoup de possibilités (et de dangers potentiels) avec cette approche, elle doit donc être utilisée avec précaution.
En revanche, lorsqu’un utilisateur démarre une tâche dans l’agent Web comme les versions Web de Codex et Claude Code, le système provisionne un conteneur cloud isolé préchargé avec le dépôt de code de l’utilisateur, où Codex peut lire et modifier des fichiers, exécuter des commandes (y compris des harnais de test et des analyseurs) et exécuter du code de manière isolée. Claude Code d’Anthropic utilise des fonctionnalités au niveau du système d’exploitation pour créer des limites de système de fichiers et de réseau dans lesquelles l’agent peut travailler plus librement.
Le problème du contexte
Chaque LLM a une mémoire à court terme, pour ainsi dire, qui limite la quantité de données qu’il peut traiter avant d’« oublier » ce qu’il fait. C’est ce qu’on appelle le « contexte ». Chaque fois que vous soumettez une réponse à l’agent superviseur, vous modifiez une gigantesque invite qui inclut tout l’historique de la conversation jusqu’à présent (et tout le code généré, plus les jetons de raisonnement simulé que le modèle utilise pour « réfléchir » davantage à un problème). Le modèle d’IA évalue ensuite cette invite et produit un résultat. C’est un processus très coûteux en calcul qui augmente de manière quadratique avec la taille de l’invite car les LLM traitent chaque jeton (morceau de données) par rapport à tous les autres jetons de l’invite.
L’équipe technique d’Anthropic décrit le contexte comme une ressource finie avec des rendements décroissants. Des études ont révélé ce que les chercheurs appellent la « pourriture du contexte » : à mesure que le nombre de jetons dans la fenêtre de contexte augmente, la capacité du modèle à se souvenir avec précision des informations diminue. Chaque nouveau jeton épuise ce que la documentation appelle un « budget d’attention ».
Cette limite de contexte limite naturellement la taille d’une base de code qu’un LLM peut traiter à la fois, et si vous alimentez le modèle d’IA avec beaucoup d’énormes fichiers de code (qui doivent être réévalués par le LLM chaque fois que vous envoyez une autre réponse), cela peut brûler des limites de jetons ou d’utilisation assez rapidement.
Astuces du métier
Pour contourner ces limites, les créateurs d’agents de codage utilisent plusieurs astuces. Par exemple, les modèles d’IA sont ajustés pour écrire du code afin d’externaliser des activités vers d’autres outils logiciels. Par exemple, ils peuvent écrire des scripts Python pour extraire des données d’images ou de fichiers plutôt que de faire passer tout le fichier par un LLM, ce qui économise des jetons et évite des résultats inexacts.
La documentation d’Anthropic note que Claude Code utilise également cette approche pour effectuer des analyses de données complexes sur de grandes bases de données, en écrivant des requêtes ciblées et en utilisant des commandes Bash comme « head » et « tail » pour analyser de grands volumes de données sans jamais charger les objets de données complets dans le contexte.
(D’une certaine manière, ces agents IA sont des programmes guidés mais semi-autonomes utilisant des outils qui sont une extension majeure d’un concept que nous avons vu pour la première fois début 2023.)
Une autre percée majeure dans les agents est venue de la gestion dynamique du contexte. Les agents peuvent le faire de plusieurs manières qui ne sont pas entièrement divulguées dans les modèles de codage propriétaires, mais nous connaissons la technique la plus importante qu’ils utilisent : la compression du contexte.
La version en ligne de commande d’OpenAI Codex s’exécutant dans une fenêtre de terminal macOS. Crédit : Benj Edwards
Lorsqu’un LLM de codage approche de sa limite de contexte, cette technique compresse l’historique du contexte en le résumant, perdant des détails dans le processus mais raccourcissant l’historique aux détails clés. La documentation d’Anthropic décrit ce « compactage » comme distillant le contenu du contexte de manière haute fidélité, préservant les détails clés comme les décisions architecturales et les bugs non résolus tout en écartant les sorties d’outils redondantes.
Cela signifie que les agents de codage IA « oublient » périodiquement une grande partie de ce qu’ils font chaque fois que cette compression se produit, mais contrairement aux anciens systèmes basés sur LLM, ils ne sont pas complètement désorientés sur ce qui s’est passé et peuvent rapidement se réorienter en lisant le code existant, les notes écrites laissées dans les fichiers, les journaux de modifications, etc.
La documentation d’Anthropic recommande d’utiliser des fichiers CLAUDE.md pour documenter les commandes bash courantes, les fichiers principaux, les fonctions utilitaires, les directives de style de code et les instructions de test. AGENTS.md, désormais une norme multi-entreprises, est un autre moyen utile de guider les actions des agents entre les actualisations de contexte. Ces fichiers agissent comme des notes externes qui permettent aux agents de suivre les progrès à travers des tâches complexes tout en maintenant un contexte critique qui serait autrement perdu.
Pour les tâches nécessitant un travail prolongé, les deux entreprises emploient des architectures multi-agents. Selon la documentation de recherche d’Anthropic, son système utilise un « modèle orchestrateur-travailleur » dans lequel un agent principal coordonne le processus tout en déléguant à des sous-agents spécialisés qui opèrent en parallèle. Lorsqu’un utilisateur soumet une requête, l’agent principal l’analyse, développe une stratégie et génère des sous-agents pour explorer différents aspects simultanément. Les sous-agents agissent comme des filtres intelligents, ne retournant que les informations pertinentes plutôt que leur contexte complet à l’agent principal.
L’approche multi-agents brûle les jetons rapidement. La documentation d’Anthropic note que les agents utilisent généralement environ quatre fois plus de jetons que les interactions de chatbot, et les systèmes multi-agents utilisent environ 15 fois plus de jetons que les chats. Pour la viabilité économique, ces systèmes nécessitent des tâches où la valeur est suffisamment élevée pour justifier le coût accru.
Meilleures pratiques pour les humains
Bien que l’utilisation de ces agents soit controversée dans certains cercles de programmation, si vous en utilisez un pour coder un projet, connaître de bonnes pratiques de développement logiciel aide à éviter des problèmes futurs. Par exemple, il est bon de connaître le contrôle de version, de faire des sauvegardes progressives, de mettre en œuvre une fonctionnalité à la fois et de la tester avant de passer à autre chose.
Ce que les gens appellent le « codage d’ambiance » – créer du code généré par IA sans comprendre ce qu’il fait – est clairement dangereux pour le travail en production. Expédier du code que vous n’avez pas écrit vous-même dans un environnement de production est risqué car il pourrait introduire des problèmes de sécurité ou d’autres bugs ou commencer à accumuler une dette technique qui pourrait faire boule de neige avec le temps.
Le chercheur indépendant en IA Simon Willison a récemment soutenu que les développeurs utilisant des agents de codage portent toujours la responsabilité de prouver que leur code fonctionne. « Presque n’importe qui peut demander à un LLM de générer un correctif de mille lignes et le soumettre pour révision de code », a écrit Willison. « Ce n’est plus précieux. Ce qui est précieux, c’est de contribuer du code dont le fonctionnement est prouvé. »
En fait, la planification humaine est essentielle. La documentation des meilleures pratiques de Claude Code recommande un flux de travail spécifique pour les problèmes complexes : d’abord, demandez à l’agent de lire les fichiers pertinents et dites-lui explicitement de ne pas encore écrire de code, puis demandez-lui de faire un plan. Sans ces étapes de recherche et de planification, la documentation avertit que les sorties de Claude ont tendance à sauter directement au codage d’une solution.
Sans planification, les LLM atteignent parfois des solutions rapides pour satisfaire un objectif momentané qui pourrait se casser plus tard si un projet était étendu. Donc avoir une idée de ce qui fait une bonne architecture pour un programme modulaire qui peut être étendu au fil du temps peut vous aider à guider le LLM pour créer quelque chose de plus durable.
Comme mentionné ci-dessus, ces agents ne sont pas parfaits, et certaines personnes préfèrent ne pas les utiliser du tout. Un essai contrôlé randomisé publié par l’organisation de recherche à but non lucratif METR en juillet 2025 a constaté que les développeurs open source expérimentés prenaient en fait 19 pour cent plus de temps pour accomplir des tâches lors de l’utilisation d’outils d’IA, malgré le fait qu’ils croyaient travailler plus rapidement. Les auteurs de l’étude notent plusieurs mises en garde : les développeurs étaient très expérimentés avec leurs bases de code (en moyenne cinq ans et 1 500 commits), les dépôts étaient grands et matures, et les modèles utilisés (principalement Claude 3.5 et 3.7 Sonnet via Cursor) ont depuis été remplacés par des versions plus performantes.
La question de savoir si les modèles plus récents produiraient des résultats différents reste ouverte, mais l’étude suggère que les outils de codage IA ne fournissent pas toujours des accélérations universelles, en particulier pour les développeurs qui connaissent déjà bien leurs bases de code.
Compte tenu de ces dangers potentiels, le codage de démonstrations de preuve de concept et d’outils internes est probablement l’utilisation idéale des agents de codage en ce moment. Étant donné que les modèles d’IA n’ont aucune agence réelle (malgré le fait d’être appelés agents) et ne sont pas des personnes qui peuvent être tenues responsables des erreurs, la supervision humaine est essentielle.
Benj Edwards
Reporter Senior IA
Benj Edwards est le reporter senior IA d’Ars Technica et fondateur de la couverture dédiée à l’IA du site en 2022. Il est également historien de la technologie avec près de deux décennies d’expérience. Pendant son temps libre, il écrit et enregistre de la musique, collectionne des ordinateurs vintage et aime la nature. Il vit à Raleigh, NC.
7
Vue du forum
Chargement des commentaires…
Article précédent
Article suivant
1. « Yo quoi ? » LimeWire réapparaît dans la ruée en ligne pour partager un segment de « 60 Minutes » retiré
2. Un comité de sécurité dit que la NASA aurait dû prendre l’incident de Starliner plus au sérieux
3. Les nouveaux moteurs de F1 causent de la consternation concernant les taux de compression
4. La plus grande bibliothèque pirate du monde a fait une copie de 300To des chansons les plus écoutées de Spotify
5. L’interdiction d’importation de la FCC sur les meilleurs nouveaux drones commence aujourd’hui
Personnaliser







Un commentaire
Pas mal