La Boucle ShadCN Est La Meilleure Solution Pour Votre Interface Défaillante

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

Transcript

00:00:00La plupart d'entre vous connaissent déjà shad cn comme l'une des bibliothèques d'interface les plus utilisées,
00:00:04mais utiliser un agent IA pour construire avec peut être problématique.
00:00:07Si vous créez des pages d'atterrissage simples,
00:00:09vous n'aurez pas trop de problèmes,
00:00:11mais si vous développez une nouvelle application ou implémentez une nouvelle fonctionnalité,
00:00:15les choses se cassent et elles cassent aussi d'autres parties de l'application.
00:00:18Mais ce n'est rien de nouveau,
00:00:19ce problème a déjà été résolu et c'est comme ça que les ingénieurs construisent des applications maintenant.
00:00:24Les agents IA testent toujours le code qu'ils écrivent,
00:00:26mais ces agents deviennent peu fiables avec des contextes volumineux.
00:00:29Nous avons donc besoin d'un moyen de nous assurer que les agents terminent le travail qui leur est confié.
00:00:34C'est là qu'intervient le concept de boucles agentiques,
00:00:36et Anthropic résout cela en utilisant la boucle ralph.
00:00:38Pour résoudre mon problème d'interface,
00:00:40j'ai essayé d'implémenter la boucle ralph et au début ça a complètement échoué,
00:00:43mais j'ai vite compris que ce n'était pas à cause de la boucle ralph,
00:00:46c'était à cause du processus que j'avais implémenté avec.
00:00:49Ralph est en fait un nouveau plugin qui a été publié par Anthropic eux-mêmes,
00:00:52mais ce n'était pas l'une de leurs idées originales,
00:00:54c'est basé sur une technique de quelqu'un d'autre et Anthropic l'a implémenté et mis en open source.
00:00:58Fondamentalement,
00:00:59ralph est une boucle et si vous connaissez les hooks de claud code,
00:01:02il utilise ces hooks d'arrêt qui s'exécutent quand claud arrête de produire une réponse.
00:01:06Dès qu'il s'arrête,
00:01:06l'agent IA reçoit à nouveau son fichier de prompt initial et cela lui permet d'améliorer itérativement son travail.
00:01:11Maintenant voici la question importante : quand sort-il réellement de la boucle?
00:01:15Il y a quelque chose appelé promesse d'achèvement qui peut être n'importe quel mot que vous saisissez.
00:01:19Quand claud estime que sa tâche est terminée,
00:01:21il produit cette promesse lui-même.
00:01:22Par exemple,
00:01:23dans ce cas,
00:01:23la promesse est le mot « complete ».
00:01:25Si la promesse est dans le prompt de retour,
00:01:27alors la boucle ne s'exécute plus.
00:01:28Donc jusqu'à ce que claud produise une promesse,
00:01:30il ne s'arrête pas.
00:01:31Cela garantit que claud ne quitte pas simplement quand il le souhaite.
00:01:34Après avoir installé le plugin,
00:01:35vous aurez trois commandes : la commande de boucle ralph,
00:01:38une commande d'annulation et une commande d'aide.
00:01:40Dans la commande de boucle,
00:01:41vous devez fournir le prompt qui est transmis à l'agent encore et encore.
00:01:44Parfois,
00:01:45il peut recevoir une tâche impossible qu'il n'arrive pas à résoudre et il pourrait rester coincé dans une boucle infinie,
00:01:50donc définir un nombre maximum d'itérations est une très bonne pratique.
00:01:53Je laisserai le lien vers le dépôt ci-dessous car ils ont de bonnes pratiques pour les prompts que vous pouvez donner à la boucle ralph,
00:01:59mais dans cette vidéo je vais seulement discuter de ceux liés au flux de travail d'interface que je vais vous montrer.
00:02:04Disons que nous voulons implémenter deux fonctionnalités dans cette application.
00:02:07L'une est une palette de commandes où nous ajoutons un menu pour rechercher dans notre application et exécuter d'autres commandes.
00:02:12Pour s'assurer que cette nouvelle fonctionnalité ne casse pas d'autres parties de l'application,
00:02:17vous commenceriez par les tests.
00:02:18C'est ce qu'on appelle le développement piloté par les tests.
00:02:21Si vous n'êtes pas familier avec ça,
00:02:22vous pouvez demander à claud code de configurer la structure TDD pour vous,
00:02:25où il crée un dossier de tests de bout en bout,
00:02:27un dossier de captures d'écran pour vérifier les problèmes d'interface et le test correspondant également.
00:02:32L'autre fonctionnalité que nous allons implémenter est une vue tableau dans la base de données,
00:02:36similaire à ce que Notion nous permet de faire avec leurs bases de données.
00:02:39Si vous avez compris,
00:02:40le développement piloté par les tests est une approche où les tests sont écrits avant que le code ne soit implémenté.
00:02:45Mais cela signifie que les tests initiaux échoueront toujours.
00:02:47Donc si j'implémente la fonctionnalité de palette de commandes,
00:02:50je ne commencerais pas simplement à écrire le code pour ça.
00:02:53Au lieu de cela,
00:02:53j'écrirais d'abord des tests élaborés pour ça.
00:02:55Ensuite,
00:02:56nous écrivons la quantité minimale de code nécessaire pour passer ces tests.
00:02:59Une fois que c'est fait,
00:03:00nous refactorisons et ajoutons plus de fonctionnalités et à chaque ajout nous nous assurons que les tests passent toujours.
00:03:05Une autre chose intéressante est que ces tests sont automatisés et playwright peut être importé et utilisé pour la vérification visuelle.
00:03:11Si vous pensez que nous utilisons le MCP playwright pour vérifier ça de manière autonome via le navigateur,
00:03:16vous vous trompez.
00:03:16Avec le TDD,
00:03:17pour chaque comportement fonctionnel,
00:03:18vous pouvez prendre des captures d'écran.
00:03:20Par exemple,
00:03:21si le comportement fonctionnel est d'ajouter une carte,
00:03:23la capture d'écran montrerait une carte ajoutée au tableau.
00:03:25Donc maintenant,
00:03:26tout ce que l'agent IA a à faire est de regarder ces captures d'écran et de s'assurer qu'il n'y a pas de problèmes dans la façon dont ces composants shad cn ont été implémentés.
00:03:34Ces fichiers de test garantissent que chaque fois que quelque chose de nouveau est ajouté ou pendant qu'une fonctionnalité est construite,
00:03:40toutes nos exigences comportementales sont remplies.
00:03:42Mais dans notre cas,
00:03:43nous voulons utiliser les captures d'écran purement pour la vérification de l'interface.
00:03:46Mais si nous avons déjà le TDD,
00:03:48pourquoi avons-nous besoin de la boucle ralph?
00:03:50Comme je l'ai déjà dit,
00:03:51avec des tâches plus importantes et des fenêtres de contexte devenant presque pleines,
00:03:54ces modèles quittent brusquement leurs tâches et nécessitent une intervention humaine constante.
00:03:58Par conséquent,
00:03:59je peux avoir des tests écrits à l'avance pour tout type de fonction que je veux,
00:04:02puis utiliser la boucle pour lui indiquer quoi faire et il peut travailler de manière autonome en lui disant quel flux de travail suivre et ensuite en lui donnant la condition pour quand il peut produire la promesse.
00:04:11Il termine la tâche et sort de la boucle,
00:04:13ce qui dans ce cas est quand il passe les 25 tests uniques.
00:04:16Donc en utilisant la commande slash ralph,
00:04:17je lui ai donné un prompt pour qu'il construise itérativement la fonctionnalité de palette de commandes.
00:04:22Dans le prompt,
00:04:22nous lui disions essentiellement d'implémenter la fonctionnalité avec quelques exigences de base qui ne sont pas vraiment importantes car les exigences peuvent être trouvées dans les tests également,
00:04:31mais nous avons décrit tout le flux de travail.
00:04:33Dans ce flux de travail,
00:04:34il était censé commencer par exécuter les tests.
00:04:36Il sait que les tests vont échouer et après ça,
00:04:38il doit implémenter les composants pour les faire passer.
00:04:40Donc c'est tout l'objectif.
00:04:41Maintenant,
00:04:42si c'était une tâche beaucoup plus large,
00:04:44il y a des chances que lorsque la fenêtre de contexte se remplit ou que claud est confus,
00:04:47il quitte automatiquement.
00:04:48Il ne produira jamais la promesse d'achèvement et puisqu'il ne produit jamais la promesse,
00:04:52le prompt sera renvoyé à nouveau et il devra tout recommencer,
00:04:55ce qui signifie qu'il continuera itérativement à travailler dessus.
00:04:58Mais comme c'était une tâche plus petite,
00:04:59il a réellement pu tout implémenter d'un coup,
00:05:01écrire tous les composants et faire passer tous les tests.
00:05:04Maintenant,
00:05:04après que les tests passent,
00:05:06le flux de travail lui dit de revoir toutes les captures d'écran de la palette de commandes.
00:05:09Ce sont des captures d'écran prises à différentes étapes pour s'assurer que l'interface,
00:05:13que ce soit shad cn ou toute autre bibliothèque de composants que vous utilisez,
00:05:17est implémentée correctement et qu'il n'y a pas de problèmes mineurs.
00:05:19Après ça,
00:05:20il devrait exécuter les tests à nouveau et s'assurer qu'ils passent toujours après les changements d'interface.
00:05:25Puisque tous les tests passaient et que les captures d'écran étaient revues,
00:05:28il a produit la promesse d'achèvement.
00:05:29C'est là que la boucle s'est arrêtée et n'a pas continué à nouveau.
00:05:32Mais il y avait un très gros problème avec ça que je n'ai pas remarqué dans la fonctionnalité de palette de commandes car il y avait très peu de chances d'erreurs d'interface.
00:05:40Cependant,
00:05:40quand je suis passé à l'implémentation de la vue tableau,
00:05:43j'ai réalisé qu'il y avait une énorme erreur dans le système.
00:05:45J'ai commencé par implémenter le tableau avec le même prompt.
00:05:48Les exigences étaient différentes bien sûr,
00:05:50mais le flux de travail était à peu près le même.
00:05:52J'étais un peu surpris quand il a complété toutes les exigences d'un coup.
00:05:55Ne vous méprenez pas,
00:05:56il s'assurait réellement que tous les tests passaient,
00:05:58mais pendant qu'il faisait ça,
00:05:59il y avait des cas où le nombre de tests réussis diminuait en fait parce qu'en changeant quelque chose,
00:06:04il cassait quelque chose d'autre,
00:06:05et c'est pourquoi le TDD est vraiment important à cause de ce test récursif et pour s'assurer que tout fonctionne.
00:06:10Mais le principal problème était qu'après avoir vérifié qu'il avait terminé et que je suis allé vérifier l'interface,
00:06:15la plupart des choses étaient implémentées correctement,
00:06:17mais il avait complètement manqué certaines erreurs d'interface comme celle-ci.
00:06:21J'ai aussi vérifié les captures d'écran et les erreurs apparaissaient dans ces captures d'écran également.
00:06:25Donc je lui ai demandé et nous avons analysé ce qui s'était réellement mal passé.
00:06:29Le vrai problème était un échec de processus,
00:06:30spécifiquement en termes de correction de l'interface.
00:06:33Ce qui s'est passé,
00:06:34c'est qu'il a bien passé tous les tests parce qu'il était censé exécuter les fichiers de test encore et encore,
00:06:38mais il n'y avait pas de test spécifique pour l'interface autre que les captures d'écran.
00:06:42Il a jeté un coup d'œil à quelques-unes d'entre elles et il a même ignoré certaines des erreurs d'interface qu'il avait vues.
00:06:47Certains fichiers ont été complètement ignorés.
00:06:49Donc le principal problème était qu'il a produit sa déclaration de promesse prématurément et n'a pas vérifié si l'interface était réellement corrigée.
00:06:56Nous avons eu toute une session de brainstorming sur la façon dont nous pourrions corriger ça et j'ai même donné les meilleures pratiques d'écriture de prompts du dépôt à clod code,
00:07:03mais au final nous avons proposé des règles spécifiques et un changement dans le processus qui garantiraient que l'interface soit toujours correcte.
00:07:10Maintenant,
00:07:10ça n'avait rien à voir avec les tests parce qu'ils vont toujours s'exécuter.
00:07:13Le prompt que nous avons utilisé pour la palette de commandes est vraiment utile quand la fonctionnalité ou l'implémentation est très grande,
00:07:19où clod n'hallucine pas qu'il a terminé la tâche,
00:07:22mais au lieu de cela,
00:07:22à cause d'une fenêtre de contexte pleine ou de la complexité de la tâche,
00:07:26il quitte brusquement.
00:07:26Maintenant,
00:07:27clod code est déjà vraiment autonome,
00:07:29il n'y a aucun doute là-dessus,
00:07:30mais il y a encore des problèmes comme celui-ci que nous devons corriger.
00:07:33Donc nous avons changé un certain nombre de choses dans le prompt principal.
00:07:36La première était le protocole de vérification des captures d'écran.
00:07:39Nous avons ajouté un simple préfixe à chaque image qui disait à clod s'il avait lu la capture d'écran ou non.
00:07:44Mais quand j'ai implémenté ça pour la première fois,
00:07:46il ne lisait toujours pas toutes les images.
00:07:48Il en lisait quelques-unes,
00:07:49écrivait « vérifié » dessus et tout comme avant,
00:07:51il quittait tôt.
00:07:52Donc pour résoudre ça,
00:07:52nous l'avons encouragé à penser différemment.
00:07:54Nous lui avons dit qu'après avoir renommé toutes les captures d'écran,
00:07:57il ne devrait pas encore produire la promesse,
00:07:59ce qui signifie qu'il ne devrait pas considérer la tâche comme terminée et qu'il devrait laisser la prochaine itération confirmer l'achèvement.
00:08:05Donc au moins deux boucles devraient s'exécuter.
00:08:07Ce qui se passe dans la prochaine vérification,
00:08:09c'est que clod vérifie que tous les fichiers ont le préfixe vérifié.
00:08:12Bien sûr,
00:08:13cela signifiait que nous devions changer les tests et séparer la vérification des images des tests fonctionnels.
00:08:18L'itération suivante s'assure que toutes les images ont des résultats vérifiés et si clod en manque,
00:08:22il les regarde à nouveau et corrige la sortie.
00:08:24Avec ce changement,
00:08:25les petites erreurs d'interface auxquelles nous étions confrontés ont finalement été corrigées et il a pu implémenter toutes ces fonctionnalités correctement.
00:08:31Donc quand il est entré dans la boucle suivante,
00:08:33il a à nouveau exécuté les tests.
00:08:35Puisqu'il a trouvé des erreurs,
00:08:36il les a corrigées et parce que tous les fichiers avaient le mot vérifié en eux,
00:08:39il a exécuté un test final.
00:08:41Cette fois,
00:08:41il a terminé sa tâche en deux boucles et a pu corriger toutes les erreurs d'interface majeures dans l'application.
00:08:46Parlons d'Automata maintenant.
00:08:47Après avoir enseigné à des millions de personnes comment construire avec l'IA,
00:08:50nous avons commencé à implémenter ces flux de travail nous-mêmes.
00:08:53Nous avons découvert que nous pouvions construire de meilleurs produits plus rapidement que jamais.
00:08:57Nous aidons à donner vie à vos idées,
00:08:59que ce soient des applications ou des sites web.
00:09:01Peut-être avez-vous regardé nos vidéos en pensant : j'ai une super idée mais je n'ai pas d'équipe technique pour la construire.
00:09:06C'est exactement là que nous intervenons.
00:09:08Pensez à nous comme votre copilote technique.
00:09:10Nous appliquons les mêmes flux de travail que nous avons enseignés à des millions de personnes directement à votre projet,
00:09:15transformant les concepts en véritables solutions fonctionnelles sans les tracas d'embaucher ou de gérer une équipe de développement.
00:09:21Prêt à accélérer votre idée vers la réalité?
00:09:23Contactez-nous à hello@automata.dev.
00:09:24Si vous souhaitez soutenir la chaîne et nous aider à continuer à faire des vidéos comme celle-ci,
00:09:28vous pouvez le faire en utilisant le bouton Super Thanks ci-dessous.
00:09:31Comme toujours,
00:09:32merci d'avoir regardé et je vous verrai dans la prochaine..

Key Takeaway

La boucle RALPH d'Anthropic combinée au développement piloté par les tests résout les problèmes d'interface avec ShadCN en forçant les agents IA à travailler de manière autonome jusqu'à ce que tous les tests passent et que toutes les erreurs visuelles soient corrigées.

Highlights

La boucle RALPH d'Anthropic permet aux agents IA de travailler de manière autonome jusqu'à ce qu'ils produisent une 'promesse d'achèvement'

Le développement piloté par les tests (TDD) avec des captures d'écran automatisées permet de vérifier l'interface avant d'implémenter les fonctionnalités

Les agents IA deviennent peu fiables avec de grands contextes et quittent prématurément sans système de boucle

Un protocole strict de vérification des captures d'écran avec préfixe 'vérifié' empêche l'agent de quitter avant de corriger toutes les erreurs d'interface

La combinaison de RALPH avec le TDD garantit que toutes les exigences comportementales sont remplies sans intervention humaine constante

Un processus en deux boucles minimum assure que l'agent confirme l'achèvement dans une itération séparée

Timeline

Le problème avec les agents IA et ShadCN

ShadCN est l'une des bibliothèques d'interface les plus populaires, mais utiliser des agents IA pour construire avec peut causer des problèmes majeurs. Alors que les pages d'atterrissage simples fonctionnent bien, le développement de nouvelles applications ou fonctionnalités entraîne des ruptures qui affectent d'autres parties de l'application. Les agents IA testent leur code mais deviennent peu fiables avec des contextes volumineux. Il est donc nécessaire de trouver un moyen de garantir que les agents terminent le travail qui leur est confié sans abandonner prématurément.

Introduction à la boucle RALPH

La solution vient du concept de boucles agentiques, et Anthropic résout ce problème avec la boucle RALPH. Le créateur a d'abord échoué à implémenter RALPH, mais a réalisé que le problème venait du processus et non de la boucle elle-même. RALPH est un nouveau plugin publié par Anthropic basé sur une technique d'un tiers qu'ils ont implémentée en open source. La boucle utilise des hooks d'arrêt de Claude Code qui s'exécutent quand Claude arrête de produire une réponse, lui renvoyant son fichier de prompt initial pour améliorer itérativement son travail. L'agent ne sort de la boucle que lorsqu'il produit une 'promesse d'achèvement', qui peut être n'importe quel mot choisi (par exemple 'complete'), garantissant qu'il ne quitte pas simplement quand il le souhaite.

Configuration et meilleures pratiques de RALPH

Après installation du plugin, trois commandes sont disponibles : la commande de boucle RALPH, une commande d'annulation et une commande d'aide. Dans la commande de boucle, il faut fournir le prompt transmis à l'agent de manière répétée. Pour éviter les boucles infinies lorsque l'agent reçoit une tâche impossible à résoudre, définir un nombre maximum d'itérations est une très bonne pratique. Le dépôt GitHub contient des meilleures pratiques pour les prompts à donner à la boucle RALPH. Cette vidéo se concentre spécifiquement sur les prompts liés au flux de travail d'interface qui sera démontré dans les sections suivantes.

Le développement piloté par les tests (TDD)

Deux fonctionnalités seront implémentées : une palette de commandes pour rechercher dans l'application et exécuter des commandes, et une vue tableau dans la base de données similaire à Notion. Pour garantir que ces nouvelles fonctionnalités ne cassent pas d'autres parties de l'application, on commence par les tests en utilisant le développement piloté par les tests (TDD). Claude Code peut configurer la structure TDD automatiquement, créant un dossier de tests de bout en bout, un dossier de captures d'écran pour vérifier les problèmes d'interface et les tests correspondants. L'approche TDD signifie que les tests sont écrits avant le code, donc les tests initiaux échoueront toujours. Ensuite, on écrit la quantité minimale de code nécessaire pour passer ces tests, puis on refactorise et ajoute plus de fonctionnalités tout en s'assurant que les tests passent toujours.

Tests automatisés et vérification visuelle

Les tests sont automatisés et Playwright peut être importé pour la vérification visuelle, mais contrairement à ce qu'on pourrait penser, le MCP Playwright n'est pas utilisé pour vérifier de manière autonome via le navigateur. Avec le TDD, pour chaque comportement fonctionnel, des captures d'écran peuvent être prises. Par exemple, si le comportement fonctionnel est d'ajouter une carte, la capture d'écran montrerait une carte ajoutée au tableau. L'agent IA doit simplement regarder ces captures d'écran et s'assurer qu'il n'y a pas de problèmes dans la façon dont les composants ShadCN ont été implémentés. Ces fichiers de test garantissent que chaque fois que quelque chose de nouveau est ajouté ou pendant qu'une fonctionnalité est construite, toutes les exigences comportementales sont remplies, les captures d'écran servant purement à la vérification de l'interface.

Pourquoi combiner TDD avec RALPH

Malgré l'existence du TDD, la boucle RALPH reste nécessaire car avec des tâches plus importantes et des fenêtres de contexte presque pleines, les modèles quittent brusquement leurs tâches et nécessitent une intervention humaine constante. Par conséquent, on peut avoir des tests écrits à l'avance pour tout type de fonction, puis utiliser la boucle pour indiquer à l'agent quoi faire afin qu'il puisse travailler de manière autonome. On lui dit quel flux de travail suivre et la condition pour produire la promesse d'achèvement. Dans ce cas, l'agent termine la tâche et sort de la boucle quand il passe les 25 tests uniques, garantissant un processus complètement autonome sans abandon prématuré.

Premier test : la palette de commandes

En utilisant la commande slash RALPH, un prompt a été fourni pour construire itérativement la fonctionnalité de palette de commandes. Le prompt indiquait d'implémenter la fonctionnalité avec quelques exigences de base (bien que les exigences puissent aussi être trouvées dans les tests) et décrivait tout le flux de travail. Dans ce flux, l'agent devait commencer par exécuter les tests, sachant qu'ils échoueraient, puis implémenter les composants pour les faire passer. C'était tout l'objectif du processus. Pour une tâche beaucoup plus large, lorsque la fenêtre de contexte se remplit ou que Claude est confus, il quitterait automatiquement, mais ne produirait jamais la promesse d'achèvement. Sans promesse, le prompt serait renvoyé à nouveau et l'agent devrait tout recommencer, continuant itérativement jusqu'à la réussite.

Succès initial et vérification de l'interface

Comme c'était une tâche plus petite, l'agent a pu tout implémenter d'un coup, écrire tous les composants et faire passer tous les tests. Après que les tests passent, le flux de travail lui indique de revoir toutes les captures d'écran de la palette de commandes. Ces captures d'écran prises à différentes étapes s'assurent que l'interface, que ce soit ShadCN ou toute autre bibliothèque de composants, est implémentée correctement sans problèmes mineurs. Après cette vérification, l'agent devait exécuter les tests à nouveau pour s'assurer qu'ils passaient toujours après les changements d'interface. Puisque tous les tests passaient et que les captures d'écran étaient revues, l'agent a produit la promesse d'achèvement, arrêtant la boucle. Un gros problème non remarqué dans cette fonctionnalité allait bientôt se révéler.

Découverte du problème majeur avec la vue tableau

Le vrai problème est apparu lors de l'implémentation de la vue tableau avec le même prompt et flux de travail similaire. L'agent a complété toutes les exigences d'un coup, s'assurant que tous les tests passaient. Cependant, pendant ce processus, le nombre de tests réussis diminuait parfois car en changeant quelque chose, l'agent cassait autre chose, démontrant l'importance du TDD avec ses tests récursifs. Le principal problème est survenu après vérification de l'interface : bien que la plupart des choses étaient implémentées correctement, l'agent avait complètement manqué certaines erreurs d'interface évidentes. Ces erreurs apparaissaient même dans les captures d'écran que l'agent était censé vérifier, révélant un échec majeur du processus.

Analyse de l'échec du processus

Après analyse de ce qui s'était réellement mal passé, le vrai problème identifié était un échec de processus, spécifiquement en termes de correction de l'interface. L'agent avait bien passé tous les tests parce qu'il était censé exécuter les fichiers de test encore et encore, mais il n'y avait pas de test spécifique pour l'interface autre que les captures d'écran. L'agent a jeté un coup d'œil à quelques-unes d'entre elles, ignorant même certaines erreurs d'interface qu'il avait vues. Certains fichiers de captures d'écran ont été complètement ignorés. Le principal problème était donc que l'agent a produit sa déclaration de promesse prématurément sans vérifier si l'interface était réellement corrigée, nécessitant une refonte complète du processus de vérification.

Solution : nouveau protocole de vérification

Après une session de brainstorming et consultation des meilleures pratiques du dépôt, des règles spécifiques et un changement de processus ont été proposés pour garantir que l'interface soit toujours correcte. Le changement principal concernait la vérification des captures d'écran, pas les tests qui continueraient à s'exécuter normalement. Le nouveau protocole ajoutait un simple préfixe à chaque image indiquant à Claude s'il avait lu la capture d'écran ou non. Lors de la première implémentation, l'agent ne lisait toujours pas toutes les images : il en lisait quelques-unes, écrivait 'vérifié' dessus et quittait tôt. Pour résoudre cela, l'agent a été encouragé à penser différemment : après avoir renommé toutes les captures d'écran, il ne devait pas encore produire la promesse, laissant la prochaine itération confirmer l'achèvement. Cela garantissait qu'au moins deux boucles s'exécuteraient.

Processus en deux boucles et succès final

Dans la prochaine vérification, Claude vérifie que tous les fichiers ont le préfixe 'vérifié', ce qui nécessitait de changer les tests et de séparer la vérification des images des tests fonctionnels. L'itération suivante s'assure que toutes les images ont des résultats vérifiés et si Claude en manque, il les regarde à nouveau et corrige la sortie. Avec ce changement, les petites erreurs d'interface ont finalement été corrigées et l'agent a pu implémenter toutes les fonctionnalités correctement. Lors de la boucle suivante, l'agent a exécuté les tests à nouveau, trouvé des erreurs, les a corrigées, et parce que tous les fichiers avaient le mot 'vérifié', il a exécuté un test final. Cette fois, la tâche s'est terminée en deux boucles avec toutes les erreurs d'interface majeures corrigées dans l'application.

Présentation d'Automata et conclusion

Automata est présenté comme un service qui applique ces flux de travail IA avancés directement aux projets clients. Après avoir enseigné à des millions de personnes comment construire avec l'IA, l'équipe a commencé à implémenter ces flux de travail eux-mêmes et a découvert qu'ils pouvaient construire de meilleurs produits plus rapidement que jamais. Automata aide à donner vie aux idées, que ce soient des applications ou des sites web, servant de copilote technique pour ceux qui ont des idées mais pas d'équipe technique. Ils appliquent les mêmes flux de travail enseignés à des millions de personnes, transformant les concepts en véritables solutions fonctionnelles sans les tracas d'embaucher ou de gérer une équipe de développement. Les spectateurs peuvent les contacter à hello@automata.dev ou soutenir la chaîne via le bouton Super Thanks.

Community Posts

View all posts