L'ingénierie en boucle multiplie par 10 les agents Hermes

AAI LABS
Computing/SoftwareInternet Technology

Transcript

00:00:00Un nouveau terme circule et vous l'avez peut-être déjà entendu. On appelle ça la "loop engineering",
00:00:04et comme tout autre terme à la mode, tout le monde en parle comme si c'était nouveau. Ce n'est pas le cas,
00:00:09mais quand on le combine avec un agent qui tourne en continu comme Hermes, ça cesse d'être du battage médiatique. La plupart des gens
00:00:13qui essaient de mettre ça en place réussissent la boucle mais oublient ce qui
00:00:17fait que ça marche vraiment. Et si vous savez déjà qu'il existe deux types de boucles, il y a une configuration spécifique à l'intérieur
00:00:22de l'une d'entre elles que presque personne n'utilise. Une fois que vous l'aurez vue, votre façon de concevoir
00:00:27la construction avec des agents changera complètement. À la fin de cette vidéo, vous comprendrez exactement ce que c'est et vous l'aurez
00:00:31opérationnel sur Hermes et même Claude Code sans avoir à intervenir du tout. Avec la "loop engineering",
00:00:36l'idée centrale est simple. Vous cessez d'être la personne qui écrit le prompt qui pilote l'agent et
00:00:41à la place, vous laissez l'agent se piloter lui-même. Mais pour comprendre pourquoi c'est un changement, il faut
00:00:46le comparer à ce qui existait avant. La compétence qui comptait était le "prompt engineering", où toute notre attention
00:00:51portait sur la rédaction de la bonne série d'instructions pour diriger correctement l'agent de codage. Mais la "loop engineering"
00:00:56inverse la donne. Au lieu d'écrire le prompt vous-même, vous concevez le système qui fait le
00:01:01"prompt engineering" pour vous et qui pilote l'agent de manière autonome. L'attention se détourne donc de la création
00:01:05d'instructions vers la conception de systèmes qui s'exécutent tout seuls. Tout cela a commencé quand le créateur
00:01:10d'OpenClaw a dit qu'on ne devrait plus "prompter" nos agents de codage et qu'on devrait se concentrer
00:01:15sur la conception de boucles qui "promptent" l'agent pour nous. Et il n'est pas le seul. Boris, créateur de
00:01:20Claude Code, a fait la même affirmation lors de la conférence annuelle des développeurs d'Anthropic, où il a déclaré qu'il
00:01:25ne "prompte" plus Claude. Il a des boucles qui tournent et qui "promptent" Claude, et il découvre lui-même
00:01:30ce qu'il y a à faire. Alors, la question est : comment s'y mettre ? Tout repose sur
00:01:34votre capacité à mettre en place des systèmes où vous n'avez pas du tout à vous soucier de "prompter" l'agent.
00:01:39Vous définissez ce dont vous avez besoin et l'agent fait le reste. C'est exactement là que se dirige
00:01:45le développement alimenté par l'IA. Avant de voir comment les construire, vous devez bien comprendre ce qu'est une boucle. Une boucle est
00:01:50essentiellement un processus où vous définissez l'objectif final et où l'agent détermine les étapes pour l'atteindre par
00:01:56lui-même. Il se corrige en cours de route et contourne les problèmes jusqu'à atteindre l'objectif fixé.
00:02:01Il y a quelques mois, avant que les modèles ne soient assez performants pour maintenir des tâches longues, ce n'était pas possible. Si vous
00:02:06aviez besoin de construire une application, vous "promptiez" l'agent, surveilliez ce qu'il faisait, vérifiiez le résultat vous-même,
00:02:11trouviez les problèmes et le re-"promptiez" pour les corriger. Vous étiez la boucle. Vous étiez la partie qui faisait la
00:02:16vérification des erreurs et la correction de trajectoire à chaque étape. C'est à cela que ressemble encore le développement pour la plupart
00:02:20des gens, et c'est exactement ce que la "loop engineering" va vous retirer de votre charge de travail. Maintenant, cela peut
00:02:25sembler être un concept flambant neuf, mais les boucles existent depuis un certain temps. Les "cron jobs" sont
00:02:30un bon exemple de boucle que vous avez probablement déjà vu. Ce sont juste des tâches programmées pour s'exécuter de manière répétée
00:02:35et automatiquement sans que vous ayez à les déclencher à chaque fois. La seule vraie différence, c'est qu'un
00:02:39cron job s'exécute à heure fixe. Donc, avec des boucles en place, le travail ne consiste plus à rédiger le prompt.
00:02:44La performance de votre agent sur une tâche dépend de la manière dont vous définissez l'objectif final. Pour certains d'entre vous,
00:02:49ce processus ressemblera beaucoup à l'apprentissage par renforcement. Si vous n'en avez jamais entendu parler, l'apprentissage par renforcement
00:02:54est essentiellement un moyen d'entraîner un modèle où vous ne lui montrez pas les bonnes réponses. Au lieu de cela, vous lui dites simplement
00:02:59quand il a bien fait et quand il a mal fait, et il finit progressivement par savoir comment s'améliorer tout seul.
00:03:04Le modèle trouve la bonne voie en essayant différentes choses. Il reçoit un signal positif quand il avance dans
00:03:09la bonne direction et un signal négatif quand ce n'est pas le cas. La même idée s'applique ici, sauf que le modèle lui-même
00:03:14n'est pas ce qui est entraîné. Au lieu de cela, l'agent travaille à l'accomplissement de la tâche que vous voulez voir réalisée,
00:03:19en itérant de la même manière qu'un modèle s'améliorerait pendant l'entraînement. S'il échoue, la boucle que vous avez
00:03:23placée sur l'agent ne marque pas la tâche comme terminée. Il réessaie, continue et se corrige jusqu'à
00:03:28ce qu'il atteigne l'objectif que vous avez fixé. Maintenant, après avoir entendu tout ça, vous vous demandez peut-être ce qu'il reste pour vous
00:03:33à faire si tout devient autonome. Mais votre rôle ne diminue pas, il devient plus important.
00:03:38Parce que ce sont vos connaissances du domaine et votre expérience qui définissent l'objectif final en premier lieu,
00:03:43et cela finit par se voir dans tout ce que vous construisez et livrez. C'est exactement pourquoi la poussée vers les boucles
00:03:48autonomes ne fait que s'accélérer, et cela se voit dans chaque nouvelle fonctionnalité qui sort en ce moment. Fable 5 est l'
00:03:54exemple le plus clair à ce jour. Anthropic l'a sorti alors même qu'ils appelaient à un ralentissement du développement de l'IA
00:03:59parce que les modèles deviennent performants à une allure difficile à suivre. Et après
00:04:03l'avoir publié pendant un certain temps, ils l'ont même retiré. Ils l'ont conçu pour des tâches longues et complexes, et il
00:04:08est plus performant à mesure que la tâche devient longue et complexe, ce qui est fondamentalement l'opposé de la façon dont les modèles
00:04:13fonctionnaient auparavant. Ce changement a vraiment commencé avec Opus 4.5. Une fois sorti, les tâches longues
00:04:19sont devenues considérablement meilleures. Et vous n'aviez plus besoin de configurer les agents avec des harnais soigneusement guidés,
00:04:23c'est-à-dire des configurations structurées qui guident l'agent à chaque étape. L'accent a plutôt été mis sur la
00:04:28préparation du projet pour une exécution à long terme, car les modèles sont maintenant assez performants pour
00:04:33gérer les choses par eux-mêmes sans trop d'assistance pas à pas. Mais la boucle n'est pas la seule chose qui
00:04:38compte. Vous devez aussi structurer votre projet de manière à laisser l'agent travailler seul pendant une
00:04:43longue période sans que vous ayez à intervenir. C'est pourquoi beaucoup de gens ont construit et mis en open source des systèmes
00:04:48pour exactement ce type de configuration. La boucle RALF en a été l'une des premières. Elle fonctionnait en définissant l'objectif final
00:04:53et en s'assurant que l'agent ne pouvait pas s'en éloigner. Elle y parvenait grâce à des "hooks", qui sont essentiellement
00:04:57des scripts qui s'exécutent automatiquement quand quelque chose de spécifique se produit. Donc, ce script empêche strictement l'agent de marquer
00:05:03une tâche comme terminée s'il n'a pas réellement rempli la condition. Mais les "hooks" sont rigides, alors Claude a introduit sa propre commande
00:05:09d'objectif, qui faisait la même chose mais avec plus de flexibilité. Au lieu d'une vérification codée en dur, elle permet
00:05:14à un autre modèle de décider si la tâche est réellement finie. Nous avons couvert Goal Buddy 2, qui s'appuyait sur
00:05:19cela en faisant en sorte que l'agent suive ses progrès dans des fichiers locaux et définisse exactement à quoi ressemble "terminé"
00:05:24avant même de commencer, afin qu'il sache toujours vers quoi il travaille. L'agent Hermes et OpenClaw ont tous deux
00:05:29été construits sur la même philosophie. Ils vous retirent complètement de l'équation et laissent l'agent gérer tout
00:05:35seul. Maintenant, si vous voulez construire ces boucles, nous avons un système simple en cinq étapes pour vous. Et comme
00:05:40il existe deux types de boucles, certaines de ces étapes fonctionnent un peu différemment, mais nous aborderons les deux types
00:05:45plus tard. Pour l'instant, nous commencerons par Claude Code et plus tard dans la vidéo, nous verrons comment faire la même
00:05:49chose avec l'agent Hermes. La première étape est de vérifier dans quel état se trouve le projet. À partir de là, le modèle
00:05:54décide quelle devrait être la prochaine action. Ensuite, il agit sur cette décision, et c'est là que le travail réel
00:05:59se produit. L'agent appelle des outils, écrit dans des fichiers et lance des commandes pour accomplir la tâche. Une fois que c'est
00:06:04fini, il recueille des retours pour voir ce qui s'est réellement passé, et sur cette base, il décide si la
00:06:09tâche est terminée ou non. C'est aussi là que la différence entre le "prompt engineering" et la "loop engineering" devient
00:06:14évidente. Avec le "prompt engineering", vous ne contrôlez que l'étape de décision, alors que la "loop engineering"
00:06:19gère les cinq étapes ensemble. Construire une boucle qui fonctionne bien signifie réussir un certain nombre de choses, et
00:06:24chacune est là à cause d'un problème spécifique qu'elle résout. La première est la gestion du contexte. Vous faites
00:06:29attention à ce qui entre dans le contexte à chaque tour, car c'est ce qui détermine ce que l'agent
00:06:34sait réellement à un moment donné. Vous ne pouvez pas compter uniquement sur le contexte de la discussion, même avec des fenêtres de contexte
00:06:39aussi grandes qu'un million de tokens (en gros, ce que l'agent peut garder en mémoire à la fois), parce qu'à mesure que la
00:06:44conversation grandit, votre prompt système et vos instructions se retrouvent enterrés sous les sorties d'outils récentes. L'attention de l'agent
00:06:50est naturellement attirée par ce qui est le plus récent, donc les choses importantes passent à la trappe. C'est pourquoi
00:06:55la gestion du contexte est si importante. La chose suivante à bien gérer est la qualité des retours. Le retour est ce qui dit
00:07:00à l'agent comment il s'en est sorti, et c'est l'un des signaux les plus importants dans tout le système. Il peut prendre beaucoup
00:07:05de formes, comme le résultat d'un test ou une capture d'écran de l'interface qu'il vient de construire. Quelle que soit sa forme,
00:07:11c'est ce que l'agent lit pour décider de son prochain mouvement. Les portes de vérification sont ce qui transforme ce retour
00:07:16en un verdict clair. Ce sont les points de contrôle qui disent à l'agent si une tâche est réellement terminée ou
00:07:21non. Vous avez aussi besoin d'une condition de terminaison, en gros une règle qui dit à la boucle quand s'arrêter, et celle-ci
00:07:26doit être définie explicitement, sinon l'agent soit s'arrête trop tôt, soit continue sans faire de réel
00:07:31progrès. Ce que les gens oublient le plus souvent, c'est la gestion des erreurs. Vous devez expliciter ce que le modèle
00:07:36doit faire quand un appel d'outil échoue, afin que le système gère cela proprement au lieu de laisser les choses dans
00:07:41un état cassé qui crée juste plus de problèmes. Et enfin, vous devez gérer l'état au fil des tours,
00:07:46en gros garder une trace de l'avancée de la tâche au fur et à mesure que la conversation grandit. La fenêtre de contexte ne peut pas
00:07:51tout contenir pour toujours, donc vous vous appuyez sur des fichiers externes qui suivent les informations pour l'agent et lui permettent de continuer
00:07:57à travailler sans perdre le fil. Une chose à garder à l'esprit cependant : comme vous confiez le travail
00:08:01de découvrir le chemin au modèle au lieu de le faire vous-même, les boucles deviennent coûteuses en tokens,
00:08:06donc vous devez être délibéré sur le moment où vous les utilisez vraiment. Plus une boucle peut
00:08:11travailler avec des tokens, mieux elle a tendance à gérer la tâche. Mais avant d'avancer, écoutons un mot de
00:08:15notre sponsor, Scrimba. La plupart des cours de Python ne sont que quelqu'un qui parle au-dessus de diapositives. Scrimba est différent,
00:08:21leur lecteur vidéo est l'éditeur de code, vous pouvez donc mettre en pause à tout moment, éditer le code de l'instructeur directement,
00:08:26et voir ce qui se passe. Pas de changement d'onglet, pas de copier-coller, juste du codage pratique dès le début.
00:08:31Leur nouveau cours "Apprendre Python" a attiré mon attention parce qu'au lieu d'exercices aléatoires, vous construisez
00:08:37vraiment quelque chose. Dès le premier jour, vous construisez PayUp, une application fonctionnelle de partage de dépenses,
00:08:42et chaque concept est appliqué immédiatement. Vous partez de zéro, aucune connaissance préalable de Python n'est requise,
00:08:47et vous travaillez sur les variables, les chaînes de caractères, la capture d'entrée utilisateur, les opérateurs arithmétiques, la conversion de type,
00:08:53le nettoyage de données et le formatage des nombres, tout cela en construisant des fonctionnalités pour l'application. À la fin,
00:08:57vous avez construit un projet opérationnel de toutes pièces qui prouve que vous connaissez vraiment Python. Ce n'est qu'une partie
00:09:02d'une série qui sera disponible dans les semaines à venir, et actuellement, c'est totalement gratuit d'
00:09:07accès. Commencez dès aujourd'hui avec leurs cours gratuits, et nos utilisateurs obtiendront 20 % de réduction supplémentaire sur leurs plans
00:09:12pro. Alors cliquez sur le lien dans le commentaire épinglé, ou scannez le code QR, et commencez à construire dès aujourd'hui.
00:09:18Comme nous l'avons mentionné, il existe deux types de boucles. La première s'appelle la boucle déterministe. Vous l'utilisez
00:09:23pour des tâches qui ont une définition claire de ce à quoi ressemble "terminé" : tests qui passent,
00:09:28compilation de code réussie, ou quoi que ce soit de ce genre. Ces boucles sont assez directes pour travailler
00:09:33vers l'objectif, car l'objectif final est clair, donc le modèle sait exactement ce qu'il doit faire avant de pouvoir déclarer
00:09:38la tâche comme terminée. Comme Hermes tourne toujours, c'est un très bon agent sur lequel implémenter cette boucle. Nous avons
00:09:43créé plusieurs flux de travail dessus auparavant, et montré dans notre vidéo précédente comment il gère une grande partie de notre travail
00:09:49par lui-même. Le cœur d'une boucle déterministe est la définition claire de l'objectif final, et pour les applications
00:09:54que vous avez hébergées, cette définition ce sont vos tests. Vous pouvez donc pointer l'agent Hermes vers n'importe quelle application que vous avez
00:09:59déployée avec des cas de test et lui demander de la surveiller pour vous. Maintenant, si un changement ou un "commit" finit par casser
00:10:04la production, vous pouvez configurer une automatisation sur Hermes pour le détecter. La raison pour laquelle ça marche le mieux ici, c'est qu'il
00:10:09est livré avec la fonctionnalité de compétences auto-évolutives, donc il crée et fait évoluer automatiquement des compétences basées sur le
00:10:14flux de travail, ce qui garde la santé de l'application sous contrôle. Une fois que vous avez configuré cette automatisation de surveillance, vous
00:10:18pouvez lui demander de lancer Claude Code en mode non interactif, en gros le faire tourner tout seul sans que vous
00:10:23ayez à le piloter, et lui faire corriger les problèmes en boucle jusqu'à ce que tous les cas de test passent. Ce qu'il fait à
00:10:28partir de là, c'est configurer le flux de travail d'automatisation et charger des compétences comme la compétence de développement piloté par sous-agent
00:10:34et la compétence de flux de travail GitHub PR qui lui disent comment gérer l'application sur GitHub. Il identifie d'abord les
00:10:39problèmes qui cassaient la production, puis lance Claude Code en mode non interactif qui reprend
00:10:44les tests et valide les changements une fois que tous sont passés. Après avoir exécuté chaque test et corrigé tout ce qui
00:10:50causait l'échec de la production, il utilise le CLI GitHub pour valider les changements. L'application finit par tourner
00:10:55sans aucune erreur parce qu'il a confirmé que toutes les vérifications pour un déploiement réussi sont en place.
00:11:00Si vous aimez ces analyses, abonnez-vous à la chaîne, cliquez sur la cloche de notification et appuyez sur le bouton
00:11:05"hype" aussi. Sur la chaîne, nous publions du contenu qui vous aide à apprendre de nouvelles façons d'optimiser différents
00:11:10processus dans différentes entreprises avec l'IA. Votre soutien, que ce soit en vous abonnant, par la cloche de notification
00:11:15ou par le bouton "hype", nous aide à créer plus de contenu comme celui-ci et à toucher plus de gens. Ça compte beaucoup pour nous.
00:11:21Maintenant, le deuxième type est la boucle non déterministe. Ce sont des tâches où vous ne pouvez pas juste définir une règle claire
00:11:26pour vérifier si le travail est fait comme vous pouvez le faire avec les boucles déterministes. À cause de cela,
00:11:31il n'y a pas de moyen propre de vérifier le résultat. Ce sont le genre de choses que nous, humains, pouvons regarder
00:11:36et juger par nous-mêmes, comme construire une interface ou implémenter une fonctionnalité qui nécessite un jugement.
00:11:41Donc, quand vous travaillez avec une boucle non déterministe, le flux de travail est différent. Si vous appliquez
00:11:46l'IA à une interface, vous savez déjà qu'elle a tendance à retomber toujours sur les mêmes motifs. C'est pourquoi nous
00:11:51avons créé une compétence appelée "Détecteur de Slop IA" qui contient toutes les instructions sur la façon d'éviter le "slop" IA et liste
00:11:57les motifs qui le trahissent vraiment. Et la raison pour laquelle nous utilisons Hermes à nouveau est les compétences
00:12:02auto-évolutives. Si nous trouvons encore du "slop" IA dans l'interface après avoir exécuté la compétence, la compétence peut se mettre à jour
00:12:07pour intégrer ce retour directement, et c'est exactement pourquoi nous avons configuré ce flux de travail sur Hermes. Donc nous avons demandé
00:12:13à Hermes d'utiliser la compétence et de vérifier si l'interface a l'un de ces motifs. S'il en a, il les corrige
00:12:18et lance Claude Code en mode non interactif pour exécuter la compétence et continuer à corriger ce qu'il trouve jusqu'à
00:12:23ce qu'il n'y ait plus rien à corriger. Un autre avantage que nous tirons d'Hermes est que le modèle qui revoit le travail est
00:12:28différent de celui qui le construit. Nous utilisions les modèles GPT qui sont connus pour être parmi les meilleurs pour
00:12:33la revue de code, donc les modèles Claude deviennent le constructeur et l'autre agent devient le vérificateur. C'est ce qui
00:12:38complète la boucle adverse où les deux vérifient le travail de l'autre. Une fois que cette boucle a tourné, elle a généré une
00:12:43interface bien meilleure que la sortie générique que les modèles Opus sortent de nos jours. Et si vous repérez encore un signe de "slop" IA
00:12:49dans l'interface après la fin de la boucle d'agent, vous pouvez simplement le mentionner et il mettra à jour la compétence pour
00:12:54vous, renforçant le vérificateur que vous avez déjà. Nous avons amélioré cette compétence pour correspondre à plusieurs motifs de "slop" IA
00:12:59que nous et Hermes avons identifiés collectivement. Si vous voulez utiliser cette compétence, vous pouvez l'obtenir dans notre
00:13:04communauté AI Labs Pro. Le lien sera dans la description. Cela nous amène à la fin de cette vidéo.
00:13:09Si vous souhaitez soutenir la chaîne et nous aider à continuer à faire des vidéos comme celle-ci, vous pouvez le faire en utilisant le
00:13:14bouton "super merci" ci-dessous. Comme toujours, merci d'avoir regardé et je vous verrai dans la prochaine.

Key Takeaway

La “loop engineering” automatise le développement logiciel en confiant aux agents la gestion autonome de l'intégralité du cycle de tâche, de la planification à la validation, plutôt que de dépendre de prompts manuels à chaque étape.

Highlights

  • La “loop engineering” permet aux agents autonomes comme Hermes et Claude Code de piloter eux-mêmes leurs tâches, remplaçant l'ingénierie de prompts manuelle.

  • Ce système repose sur cinq étapes clés : vérification de l'état du projet, décision d'action, exécution des outils, recueil des retours et validation finale.

  • Les boucles déterministes utilisent des conditions claires comme des tests unitaires réussis pour valider le travail de l'agent.

  • Les boucles non déterministes, utilisées pour le design ou l'interface, s'appuient sur des vérificateurs secondaires (comme une boucle adverse entre deux modèles) pour corriger les erreurs.

  • Les agents équipés de capacités d'auto-évolution, comme Hermes, peuvent mettre à jour leurs propres compétences en intégrant les retours d'erreurs passées.

Timeline

Passage du prompt engineering à la loop engineering

  • Le “loop engineering” transfère la responsabilité du pilotage de l'agent de l'humain vers le système lui-même.
  • La conception de systèmes autonomes remplace la rédaction manuelle de séries d'instructions.
  • Les agents actuels sont capables de gérer des tâches longues et complexes de manière continue sans intervention humaine.

L'approche traditionnelle consistait à écrire un prompt, surveiller l'agent, vérifier les résultats et re-prompter en cas d'erreur. Cette nouvelle méthode conçoit un système qui boucle sur ces étapes de façon autonome. L'attention se déplace de la rédaction d'instructions individuelles vers la conception de structures système robustes.

Mécanismes et composants d'une boucle autonome

  • Un système de boucle autonome se compose de cinq étapes : état, décision, exécution, retour et validation.
  • La gestion du contexte est cruciale pour éviter que les instructions système ne soient submergées par les logs récents.
  • Les erreurs d'outils doivent être explicitement gérées pour empêcher l'agent de s'arrêter ou de laisser le système dans un état corrompu.

Pour construire une boucle fonctionnelle, il est nécessaire de gérer le contexte de travail, la qualité des retours et de définir des conditions de terminaison claires. L'utilisation de fichiers externes permet de maintenir l'état du projet au-delà de la fenêtre de contexte limitée du modèle. Des scripts de contrôle, appelés hooks, garantissent que les conditions de succès sont réellement remplies avant la clôture de la tâche.

Implémentation des boucles déterministes et non déterministes

  • Les boucles déterministes s'appuient sur des tests de production ou de compilation pour valider l'objectif final.
  • Les boucles non déterministes, comme celles pour l'interface utilisateur, utilisent des modèles vérificateurs distincts pour juger la qualité.
  • Les compétences auto-évolutives permettent aux agents comme Hermes d'intégrer les erreurs de tentatives précédentes dans leurs futures itérations.

Les tâches techniques claires utilisent la surveillance automatisée pour déclencher des corrections automatiques via Claude Code jusqu'à la réussite des tests. Pour les tâches subjectives, une configuration adverse où un modèle construit et un autre vérifie améliore significativement la qualité. La capacité d'Hermes à auto-évoluer permet de corriger des motifs d'erreurs récurrents, comme le “slop” IA dans les interfaces, de manière itérative.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video