Oubliez Codex vs Claude Code, Goal Buddy résout enfin les deux problèmes

AAI LABS
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Voici Gary l'escargot, qui a identifié une opportunité de marché pour créer une plateforme de rencontre pour escargots.
00:00:04Mais comme il est super lent, il veut que Claude Code gère ses tâches de longue haleine de manière autonome.
00:00:09Heureusement pour lui, les agents sont devenus très bons pour les tâches de longue durée. Claude Code a une
00:00:13commande "goal" qui permet à l'agent de continuer à travailler jusqu'à ce que la tâche soit terminée. Mais lors de nos
00:00:18tests, nous avons découvert beaucoup de problèmes avec cette commande. Comme Gary vient de traverser un
00:00:22divorce et que nous voulons qu'il soit heureux, nous avons trouvé cet outil open source qui corrige réellement le problème,
00:00:28et il ne fonctionne pas seulement avec Claude Code, mais aussi avec Codex. Répandre l'amour, tout comme ta mère qui, j'en
00:00:32suis sûr, t'aime autant que ton frère qui a un emploi. Claude Code avait précédemment sorti une commande appelée
00:00:38"goal" qui permet à l'agent de travailler jusqu'à ce qu'une certaine condition soit remplie. Nous n'avons pas couvert celle-ci sur notre
00:00:42chaîne, mais vous en avez probablement déjà entendu parler. Avant cela, il y avait un plugin appelé Ralph Wiggum
00:00:47qui a gagné beaucoup en popularité et qui faisait essentiellement la même chose. Il utilisait des hooks pour renvoyer le prompt
00:00:52à Claude Code jusqu'à ce que la condition soit réellement atteinte. Mais le problème, c'est que ces conditions doivent correspondre
00:00:57exactement, car la boucle Ralph utilise un script shell pour vérifier la condition littéralement, comme
00:01:02le garde à l'aéroport qui ne vous laisse pas passer parce que votre déodorant dépasse la limite
00:01:06de bagages. La commande "goal" fonctionne différemment : elle prend la condition et la conversation jusqu'ici et les transmet
00:01:11à un petit modèle, Haiku, et ce modèle évalue intelligemment si la tâche est terminée ou non.
00:01:17Il renvoie une décision oui ou non, et un "non" dit à Claude de continuer à itérer sur la même tâche, comme quand votre patron
00:01:22vous dit d'améliorer l'expérience utilisateur parce qu'il ne trouve tout simplement pas un bouton sur la page. Cela rend
00:01:27l'évaluation subjective, et pour des choses que nous ne pouvons pas quantifier par nous-mêmes, c'est une vraie amélioration.
00:01:32La commande "goal" fonctionne bien pour beaucoup de tâches, mais elle présente encore beaucoup de problèmes. Le premier est qu'elle
00:01:37n'utilise aucune base de connaissances ou système de fichiers qui suit la progression de la tâche. Comme elle ne
00:01:42fait pas ça, la seule source de vérité pour l'agent devient le contexte de la discussion. Cela pourrait vous rappeler
00:01:47ce souvenir douloureux, comme quand c'était votre père qui avait écrit la fortune en crypto sur un post-it tombé du frigo en
00:01:522017. Une fois que la session se termine pour une raison quelconque et que l'objectif n'a pas été atteint, vous pouvez bien sûr reprendre avec
00:01:58la commande de reprise de Claude. L'objectif ne sera pas perdu, mais la seule façon dont il sait où il s'est arrêté est le
00:02:03contexte du chat. Et comme cette commande est destinée à des tâches de longue haleine et non à des tâches simples, les choses peuvent devenir
00:02:08brouillonnes entre-temps. Bien sûr, avec l'objectif tournant pendant des heures, le gonflement du contexte et l'atteinte de la compaction
00:02:13deviennent forcément un vrai problème à un moment donné. Après la compaction, le résultat de l'agent se dégrade.
00:02:18Il commence à se comporter comme ma grand-mère qui, à cause de sa démence, commence à oublier le nom de
00:02:22cette chaîne. J'ai besoin que vous regardiez la dernière vidéo pour elle. Un autre problème est qu'il ne
00:02:27décompose pas les tâches en tâches plus petites. Au lieu de cela, il utilise simplement l'agent principal et effectue la décomposition des tâches
00:02:32par lui-même, comme Claude Code le fait normalement. Il n'y a donc pas de plan structuré et l'agent peut perdre la trace
00:02:37de ce qu'il reste à faire. Même si cela peut bien fonctionner dans certains cas, une définition peu claire
00:02:42de ce à quoi ressemble la fin d'une tâche pour les agents n'est jamais la bonne chose. L'objectif repose entièrement sur
00:02:47le modèle pour évaluer l'achèvement, donc cela pourrait ne pas être aussi efficace dans certains cas. C'est mieux que
00:02:52Ralph Wiggum qui est complètement rigide avec ses scripts, mais il devrait au moins y avoir une mesure
00:02:56qui indique à l'agent à quoi ressemble la fin, tout comme votre photographe de mariage qui ne cessait de dire
00:03:01"une dernière photo" jusqu'à ce que tout l'événement soit terminé. C'est là que l'objectif échoue, et ces choses
00:03:05peuvent sembler mineures, mais dans des flux de travail réels et lourds, elles peuvent entraîner de sérieux problèmes.
00:03:10Maintenant, Goal Buddy est un outil qui a été conçu avec un seul but : faire fonctionner la commande "goal"
00:03:16comme elle le devrait. Il résout tous les problèmes dont nous venons de parler, mais il n'obtient pas vraiment autant
00:03:20d'attention qu'il le devrait étant donné son utilité. C'est comme la baby-sitter sexy, sauf qu'au lieu de flirter
00:03:25avec vous, elle garde simplement vos tâches de longue haleine. L'objectif natif ne préserve pas l'état du travail
00:03:30localement, donc cet outil corrige cela et force l'objectif à lire et mettre à jour l'état local au lieu de compter sur
00:03:36l'historique de chat. Il termine également avec des preuves, de sorte que l'agent sait réellement à quoi ressemble la fin avant
00:03:42de commencer. Pour suivre la progression, il inclut également un tableau de bord complet où vous pouvez regarder
00:03:46votre agent travailler pendant qu'il est en activité. Et pour gérer tout cela, il est construit sur trois agents qui sont le
00:03:51scout, le travailleur et le juge. En gros, une équipe de startup Y Combinator où l'un fait tout le travail, l'un
00:03:56le regarde faire, et l'autre les juge tous les deux sur Twitter. L'installation est assez simple : il suffit de
00:04:01copier la commande d'installation et de la coller dans le dossier de votre projet. Il sera installé en tant que plugin
00:04:06disponible à la fois pour Claude Code et Codex. Une fois que vous commencez une nouvelle session, vous pouvez voir la commande
00:04:10disponible pour utilisation. Ces trois agents ont chacun un rôle strictement défini et un niveau d'accès. Comme cet
00:04:16outil est construit pour Codex également, les agents sont définis en TOML au lieu du format Markdown standard. Le
00:04:21premier agent est le juge, qui n'a qu'un accès en lecture seule. Il analyse de manière sceptique les décisions difficiles comme les portées risquées,
00:04:26les sources contradictoires et d'autres modèles pour s'assurer que la tâche est accomplie en toute sécurité. Ses
00:04:31instructions interdisent l'édition parce qu'il existe uniquement pour rendre des jugements, rien d'autre. Et comme sa
00:04:36tâche est hautement critique, le raisonnement de cet agent est réglé au maximum afin que les décisions soient prises correctement.
00:04:42C'est exactement comme quand vous composez ce SMS à votre crush depuis quatre heures d'affilée en
00:04:47plein milieu de la nuit. Une fois qu'il a fini de travailler, il renvoie une structure JSON avec les décisions approuvées et
00:04:52rejetées, ainsi que la justification. Le scout est un autre agent en lecture seule qui cartographie une tâche active
00:04:57et crée un reçu de preuve compact pour celle-ci. Comme son travail est simplement de vérifier l'état de la tâche,
00:05:02son effort de raisonnement est maintenu bas, tout comme le videur de votre club de strip-tease préféré : il ne se soucie pas
00:05:07vraiment de grand-chose. Et puis il y a l'agent travailleur, le seul avec un accès en édition. Il fait le travail réel et
00:05:12il n'est autorisé à exécuter qu'une seule tâche à la fois. Il y a aussi le rôle de PM, qui est le thread principal qui
00:05:17coordonne le flux de travail. Il se comporte comme un véritable chef de projet, en faisant le travail minimal possible.
00:05:22C'est la seule autorité qui peut réellement marquer la tâche comme terminée. Le flux de travail principal commence par exprimer
00:05:27l'intention de la tâche avec des mots appropriés, non pas vaguement comme nous, les homo sapiens, le faisons habituellement, mais d'une manière que
00:05:33l'agent peut correctement comprendre. Ensuite, l'oracle est défini. L'oracle est essentiellement un signal observable
00:05:38qui identifie le résultat. C'est ce contre quoi le système itère pour voir si la tâche peut être
00:05:43marquée comme terminée ou non. Cela pourrait être n'importe quoi : une suite de tests, un parcours navigateur, n'importe quels benchmarks d'artefacts ou le code
00:05:49qui transforme mon micro-ondes en machine à remonter le temps, parce que pourquoi pas ? Les agents IA font n'importe quoi à ce stade.
00:05:54Ensuite, l'étape suivante est le "surface" : il décompose la tâche en étapes exploitables, crée le tableau de bord et cartographie
00:06:00les tâches dans un format visuel. La dernière pièce est le PM : il est le manager dans ce cas et maintient l'objectif en cours
00:06:06jusqu'à ce que l'audit final marque l'objectif comme atteint. Pour utiliser Goal Buddy, il suffit de lancer la commande "goal prep".
00:06:11C'est celle qui initialise le flux de travail et vous définissez l'objectif que vous voulez qu'il atteigne. Il
00:06:16s'assure d'abord que les agents sont installés et prêts à être utilisés. Il lance ensuite le flux de travail, mais contrairement
00:06:21à la commande "goal" native, il est extrêmement conscient de lui-même et il supprime d'abord ses propres ambiguïtés en vous posant
00:06:27des questions afin que vous puissiez clairement définir l'implémentation. Et tout comme votre femme soupçonneuse,
00:06:32il continuera à poser des questions jusqu'à ce qu'il ait compris. La première étape se concentre sur la création des fichiers d'objectifs. Il place
00:06:38la demande originale avec nos réponses et les mappe ensuite vers l'objectif approprié dans un langage
00:06:43compréhensible par l'agent. Il contient un résumé de toutes les informations, puis définit l'oracle,
00:06:48ce qui est la partie la plus importante. L'oracle pour cette tâche est simple : tous les tests doivent passer avec
00:06:53un comportement approprié. Ce type d'objectif est spécifique car il peut être évalué
00:06:57programmatiquement, contrairement à votre couverture d'hier soir que votre femme ne croit absolument pas. Goal Buddy décompose tout le flux de travail
00:07:03en petites tâches réalisables. Ce sont des "slices" (tranches), mais contrairement au monde réel, la taille n'a pas d'importance ici
00:07:08parce qu'une petite tranche ne signifie pas une petite tâche : cela signifie quelque chose qui est sûr, peut être vérifié facilement
00:07:14et peut être exécuté individuellement. Il définit explicitement la taille de découpage sécurisée dans le document également. Il crée
00:07:19le state.yaml qui suit le projet et les tâches et définit à quoi ressemblerait la boucle PM. Le state.yaml consiste en
00:07:26tous les objectifs et règles, avec toutes les tâches décomposées par leurs identifiants et l'agent assigné. Il contient
00:07:31un champ pour suivre la tâche active également. Il mentionne aussi le tableau de bord lié. Il liste toutes les tâches à faire
00:07:36et les tâches en cours. Dans notre cas, l'agent scout est actuellement en cours et cartographie tous
00:07:42les fichiers et points de terminaison. Donc, pour démarrer la boucle, il suffit de copier cette commande et de l'exécuter. Elle demande à Claude de
00:07:47se fixer pour objectif de tout faire dans le fichier goal.md. À partir de là, il prendra la première tâche
00:07:52active comme un roi, puis fera appel à ses agents subordonnés pour l'effectuer. Une fois que le scout a terminé
00:07:58le travail, il met à jour le fichier de progression avec toutes ses découvertes et les documente dans un répertoire séparé.
00:08:03Il met également à jour le tableau de "en cours" à "terminé". Ensuite, la boucle prend la tâche suivante, la marque comme
00:08:08active et démarre l'agent juge. Le juge examine de manière critique les conclusions et séquence le rapport
00:08:13en le plus petit nombre possible de tranches verticales, ce qui constitue la décomposition des tâches pour que le travailleur puisse l'effectuer
00:08:18indépendamment. Il met ensuite à jour le compte des tranches et met à jour le fichier d'état en conséquence. Chaque tâche
00:08:22liste explicitement les fichiers autorisés, comment les vérifier et quand s'arrêter. C'est ainsi qu'il définit chaque tranche
00:08:28afin que les agents aient un résultat attendu clair, des vérifications et tous les détails nécessaires. Ensuite, un par un, il
00:08:33initialise l'agent travailleur et commence avec la première tranche. La progression de chaque agent peut être suivie
00:08:39via le tableau de bord. Vous saurez ce que fait chaque tâche, quel agent est actif, quelles tâches sont en attente et
00:08:44lesquelles sont terminées. Vous n'avez donc pas à surveiller les choses vous-même et pouvez réellement donner à vos enfants
00:08:48le temps dont ils ont besoin. Une fois que toutes les tâches sont terminées, il effectue le dernier audit en tant que PM,
00:08:53en s'assurant que tous les tests ont été correctement menés. Une fois l'audit terminé, il marque la tâche d'audit finale du
00:08:58juge comme terminée, puis marque l'objectif comme accompli. Après cela, vous devez commencer
00:09:03les prières et espérer que ces agents n'ont pas halluciné. Globalement, cela a très bien fonctionné compte tenu de la
00:09:09complexité et de l'échelle de l'application que nous lui avons donnée, mais nous pensons qu'une parallélisation plus efficace pourrait être
00:09:13ajoutée, car il a tout fait de manière séquentielle. Il a traité une tâche à la fois et n'a pas du tout utilisé
00:09:18les capacités de parallélisation de Claude Code. Dario aurait été réellement déçu de voir cela,
00:09:23mais étant donné la qualité de la planification du flux de travail, cela a très bien fonctionné. Aussi, si vous appréciez notre contenu,
00:09:28envisagez d'appuyer sur le bouton "hype", car cela nous aide à créer plus de contenu comme celui-ci et à atteindre plus
00:09:33de gens. Nous voulions aussi tester Goal Buddy sur quelque chose de plus générique, comme concevoir une interface utilisateur pour voir comment il
00:09:38gère des tâches qui ne peuvent pas être évaluées programmatiquement. Le test précédent portait sur un flux de travail spécifique avec
00:09:44des critères de réussite et d'échec clairs, mais tout comme votre nouvelle coupe de cheveux chez le coiffeur, certaines tâches
00:09:49n'ont tout simplement pas cela. Donc, nous avons d'abord donné à la commande "goal" habituelle un prompt vague. Il a initialisé les objectifs,
00:09:54consulté l'advisor et livré un site web en un rien de temps. En étant paresseux, il a juste créé une page HTML simple
00:10:00et n'a utilisé aucun framework, mais la landing page n'était pas mal. Nous avons donc donné le même prompt exact à
00:10:05Goal Buddy également. Une fois lancé, il a suivi le même flux de travail et a eu une session de questions similaire
00:10:10pour clarifier l'intention avec nous. Ici, Goal Buddy a également demandé la stack technologique. Normalement,
00:10:14j'appellerais ça du cirage de pompes, mais comme je prends mon agent IA au sérieux, je dirai qu'il est minutieux. De même, il
00:10:20a créé le tableau et le fichier goal.md et a traduit notre demande originale en un objectif approprié. Il a aussi
00:10:26correctement identifié l'oracle, mais l'oracle de la tâche précédente était simple, il devait juste réussir tous les
00:10:31tests. Celui-ci avait des objectifs différents : il a défini la tâche comme terminée lorsque le serveur de développement serait opérationnel
00:10:36et que les parcours dans le navigateur confirmeraient que toutes les sections fonctionnent comme défini. C'est ainsi qu'il a transformé une
00:10:41tâche non quantifiable en quelque chose de quantifiable. Il a également créé le state.yaml à nouveau avec l'oracle,
00:10:47les règles, les agents et toutes les tâches listées, puis a commencé à travailler de la même manière. Cela a pris plus
00:10:52de temps que la commande "goal" normale, mais il a fini par implémenter l'application correctement. Ce ne sera pas un
00:10:57problème pour Gary l'escargot, mais vous devriez faire des pompes en attendant, je vois que vous avez grossi.
00:11:02Comparativement, le site web complet était nettement meilleur que ce que la simple commande "goal" avait créé.
00:11:07Si vous voulez vraiment devenir un fondateur SaaS B2B dans l'IA qui aime construire plutôt que juste regarder des tutoriels,
00:11:12alors vous devriez rejoindre AI Labs Pro. Vous y trouverez des nerds partageant les mêmes idées que notre équipe, avec
00:11:17des ressources provenant des vidéos et plein d'autres avantages. Le lien sera dans la description et
00:11:22vous pouvez vérifier cela. Cela nous amène à la fin de cette vidéo. Si vous souhaitez soutenir la chaîne
00:11:27et nous aider à continuer à faire des vidéos comme celle-ci, vous pouvez le faire en utilisant le bouton "super thanks" ci-dessous. Comme toujours,
00:11:32merci d'avoir regardé et je vous verrai dans la prochaine.

Key Takeaway

Goal Buddy remplace l'évaluation subjective et la perte de contexte de la commande “goal” native par une gestion d'état locale et une équipe d'agents coordonnés, permettant une exécution autonome et vérifiable des tâches de longue haleine.

Highlights

  • Goal Buddy corrige les lacunes de la commande native “goal” de Claude Code et Codex en persistant l'état du travail localement plutôt que de s'appuyer sur l'historique de chat.

  • L'outil coordonne trois rôles d'agents spécialisés : le Juge (lecture seule, analyse les décisions), le Scout (lecture seule, cartographie) et le Travailleur (édition).

  • La commande “goal prep” initialise le flux de travail, définit les objectifs et génère un fichier state.yaml pour suivre la progression via un tableau de bord.

  • L'utilisation d'un “oracle” permet de quantifier des objectifs abstraits en signaux observables comme des tests programmatiques ou des parcours de navigation.

  • Goal Buddy force une décomposition structurée des tâches en tranches verticales vérifiables, garantissant une fin de tâche clairement définie contrairement aux agents non structurés.

Timeline

Limites de la commande native goal

  • La commande “goal” native manque de mémoire persistante et repose uniquement sur le contexte de la discussion.
  • Le gonflement du contexte lors de tâches longues dégrade les performances de l'agent après la phase de compaction.
  • L'absence de décomposition structurée des tâches rend l'agent vulnérable à la perte d'objectif et à une définition floue de l'achèvement.

La commande native utilise le modèle Haiku pour décider si une tâche est terminée, rendant l'évaluation subjective. Sans système de fichiers pour suivre la progression, la session est sujette à des erreurs si le contexte de chat devient trop volumineux. Contrairement aux anciennes méthodes rigides comme “Ralph Wiggum”, cette approche est plus flexible mais manque de rigueur structurelle pour les flux de travail complexes.

Architecture et fonctionnement de Goal Buddy

  • Goal Buddy sauvegarde l'état localement dans un fichier state.yaml et fournit un tableau de bord en temps réel.
  • Le flux de travail s'articule autour de trois rôles : Scout, Travailleur et Juge, supervisés par un PM.
  • Les définitions d'agents sont écrites en TOML, permettant une compatibilité native avec Codex et Claude Code.

L'outil installe des agents avec des accès restreints : le Juge valide les décisions de manière critique, le Scout cartographie la tâche et le Travailleur exécute les modifications. Un chef de projet (PM) coordonne l'ensemble en assurant le suivi via le fichier d'état. Cette hiérarchie sépare la réflexion de l'action pour optimiser la précision des résultats.

Exécution et validation des tâches

  • La commande “goal prep” force l'agent à clarifier les ambiguïtés avant de commencer le travail.
  • L'oracle définit précisément les critères de réussite, transformant des besoins vagues en conditions quantifiables.
  • La progression est décomposée en “tranches” verticales vérifiables individuellement par les agents.

Le processus commence par la définition d'un oracle, un signal observable (tests, benchmarks) qui sert de preuve d'achèvement. Le travail est ensuite divisé en tranches spécifiques listant les fichiers autorisés et les étapes de vérification. Le tableau de bord permet de suivre l'état de chaque tâche en attente ou terminée, assurant une supervision minimale.

Performance sur des tâches complexes

  • L'exécution séquentielle permet une haute précision mais pourrait bénéficier d'une parallélisation accrue.
  • Sur des tâches non programmables comme la conception d'UI, Goal Buddy surpasse la commande native par sa rigueur.
  • L'outil nécessite une définition explicite de la stack technique pour produire un résultat de meilleure qualité.

Dans les tests, Goal Buddy a produit des interfaces web plus abouties que la commande native en imposant une clarification préalable des besoins. Bien que le temps de traitement soit plus long dû à la structure de gestion, la qualité du code généré et la fiabilité de l'exécution finale démontrent une supériorité pour des projets SaaS ou techniques.

Community Posts

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

Write about this video