Codex vient de devenir LE MEILLEUR harnais pour les agents longue durée

CChase AI
Computing/SoftwareVideo & Computer GamesInternet Technology

Transcript

00:00:00Codex pourrait bien battre Claude Code ici avec la sortie de sa toute nouvelle fonctionnalité expérimentale Goals
00:00:05Codex est désormais le moyen le plus simple d'exécuter des tâches de codage autonomes de longue durée sans
00:00:10avoir à inclure de couches d'orchestration supplémentaires ; Goals agit comme une boucle
00:00:15RALPH intégrée plus sophistiquée. Vous lui donnez un objectif et il travaillera
00:00:19pendant potentiellement des heures et des heures pour résoudre ce problème sans que vous ayez besoin d'intervenir
00:00:25et aujourd'hui, je vais vous montrer comment ça marche, comment le configurer et nous ferons
00:00:29une démo réelle pour voir la bête en action. Aujourd'hui, nous allons créer Rift Salvage, notre jeu vidéo
00:00:35de combat en 2D qui utilise des assets originaux et que nous avons construit strictement via Goals. Cette fonction
00:00:42est l'un des vrais différenciateurs de Codex en ce moment et elle est ridiculement simple à utiliser.
00:00:47On parle d'une seule commande slash, donc il y a énormément de valeur ici. Que
00:00:51vous utilisiez l'application de bureau Codex ou le CLI Codex, vous devez activer Goals car c'est une
00:00:56fonctionnalité expérimentale. Vous pouvez demander à Codex de le faire ou le faire vous-même rapidement
00:01:01dans l'application Codex. Je vais simplement aller dans les paramètres, puis dans la configuration.
00:01:07Ici, là où il est écrit "open config.toml", je clique dessus pour l'ouvrir dans VS Code
00:01:15et ici, vous devez ajouter deux lignes si elles n'y sont pas déjà : features et goals = true.
00:01:22C'est tout, ça prend deux secondes. Si c'est trop compliqué, vous pouvez aussi dire à Codex :
00:01:27"Hé, peux-tu activer Goals pour moi ?" donc features goals equals true. C'est tout. Maintenant, pour utiliser Goals
00:01:35dans l'application de bureau et le CLI, vous faites juste /goal. Pour une raison
00:01:40que j'ignore, sûrement car c'est expérimental, quand vous faites /goal, vous n'aurez pas
00:01:43de notification indiquant que ça fonctionne, mais vous verrez une fois le prompt lancé
00:01:48qu'on aura un petit badge confirmant que Goal est actif. Si vous l'activez, assurez-vous de
00:01:53redémarrer Claude Code après pour que les changements s'appliquent. Mais quand vous faites /goal,
00:01:58vous ne verrez rien au début, contrairement à d'habitude quand vous lancez une "skill" ou
00:02:02quelque chose qui donne un retour immédiat. Mais c'est normal. Avant la
00:02:08démo dans l'appli, laissez-moi expliquer comment ça fonctionne réellement sous le capot.
00:02:13Mais d'abord, un mot de notre sponsor : moi-même. Comme vous le savez, dans Chase AI Plus, j'ai la
00:02:18Masterclass Claude Code, mais je viens aussi de sortir la Masterclass Codex. Vous avez maintenant deux outils
00:02:24pour passer de zéro à développeur AI. C'est le meilleur endroit pour apprendre
00:02:29car je pars du principe que vous n'avez aucune connaissance technique et on se focalise sur des cas réels.
00:02:34Si vous voulez y accéder ou écouter mon webinaire gratuit dans quelques jours, le lien est
00:02:40dans le commentaire épinglé. J'espère vous y voir. Comme dit en intro, Codex Goals est
00:02:46en gros une boucle RALPH intégrée plus sophistiquée. Qu'est-ce qu'une boucle RALPH, me direz-vous ?
00:02:51Petit rappel pour ceux qui auraient oublié. À la base, une boucle RALPH, si on l'utilise dans
00:02:57quelque chose comme Claude Code, c'est juste une ligne de code. C'est une boucle bash, exactement ce
00:03:03que vous voyez ici. L'idée est de lancer cette ligne et ce qui va se passer,
00:03:09c'est que ça va démarrer Claude Code ou Codex ou n'importe quel système d'IA qui va lire un fichier prompt.md.
00:03:16Ce prompt dira : "Hé, voici ce qu'on essaie de faire, voici comment je veux le faire et
00:03:21voici les critères de réussite". Dans cet exemple, on veut augmenter la couverture des tests sur
00:03:28les fichiers d'authentification, ce qui signifie créer plus de tests, et on s'arrête quand la couverture
00:03:33atteint 75 %. C'est le but final. La boucle commence alors,
00:03:41consulte le prompt et l'injecte dans la session d'IA. La session effectue un tour,
00:03:48lit le prompt ainsi qu'un fichier state.md. Ce fichier d'état permet de voir :
00:03:56"Ok, si on a les tâches 1, 2 et 3, qu'est-ce qui a été fait et est-ce que
00:04:03ça marche ?". Disons qu'au premier tour elle finit la tâche 1, au tour suivant elle va
00:04:10voir le fichier d'état et se dire : "Hé, la tâche 2 n'est pas faite, devinez ce qu'on va faire
00:04:14dans cette session ou la suivante ?". Si ça ne marche pas du premier coup, elle dit :
00:04:18"Hé, voici ce que j'ai tenté", et ainsi de suite jusqu'à ce que toutes les tâches soient finies. Une fois que l'agent
00:04:25a fini son tour, il met à jour le fichier, le tour se termine et la boucle continue. On obtient ce genre de
00:04:30boucle continue où le système vérifie constamment différents fichiers pour voir ce qui a été fait,
00:04:35ce qu'il reste à faire, quel est l'objectif final et, une fois les critères de réussite atteints,
00:04:41il dit : "Hé, on a fini", tout ça de manière autonome. C'est l'idée des boucles RALPH. Maintenant,
00:04:48pour que les boucles RALPH fassent plus de choses, il faut un échafaudage supplémentaire, gérer la facturation,
00:04:53l'usage intelligent des tokens... pas forcément évident. Et si ça plante ? Si
00:04:58l'agent crash ou si vous faites Ctrl+C, comment sait-il s'il a vraiment fini ? Y a-t-il
00:05:02un tiers intégré qui vérifie tout ? Pas vraiment, car à la base, c'est juste une
00:05:08ligne de code. Comparez ça à Goals. Goals, dans l'ensemble, fonctionne de la même manière : on lui dit
00:05:15de faire quelque chose, il a un plan et il met à jour constamment des fichiers internes disant :
00:05:19"Voici ce que j'ai fait, voici ce qu'il reste à faire", pour atteindre l'état final. Donc globalement,
00:05:23c'est assez similaire, mais il y a des différences. D'abord, on a ces deux fichiers
00:05:29Markdown qui vous sont invisibles : continuation et budget limit. Que
00:05:35font-ils ? Ils permettent à Codex d'agir différemment si vous
00:05:40approchez de vos limites d'utilisation, ce qui est crucial. Il y a une fin
00:05:46plus élégante de la part du système par rapport à une boucle RALPH classique. Dans une boucle RALPH,
00:05:52si le budget est atteint, c'est fini. Avec Codex, il trouvera un moyen de vous
00:05:57laisser dans un état où vous pourrez reprendre plus tard. En pratique, Codex effectue son tour
00:06:03dans sa boucle Goals ou RALPH, peu importe comment on l'appelle, et à la fin
00:06:08du tour, il a quatre chemins possibles. Un : s'il y a encore du travail et que le budget est bon,
00:06:13on continue. Deux : si on approche de la limite de tokens, ce qu'il va faire,
00:06:19c'est injecter le fichier budget limit.md et conclure le tour proprement
00:06:25en vous donnant un rapport final de ce qui a été fait et ce qu'il reste à faire si vous augmentez
00:06:29votre limite. Trois : si le projet est fini, il va appeler l'outil update goal.
00:06:34Il va changer son statut, s'assurer que tous les livrables sont audités et si
00:06:39tout est validé : objectif atteint, c'est fini. Enfin, on a des moyens de mettre en pause,
00:06:45modifier l'objectif ou gérer les crashs. Si quelque chose tourne mal pendant la boucle,
00:06:49ce n'est pas comme une boucle RALPH traditionnelle où l'on est un peu coincé.
00:06:54C'est plus sophistiqué, très similaire globalement, et on n'a pas besoin d'orchestration
00:06:59supplémentaire. Tout cela devrait vous sembler familier si vous avez déjà travaillé avec
00:07:05des outils comme GSD ou GSD Superpowers. Ce sont des couches d'orchestration au-dessus de Claude Code pour
00:07:11faire ce qu'on fait ici avec une seule commande slash dans Codex avec Goals. Et comme c'est
00:07:18littéralement une seule commande slash, c'est super facile à exécuter. Pas besoin de regarder
00:07:24une démo de 40 minutes sur les subtilités de GSD. On fait juste /goal et Codex s'en charge.
00:07:30Ceci étant dit, mettons-le à l'épreuve. D'abord, on va se mettre
00:07:35en mode planning car on peut passer facilement du mode planning aux objectifs,
00:07:39et on va lui demander de créer un jeu de survie d'arcade en vue de dessus, avec
00:07:44tous ses propres assets. L'avantage de Codex par rapport à Claude Code,
00:07:49Claude Code, par exemple, c'est que comme c'est un produit OpenAI, on a accès aux images GPT
00:07:56donc il va créer tous les assets du jeu : le sprite du drone joueur,
00:08:01trois ennemis, un boss, un cœur d'énergie, une mine, un arrière-plan, l'UI...
00:08:07je vais lui en demander pas mal. Le prompt est assez complexe car ça peut
00:08:15durer très longtemps. J'aurais dû vous montrer la capture d'écran d'un gars
00:08:18qui l'a fait tourner 50 heures d'affilée... Je ne sais pas si 50 heures
00:08:23est la meilleure façon de faire, mais l'idée est de partir d'une idée floue, passer en mode plan
00:08:31pour obtenir quelque chose de très précis. C'est très important :
00:08:36vous devez être extrêmement spécifique sur le résultat final attendu. Si
00:08:43on ne vise pas un résultat très spécifique avec des éléments quantifiables pour
00:08:50terminer la boucle, vous aurez un résultat médiocre, peut-être incomplet.
00:08:55Je suggère donc de passer par le mode plan et de prendre le temps de bien le détailler,
00:09:02au lieu de juste dire : "/goal, fais-moi un SaaS qui rapporte un milliard". Voici
00:09:07le plan de notre jeu. Pour la vérification, voici ce qu'il va regarder.
00:09:12C'est ce qu'il va tester avant de se dire qu'il a fini. Évidemment,
00:09:17il doit lancer npm run build, corriger les erreurs, lancer le serveur dev, fournir l'URL,
00:09:24lancer un script de vérification automatisé Playwright qui ouvre l'application, confirme le chargement,
00:09:29vérifie que le canvas n'est pas vide, simule les touches, les collectibles, les dégâts,
00:09:34la santé, l'état de victoire contre le boss, l'UI, etc. C'est ça qu'il faut
00:09:39soigner. Si vous regardez la vérification et que vous vous dites : "Si tout ça est
00:09:44fait, je serai content", alors vous pouvez y aller. Quand il propose d'implémenter le plan,
00:09:49vous lui dites quoi faire. On peut faire /goal, utiliser Goal
00:09:54pour implémenter ce plan, et on valide. Et juste ici, que voyez-vous ?
00:10:02Il y a ce petit badge qui dit "Goal". Maintenant je sais qu'on est en mode objectif.
00:10:09Comme je vous l'ai dit, quand vous faites /goal, vous ne voyez pas de commande, mais
00:10:12ça marche. C'est juste un bug d'UI car c'est expérimental. Il dit qu'il est
00:10:17toujours en mode plan... on annule ça. "Utilise Goal pour implémenter ce plan". C'est encore
00:10:28un peu brut par moments, mais voyons ce qu'il fait. L'idée est que je n'interviens plus du tout.
00:10:34Il va exécuter sa petite boucle RALPH, son petit Goal, et à la fin on aura
00:10:39un produit fini. Ça fait environ 12 minutes qu'il travaille et il est
00:10:43déjà en train de créer tous les assets avec le modèle Image Gen 2,
00:10:49ce qui est super. L'autre avantage de l'appli de bureau par rapport au
00:10:54terminal brut, c'est que tout est présenté directement dans l'interface, c'est agréable.
00:11:00J'ai été très impressionné par l'application de bureau Codex. Ça ne veut pas dire que je n'aime plus
00:11:06Claude Code, j'utilise les deux indifféremment. Vous pouvez voir ma dernière vidéo là-dessus.
00:11:11L'idée qu'il faille choisir entre les deux est un peu stupide.
00:11:15Pourquoi ne pas utiliser les deux, et souvent en tandem ? Avec Claude Code, je suis
00:11:20purement dans le terminal, mais avec Codex, j'apprécie vraiment l'application de bureau.
00:11:26C'est peut-être aussi juste pour changer un peu d'air plutôt que d'être toujours
00:11:32dans le terminal. Jusqu'ici, j'aime beaucoup. Après 30 minutes, il a dit avoir fini,
00:11:38plus vite que prévu même. Voyons ce que ça donne au premier essai et comme
00:11:44il a été rapide, je lui demanderai sûrement d'autres trucs après. Il dit avoir implémenté
00:11:49Rift Salvage. Le serveur dev tourne. C'est un jeu sur canvas avec clavier et tactile,
00:11:56ennemis, mines, score, boucliers, boss, victoire/défaite, pause et redémarrage. 11 assets
00:12:03Image Gen générés avec transparence, vérificateur Playwright... il nous montre tout ce qu'il a fait,
00:12:10c'est cool. Voyons si ça marche et ce qu'on peut ajouter pour pousser le bouchon un
00:12:17peu plus loin. Testons ça dans le vrai navigateur. Ok, j'ai un petit écran de chargement.
00:12:27Le contraste est un peu bas, c'est dur à voir, peut-être pour vous aussi,
00:12:32mais j'ai mon petit vaisseau. Ça c'est une mine, je crois que je dois ramasser des trucs
00:12:39pendant que des ennemis me pourchassent. Ça marche, c'est plutôt cool. On pourrait
00:12:49sans doute améliorer les graphismes, mais c'est sympa que tout ait été créé
00:12:56en tant qu'images uniques. On pourrait ajouter... d'abord je veux voir
00:13:00à quoi ressemble le combat de boss, si on peut l'accélérer et aussi ajouter un
00:13:04système de tir, des lasers ou un truc du genre. On va faire
00:13:11ça avant de s'éterniser. Je repasse en mode planning
00:13:15pour le faire travailler un peu plus. C'était un bon premier jet,
00:13:19tout fonctionne, mais j'aimerais complexifier un peu. Peut-on ajouter un
00:13:24système de combat ? Des lasers pour tirer sur les ennemis qui nous
00:13:31rendent la pareille. Faire arriver le boss plus vite ou ajouter un bouton pour
00:13:37le faire apparaître. Et changer un peu le contraste car pour l'instant,
00:13:42tout se fond dans le décor. Si vous avez d'autres idées pour
00:13:49compliquer les choses et vous pousser dans vos retranchements,
00:13:53montrez-moi ça. Voici le plan qu'il a proposé. Notez qu'avec le
00:13:58système Goals, chaque exécution est liée au fil ou à la session en cours.
00:14:07On est dans le même chat, donc le même fil d'objectif. Si je veux relancer
00:14:12un deuxième objectif sur le même projet, c'est possible, mais il faut le faire dans
00:14:18un deuxième fil ou chat, comme ouvrir un autre terminal. Je vais juste copier
00:14:24ce plan, ouvrir un autre chat, faire /goal et
00:14:33coller ça. 15 minutes après, le deuxième objectif est rempli. Les améliorations
00:14:40de combat sont là. Voyons à quoi ça ressemble. L'écran de chargement est
00:14:44similaire au premier, sauf qu'il a ajouté des widgets en haut : on a le combo
00:14:50de cibles et le signal du boss. Si on lance, je peux tirer avec mon
00:14:56vaisseau, les ennemis ripostent et ont des points de vie. Je peux aussi
00:15:01appeler le boss. Le voilà... il a vraiment de l'allure. Le plus impressionnant
00:15:09dans ce qu'il a fait, ce sont tous ces assets uniques. Le fait que tout soit
00:15:13original et généré via Image Gen 2, c'est
00:15:19super. Ça n'a pris que 45 minutes en tout entre les deux sessions.
00:15:24On a vu des gens faire des sessions de trois jours, mais le plus
00:15:30fort ici, c'est la simplicité d'exécution. On lui donne un objectif
00:15:36et il se lâche. Est-ce qu'on a gagné ? Je ne sais pas si
00:15:43on est morts ou pas. Comme je le disais, l'intérêt des Goals,
00:15:48c'est que si vous avez un cap clair et des critères de succès précis,
00:15:54vous pouvez en tirer énormément et ça peut tourner indéfiniment. Au lieu de configurer
00:15:59votre propre boucle RALPH et son échafaudage ou d'utiliser une couche
00:16:05d'orchestration externe comme GSD, c'est directement intégré. Et
00:16:10on peut ajouter des choses complexes. Avec Claude Code, on aurait pu le faire
00:16:15aussi, c'est certain, mais il aurait fallu
00:16:18implémenter le CLI Higgsfield ou le MCP Higgsfield pour la génération d'images,
00:16:24au lieu d'avoir un système holistique intégré. J'espère que vous avez
00:16:31appris des choses. Je vous conseille vivement de tester Codex. J'adore
00:16:35l'application de bureau comme je l'ai déjà dit, c'est vraiment top.
00:16:40On aurait pu faire ça en tandem avec Claude Code également. On aurait pu créer le plan
00:16:44dans Claude Code puis le basculer dans Codex pour les objectifs, puis laisser
00:16:49Claude Code analyser le travail fait. C'est là qu'on tire le plus de valeur.
00:16:53C'est l'idée que le tout est plus grand que la somme des parties. Dites-moi
00:17:02ce que vous en pensez. Allez voir Chase AI Plus, le lien est dans le
00:17:07commentaire épinglé. Le webinaire a lieu dans quelques jours, lien aussi en dessous. On s'y voit !
00:17:12Sinon, à bientôt !

Key Takeaway

La fonction Goals de Codex automatise le développement logiciel de longue durée en intégrant une boucle RALPH sophistiquée et la génération d'images native, éliminant ainsi le besoin d'outils d'orchestration tiers.

Highlights

  • La fonctionnalité expérimentale Goals de Codex transforme l'outil en un agent autonome capable de résoudre des tâches de codage complexes pendant plusieurs heures sans intervention humaine.

  • L'activation de cette option nécessite l'ajout manuel de deux lignes spécifiques dans le fichier de configuration config.toml : [features] et goals = true.

  • L'exécution d'un objectif s'initie par la simple commande /goal, remplaçant ainsi le besoin de couches d'orchestration externes complexes comme GSD ou GSD Superpowers.

  • Codex intègre nativement le modèle Image Gen 2 pour générer automatiquement tous les assets graphiques originaux, tels que des sprites de personnages ou des décors, lors du développement d'un projet.

  • Le système de boucle de Codex gère intelligemment les limites de budget et de tokens en injectant des fichiers invisibles comme budget limit.md pour conclure une session proprement et permettre une reprise ultérieure.

  • Un test réel a permis de développer un jeu de combat 2D fonctionnel nommé Rift Salvage en seulement 45 minutes de travail autonome réparti sur deux sessions d'objectifs.

Timeline

Activation et configuration de la fonction Goals

  • Goals agit comme une boucle de rétroaction RALPH intégrée permettant à l'agent de travailler de manière autonome sur de longues périodes.
  • Le fichier config.toml situé dans les paramètres de l'application doit contenir les entrées features et goals = true pour débloquer l'accès expérimental.
  • L'interface utilisateur ne confirme pas visuellement le lancement de la commande /goal immédiatement, mais un badge spécifique apparaît une fois le traitement actif.

L'accès à cette capacité expérimentale est disponible tant via l'application de bureau que l'interface en ligne de commande (CLI). Une fois activé, l'agent peut interpréter un objectif global et s'auto-organiser pour l'atteindre sans supervision constante. Il est nécessaire de redémarrer l'application après la modification de la configuration pour que les paramètres soient pris en compte.

Fonctionnement interne de la boucle RALPH sophistiquée

  • Le système s'appuie sur la lecture et la mise à jour constante de fichiers d'état pour suivre la progression des tâches définies.
  • Quatre scénarios de sortie gèrent la fin d'un cycle : la poursuite du travail, l'approche de la limite de budget, l'achèvement du projet ou la gestion d'un crash.
  • Codex automatise l'utilisation intelligente des tokens et la reprise sur erreur sans nécessiter de scripts bash manuels ou de serveurs d'orchestration.

Contrairement à une boucle RALPH classique codée manuellement qui s'arrête brusquement en cas de problème, Codex Goals utilise des fichiers de continuation invisibles pour assurer une transition fluide. Si la limite de budget est atteinte, l'IA génère un rapport final détaillant le travail accompli et les étapes restantes. Cette approche logicielle remplace avantageusement des outils tiers comme GSD en centralisant toute la logique de gestion de projet au sein d'une unique commande.

Développement autonome du jeu Rift Salvage

  • Le mode planning est essentiel pour définir des critères de réussite quantifiables avant de lancer l'exécution automatique.
  • Codex utilise Image Gen 2 pour créer l'intégralité de l'interface utilisateur et des assets du jeu, incluant les boss, les drones et les effets de transparence.
  • La validation finale s'appuie sur un script Playwright automatisé qui teste le chargement du canvas, la détection de collisions et les mécaniques de santé.

La démonstration porte sur la création d'un jeu de tir spatial en vue de dessus avec 11 assets uniques générés par l'IA. L'utilisateur doit fournir un prompt extrêmement spécifique pour éviter des résultats incomplets ou médiocres. La première phase de 30 minutes produit un prototype fonctionnel où le joueur peut naviguer et collecter des objets dans un environnement graphique original.

Itération, combat avancé et synergie d'outils

  • L'ajout de mécaniques de tir et de points de vie pour les ennemis nécessite une seconde session d'objectif liée au même projet.
  • L'intégration d'actifs originaux via OpenAI offre un avantage comparatif majeur sur Claude Code qui requiert des extensions MCP tierces pour l'image.
  • La combinaison de Claude Code pour le terminal et de Codex pour l'application de bureau maximise l'efficacité du flux de travail.

Une seconde passe de 15 minutes permet d'intégrer des lasers, un boss avec des barres de vie et une interface de combat plus riche. L'utilisation conjointe de plusieurs outils d'IA est recommandée plutôt que de se limiter à un seul, car leurs forces se complètent, notamment pour l'analyse de code et la génération graphique. Le cycle de développement total de 45 minutes démontre que des objectifs clairs transforment Codex en un partenaire de production autonome puissant.

Community Posts

View all posts