L’ingénierie des boucles consiste à concevoir des workflows agentiques, ou boucles, qui guident de manière itérative les agents d’IA vers la réalisation d’objectifs définis par l’utilisateur avec une intervention humaine minimale. Plutôt que de nécessiter une intervention humaine à chaque étape, les boucles d’agents permettent à ces derniers d’agir, d’observer, de prendre des décisions et d’itérer de manière dynamique jusqu’à ce qu’une tâche soit achevée.
L’ingénierie de boucle redéfinit le rôle des développeurs : il ne s’agit plus de donner des instructions aux agents d’IA, mais de concevoir des systèmes automatisés qui incitent, vérifient et guident les agents. Au sein d’une boucle bien conçue, un agent est capable de raisonner, d’agir, d’examiner les résultats de ses actions et d’ajuster ses actions suivantes en conséquence.
L’ingénierie de boucle est une pratique émergente d’ingénierie agentique qui sous-tend de nombreux agents de codage IA tels qu’IBM Bob, Claude Code et Codex d’OpenAI. Elle optimise l’ensemble du système d’exécution, permettant ainsi aux agents de résoudre des problèmes complexes en plusieurs étapes avec un minimum de supervision.
Le prompt engineering consiste à créer l’instruction la plus efficace et la mieux optimisée pour un modèle d’IA. L’ingénierie de boucle conçoit des systèmes automatisés qui se donnent eux-mêmes des prompts et évaluent leur propre travail jusqu’à ce qu’ils atteignent un objectif défini.
Avec le prompt engineering, ce sont les humains qui élaborent les prompts, évaluent les résultats et créent les prochains prompts à chaque étape. L’ingénierie de boucle produit des systèmes largement automatisés qui affinent leurs propres instructions internes pour obtenir des résultats optimaux. Alors que les chaînes de prompts suivent une structure rigide, les boucles sont dynamiques et flexibles.
Le prompt engineering convient aux interactions ponctuelles ou aux appels de modèles individuels. L’ingénierie de boucle est mieux adaptée aux agents fonctionnant sur le long terme et gérant des workflows tels que la génération autonome de code, la maintenance logicielle ou l’exécution de tâches en plusieurs étapes.
Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.
Les boucles d’agents suivent généralement un schéma standard :
Un objectif récursif est évalué à chaque itération d’une boucle d’agent, ce qui permet de maintenir l’agent concentré sur sa tâche tout en évitant les itérations inutiles et en maîtrisant les coûts en tokens. Les objectifs récursifs fournissent aux agents d’IA des cibles explicites, y compris des critères d’arrêt clairs et vérifiables. Ils doivent être spécifiques, délimités de manière appropriée et décomposés en sous-tâches testables dans la mesure du possible.
« Accélérez le chargement de mon site web » est une formulation vague, tandis que « cessez d’itérer lorsque votre code réussit tous les tests unitaires et satisfait aux exigences requises » donne à l’agent un objectif mesurable et une condition d’arrêt claire.
L’agent prend en compte son objectif et sa progression actuelle, puis agit de manière à se rapprocher davantage de cet objectif. Une action peut consister à générer du code, à exécuter un test unitaire ou à corriger un bug.
Le système agentique évalue le résultat de l’action. Avec la génération automatisée de code, l’agent peut exécuter un test d’intégration continue (CI) pour vérifier si le code généré réussit ou échoue.
Sur la base de cette observation, le système évalue le retour d’information et apporte les modifications nécessaires à son approche avant de relancer la boucle agentique.
Les boucles bien conçues peuvent fonctionner avec un minimum de supervision tout en restant efficaces, fiables et bien délimitées. Ce sont des processus efficaces qui limitent la consommation de tokens, s’arrêtent au bon moment et aboutissent à des résultats fiables. À l’inverse, les boucles mal conçues sont inefficaces et gaspillent des tokens en raison de tentatives infructueuses répétées, d’un travail inutile ou d’un raisonnement erroné.
Lorsqu’ils conçoivent des boucles destinées à produire de bons résultats, les développeurs intègrent généralement :
C’est la répétition qui distingue les boucles des prompts ponctuels. Selon l’assistant de codage utilisé, les boucles sont gérées via des automatisations ou une planification. Ces deux méthodes définissent la cadence de la boucle : elles lui indiquent quoi faire et à quelle fréquence. Par exemple, les développeurs utilisent souvent GitHub Actions pour planifier ou déclencher des boucles d’agents.
Les systèmes basés sur Unix, tels que Linux ou macOS, automatisent les tâches à l’aide d’un planificateur temporel appelé tâche cron.
Contrairement aux automatisations planifiées, les crochets sont des instructions déclenchées par des événements tels que la génération de code, la modification d’un fichier, l’appel d’un outil ou l’achèvement d’une tâche. Ils peuvent se déclencher avant ou après l’événement associé.
Les développeurs utilisent principalement les crochets à des fins de sécurité et de qualité, notamment pour appliquer des politiques, valider les résultats et déclencher automatiquement des workflows. Ainsi, un crochet avant validation peut servir à vérifier la conformité du code aux normes avant que les modifications ne soient validées dans le dépôt.
Les crochets déchargent les agents de la boucle de tâches telles que la gouvernance et les contrôles de qualité, ce qui réduit les coûts de tokens et la consommation de ressources de calcul.
Chaque cycle de la boucle génère des données, appelées contexte, qui alimentent les cycles suivants. Les agents d’IA modernes et les grands modèles de langage (LLM) disposent de larges fenêtres de contexte, ce qui signifie que les utilisateurs peuvent saisir d’énormes quantités de données en une seule fois. Cependant, fournir un contexte excessif peut réduire la pertinence, augmenter les coûts et compliquer la tâche du modèle pour identifier les informations les plus importantes.
L’ingénierie du contexte consiste à concevoir des systèmes qui fournissent les données dont le modèle d’IA a besoin tout en minimisant le contexte superflu. Les stratégies employées incluent la synthèse des itérations précédentes de la boucle pour compresser le contexte et l’utilisation du Markdown pour améliorer la structuration du contexte.
Les ingénieurs de boucles exploitent couramment des serveurs MCP (Model Context Protocol) en complément d’autres API et intégrations pour permettre aux agents d’effectuer des actions autonomes à l’aide de connecteurs et d’outils. Sans accès aux outils, les agents ne peuvent que décrire ce qu’ils feraient plutôt que d’agir sur des systèmes externes.
Les agents de codage emploient des outils pour exécuter du code, accéder à des systèmes de fichiers, exécuter des commandes dans le terminal ou le shell, interroger des bases de données et effectuer des tests. L’ingénierie de harnais d’agents est une pratique émergente consistant à concevoir des environnements d’exécution complets autour d’un agent afin de créer des systèmes persistants et autocorrecteurs.
Les arbres de travail permettent la création de branches afin que plusieurs agents puissent agir simultanément sans affecter le travail des autres. Les arbres Git permettent à plusieurs répertoires de travail de partager un seul dépôt, ce qui facilite la création de branches parallèles sans dupliquer l’historique du dépôt. Les agents ne fusionnent pas les branches tant que le code n’a pas été testé, révisé par un humain ou qu’un autre critère défini par l’utilisateur n’est pas rempli.
Les compétences contiennent des connaissances spécifiques à une tâche pour un workflow récurrent unique. Les agents se réfèrent au fichier de compétences lorsqu’ils exécutent la tâche associée. Certains assistants de codage structurent les compétences sous forme de dossiers contenant un fichier skill.md avec des instructions et des métadonnées. En comparaison, les fichiers d’instructions au niveau du projet, tels que agents.md, s’étendent à l’ensemble du dépôt.
Sans compétences, les utilisateurs doivent inclure le contexte du projet à chaque session ou laisser les agents deviner ce qu’ils sont censés faire (et courir le risque que les agents se trompent). Les compétences peuvent être partagées entre les projets et les référentiels sous forme de plug-ins.
L’agent principal peut déléguer à des agents spécialisés, appelés sous-agents, la tâche de remplir un rôle spécifique, tel que la recherche, l’exploration, la mise en œuvre ou la vérification. Une bonne ingénierie de boucle emploie une structure dite créateur/vérificateur dans laquelle un agent vérifie le code d’un autre afin d’en améliorer la qualité.
Bien que les sous-agents augmentent l’utilisation de tokens, un sous-agent de vérification distinct, doté de ses propres instructions, offre généralement une meilleure assurance qualité que le fait de laisser l’agent de codage vérifier son propre code. Certaines plateformes de code exploitent un sous-agent distinct pour surveiller la progression des tâches et déterminer quand la condition de terminaison est remplie.
Les boucles comprennent une épine dorsale : un état persistant ou une mémoire permettant de suivre la progression du projet et d’éviter la répétition des erreurs. À chaque cycle, l’agent ajoute les résultats de ses actions à un état persistant, à un espace de stockage en mémoire ou à un outil de suivi de projet, tel qu’un fichier Markdown ou un tableau Linear. L’épine dorsale conserve l’état et le contexte afin d’orienter les itérations futures.
Même les boucles les plus robustes et les plus résilientes nécessitent une intervention humaine. Les entreprises tirent le meilleur parti de l’IA lorsqu’elles l’emploient pour accélérer la livraison de logiciels tout en s’appuyant sur les humains pour la qualité, la sécurité et les résultats commerciaux.
Une approche avec supervision humaine (human-in-the-loop) permet d’éviter les écueils les plus dangereux de la génération automatisée de code, tels que le code non vérifié, la dette de compréhension, la dette d’intention et l’abandon cognitif.
Un agent de vérification n’est qu’un simple agent, et ce sont les développeurs humains qui sont en dernier ressort responsables de tout le code livré. Une gouvernance efficace de l’IA nécessite une supervision humaine non seulement pour vérifier que le code fonctionne, mais aussi pour s’assurer qu’il n’expose pas de données sensibles et qu’il n’enfreint aucune réglementation applicable.
L’écart entre la quantité totale de code dans un système et le degré de compréhension qu’en ont les humains est appelé dette de compréhension. À mesure que les agents écrivent davantage de code et que les humains en vérifient moins, cette dette augmente.
Alors que la dette technique traditionnelle résulte de raccourcis délibérés, la dette de compréhension est passive. Elle s’accumule rapidement en raison de la vitesse à laquelle les agents génèrent du code, et souvent de manière silencieuse, car le code passe ses tests automatisés. Si elle n’est pas atténuée, les entreprises découvrent souvent une dette de compréhension importante lorsque les développeurs doivent déboguer des défaillances en production, mettre en œuvre des changements majeurs ou réagir à des incidents.
La dette d’intention correspond à la perte d’explications concrètes qui justifient la logique sous-jacente d’un système. À moins d’être explicitement détaillée dans des fichiers tels que agents.md et skill.m,, l’intention du développeur est difficile à déduire de manière fiable par les agents. Sans elle, les agents peuvent finir par optimiser leurs actions en fonction d’objectifs stratégiques erronés, apportant des modifications au code qui sont techniquement valables mais contraires aux objectifs du projet.
À mesure que les humains deviennent plus dépendants de l’IA, ils deviennent plus enclins à l’abandon cognitif : l’externalisation de la réflexion critique vers l’IA. Alors que le délestage cognitif représente la supervision, vérifiée par l’humain, des résultats générés, l’abandon cognitif correspond à une perte totale de contrôle.
Lorsque les développeurs acceptent sans réserve les résultats de la boucle, la dette de compréhension augmente rapidement.
Accélérez la livraison de logiciels grâce à IBM Bob, votre partenaire d’IA pour un développement sécurisé et sensible aux intentions.
Développez, déployez et gérez plus rapidement des applications d’IA grâce à des outils adaptés aux entreprises.
Repensez vos systèmes hérités grâce à une modernisation intelligente basée sur l’IA.