Anthropic a Révélé une Nouvelle Façon de "Coder avec Intuition"

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

Transcript

00:00:00Le principal problème des agents IA est la fenêtre de contexte limitée,
00:00:03qui restreint ce qu'ils retiennent des actions précédentes.
00:00:06Quand on confie une tâche plus importante à Claude Code,
00:00:08il se compacte plusieurs fois en tentant une seule fonctionnalité,
00:00:11oubliant la tâche principale qu'on lui a demandé d'implémenter,
00:00:14ce qui le rend moins efficace pour les tâches de longue durée.
00:00:17Anthropic vient de publier une solution basée sur la façon dont de vraies équipes travaillent dans un environnement d'ingénierie réel.
00:00:22Ils ont identifié deux raisons principales pour lesquelles il échoue sur les tâches longues.
00:00:26Beaucoup d'entre nous ont essayé de réaliser des applications entières ou de grosses fonctionnalités en une seule fois,
00:00:31et en faire trop fait que le modèle épuise son contexte.
00:00:34Après des compactages répétés,
00:00:35la fenêtre de contexte est rafraîchie avec la fonctionnalité à moitié implémentée,
00:00:39sans aucune mémoire de sa progression,
00:00:41ce qui conduit à une implémentation incomplète.
00:00:43Le deuxième problème est que,
00:00:44en raison de capacités de test limitées,
00:00:46Claude marque les fonctionnalités non testées comme terminées.
00:00:49Il suppose que la fonctionnalité est complète,
00:00:51même si elle ne fonctionne pas correctement.
00:00:53Leur solution consistait à utiliser un agent d'initialisation et un agent de codage en harmonie,
00:00:57inspirés par le fonctionnement des vraies équipes logicielles.
00:00:59Ce flux de travail est initialement conçu pour les agents que vous construisez vous-même,
00:01:03mais j'ai réalisé qu'il pouvait aussi s'appliquer aux instances de Claude Code.
00:01:06Le premier agent se concentre sur l'initialisation correcte de votre agent de codage,
00:01:10et il faut être patient car cela prend un peu de temps.
00:01:12J'ai un projet Next.js vide et je veux construire un compilateur Python en ligne.
00:01:16Avant de commencer,
00:01:17créez un fichier Claude.md en utilisant la commande init.
00:01:20Ce fichier est un document pour votre base de code et se trouve à la racine de votre projet,
00:01:24contenant un aperçu et toutes les informations importantes.
00:01:27Ensuite,
00:01:27générez le JSON de la liste des fonctionnalités à la racine du projet.
00:01:30Il doit lister toutes les fonctionnalités et leurs étapes de test correspondantes,
00:01:33avec tous les tests marqués comme échouant initialement,
00:01:36afin que Claude soit forcé de les tester.
00:01:38Nous utilisons JSON au lieu de Markdown car les fichiers JSON sont plus faciles à gérer dans le contexte.
00:01:43Puisque Claude ne peut tester que le code,
00:01:44et non l'interface que nous voyons sur le navigateur,
00:01:47j'ai connecté Puppeteer pour les tests de navigateur.
00:01:49Après cela,
00:01:49créez un script d'initialisation pour guider le démarrage du serveur de développement et un fichier de suivi de progression afin que le système puisse suivre l'état d'avancement du projet.
00:01:57Pour les directives,
00:01:58Claude doit mettre à jour progress.md après chaque exécution et tester chaque fonctionnalité après implémentation.
00:02:04La pratique la plus importante est de committer sur Git.
00:02:07Nous sous-estimons à quel point il est crucial de committer dans un état fusionnable.
00:02:10Les commits Git avec des logs clairs montrent ce qui est terminé et vous permettent de revenir en arrière si l'implémentation échoue.
00:02:15Enfin,
00:02:16Claude ne doit pas modifier la liste des fonctionnalités au-delà du marquage des fonctionnalités comme implémentées.
00:02:20L'environnement étant prêt, nous passons à la partie codage.
00:02:23L'idée était d'implémenter chaque fonctionnalité une par une à partir du JSON des fonctionnalités.
00:02:27Claude a également créé des messages de commit descriptifs après chaque fonctionnalité testée et a également lancé le navigateur si nécessaire.
00:02:33Une fois qu'il a vérifié que l'application fonctionnait,
00:02:35il a mis à jour les champs JSON de false à true et a mis à jour progress.md avec ce qui avait été accompli jusqu'à présent.
00:02:42Enfin,
00:02:42il a committé les changements et vérifié que le commit avait réussi.
00:02:45L'avantage de cette approche incrémentale est que même si la session se termine,
00:02:49vous pouvez reprendre exactement là où vous vous étiez arrêté.
00:02:51Tout est suivi dans les logs Git,
00:02:53vous n'avez donc pas à vous soucier de casser le code.
00:02:55Claude peut comprendre le projet à partir des logs Git et du fichier de progression,
00:02:59et non du code lui-même,
00:03:00vous pouvez donc reprendre la session facilement.
00:03:02Votre prochaine instruction est simplement d'implémenter la prochaine fonctionnalité marquée
00:03:06"Non fait"
00:03:06.
00:03:06Cette approche réduit également la tendance de Claude à marquer les fonctionnalités comme terminées sans tests appropriés.
00:03:11Chaque itération garantit que l'application est construite de bout en bout avec de vrais tests,
00:03:15aidant à identifier les bugs qui ne sont pas évidents à partir du code seul.
00:03:19Nous répétons ce cycle jusqu'à ce que toutes les fonctionnalités soient marquées comme vraies.
00:03:22Vous pourriez penser que c'est similaire à la méthode BMAD.
00:03:24Il y a des similitudes,
00:03:25mais je pense que le flux de travail de Claude est meilleur à certains égards.
00:03:28C'était plus facile car vous n'appeliez pas les agents séparément,
00:03:31et l'utilisation du contexte était également meilleure.
00:03:33Après avoir implémenté tant de fonctionnalités,
00:03:36il n'a utilisé que 84% du contexte,
00:03:37alors que BMAD aurait déjà compacté deux fois à cause des grandes histoires qu'il crée.
00:03:42Cela dit,
00:03:42BMAD est toujours un système complet prêt à l'emploi,
00:03:45tandis que ceci n'est encore qu'une idée qui doit être implémentée.
00:03:48Mais BMAD pourrait tirer parti de certaines choses de cette approche,
00:03:50comme le système Git.
00:03:51Après avoir enseigné à des millions de personnes comment construire avec l'IA,
00:03:54nous avons commencé à implémenter ces flux de travail nous-mêmes.
00:03:57Nous avons découvert que nous pouvions construire de meilleurs produits plus rapidement que jamais auparavant.
00:04:00Nous avons aidé à donner vie à vos idées,
00:04:02qu'il s'agisse d'applications ou de sites web.
00:04:04Peut-être avez-vous regardé nos vidéos en pensant :
00:04:06"J'ai une excellente idée,"
00:04:07mais je n'ai pas d'équipe technique pour la construire.
00:04:09"C'est exactement là que nous intervenons."
00:04:10Pensez à nous comme à votre copilote technique.
00:04:12Nous appliquons les mêmes flux de travail que nous avons enseignés à des millions de personnes directement à votre projet,
00:04:17transformant les concepts en solutions réelles et fonctionnelles sans les tracas de l'embauche ou de la gestion d'une équipe de développement.
00:04:22Prêt à transformer rapidement votre idée en réalité ?
00:04:25Contactez-nous à hello@autometer.dev.
00:04:27Cela nous amène à la fin de cette vidéo..
00:04:29Si vous souhaitez soutenir la chaîne et nous aider à continuer à faire des vidéos comme celle-ci,
00:04:33vous pouvez le faire en utilisant le bouton Super Merci ci-dessous.
00:04:36Comme toujours,
00:04:36merci d'avoir regardé,
00:04:37et je vous dis à la prochaine.

Key Takeaway

Anthropic a développé une nouvelle approche de codage pour les agents IA comme Claude Code, résolvant les problèmes de contexte limité et de tests incomplets grâce à un flux de travail incrémental inspiré des pratiques d'ingénierie logicielle réelles, permettant une meilleure efficacité et traçabilité.

Highlights

Les agents IA comme Claude Code rencontrent des problèmes de fenêtre de contexte limitée, les rendant inefficaces pour les tâches de longue durée.

Anthropic a développé une solution basée sur la façon dont les équipes logicielles réelles travaillent, utilisant un agent d'initialisation et un agent de codage en harmonie.

Le nouveau flux de travail implique une préparation minutieuse de l'environnement avec des fichiers de documentation, des listes de fonctionnalités JSON et des outils de test comme Puppeteer.

L'approche incrémentale permet de coder et tester chaque fonctionnalité une par une, en utilisant Git pour le suivi des progrès et la reprise facile des sessions.

Cette méthode améliore l'utilisation du contexte et réduit la tendance de l'IA à marquer les fonctionnalités non testées comme terminées.

Comparé à la méthode BMAD, ce flux de travail offre une meilleure gestion du contexte et une simplicité accrue dans l'appel des agents.

Timeline

Problèmes des agents IA et de Claude Code

Cette section introduit le problème fondamental des agents IA, notamment Claude Code, qui est leur fenêtre de contexte limitée. Cette limitation les empêche de retenir les actions précédentes, ce qui conduit à des 'compactages' répétés où l'agent oublie la tâche principale. En conséquence, Claude Code devient inefficace pour les tâches de longue durée, car il ne peut pas maintenir une vue d'ensemble de la progression du projet. Le problème est que l'agent se concentre trop sur une seule fonctionnalité, perdant de vue l'objectif global.

Identification des causes d'échec par Anthropic

Anthropic a identifié deux raisons principales pour lesquelles les agents IA échouent sur les tâches de longue durée. Premièrement, tenter de réaliser des applications entières ou de grosses fonctionnalités en une seule fois épuise le contexte du modèle, menant à des implémentations incomplètes sans mémoire de la progression. Deuxièmement, en raison de capacités de test limitées, Claude marque souvent les fonctionnalités comme terminées même si elles ne fonctionnent pas correctement, supposant leur complétude sans vérification adéquate. Ces observations soulignent la nécessité d'une approche plus structurée et incrémentale pour le développement assisté par IA.

La solution d'Anthropic : Agents en harmonie

La solution proposée par Anthropic s'inspire du fonctionnement des vraies équipes logicielles, utilisant un agent d'initialisation et un agent de codage en harmonie. Ce flux de travail est initialement conçu pour les agents auto-construits, mais il a été adapté pour les instances de Claude Code. L'idée est de diviser les responsabilités pour mieux gérer le contexte et la progression. Cette approche vise à surmonter les limitations des agents IA en mimant des pratiques de développement logiciel éprouvées et efficaces.

Préparation de l'environnement de codage

La mise en place de l'environnement est cruciale et implique plusieurs étapes détaillées. Il faut créer un fichier 'Claude.md' pour un aperçu du projet et un JSON de liste de fonctionnalités, où tous les tests sont initialement marqués comme échouant pour forcer Claude à les tester. L'utilisation de JSON est préférée pour une meilleure gestion du contexte. De plus, Puppeteer est connecté pour les tests de navigateur, un script d'initialisation et un fichier de suivi de progression sont créés. Les directives pour Claude incluent la mise à jour de 'progress.md', le test de chaque fonctionnalité, l'utilisation de Git pour les commits clairs et l'interdiction de modifier la liste des fonctionnalités au-delà du marquage d'achèvement.

Le processus de codage incrémental

Une fois l'environnement prêt, le processus de codage se déroule de manière incrémentale, fonctionnalité par fonctionnalité, en se basant sur le JSON des fonctionnalités. Claude est chargé de créer des messages de commit descriptifs après chaque fonctionnalité testée et de lancer le navigateur si nécessaire pour les vérifications. Après avoir confirmé le bon fonctionnement de l'application, il met à jour les champs JSON de 'false' à 'true' et actualise 'progress.md'. L'avantage majeur de cette approche est que les logs Git et le fichier de progression permettent de reprendre une session exactement là où elle s'était arrêtée, sans se soucier de casser le code ou de perdre le contexte.

Avantages et itération continue du workflow

Cette approche incrémentale réduit significativement la tendance de Claude à marquer les fonctionnalités comme terminées sans tests appropriés. Chaque itération garantit que l'application est construite de bout en bout avec des tests réels, ce qui aide à identifier les bugs qui ne seraient pas évidents à partir du code seul. Le cycle est répété jusqu'à ce que toutes les fonctionnalités soient marquées comme implémentées et testées avec succès. Cela assure une robustesse et une fiabilité accrues du développement logiciel assisté par IA, en intégrant la vérification à chaque étape.

Comparaison avec BMAD et perspectives

Le présentateur compare cette nouvelle approche à la méthode BMAD, notant des similitudes mais aussi des avantages distincts pour le flux de travail de Claude. Il est jugé plus facile car il n'y a pas d'appels d'agents séparés, et l'utilisation du contexte est nettement meilleure, avec seulement 84% du contexte utilisé après de nombreuses fonctionnalités, contrairement à BMAD qui aurait déjà compacté deux fois. Bien que BMAD soit un système complet prêt à l'emploi et que cette approche soit encore une idée, il est suggéré que BMAD pourrait bénéficier de l'intégration de certains éléments de cette méthode, notamment le système Git pour une meilleure traçabilité.

Services d'Autometer.dev et conclusion

La vidéo se termine par une présentation des services d'Autometer.dev, qui applique ces mêmes flux de travail pour aider les clients à construire des produits meilleurs et plus rapidement. Ils se positionnent comme un 'copilote technique', transformant les concepts en solutions fonctionnelles sans les tracas liés à l'embauche et à la gestion d'une équipe de développement. Les spectateurs sont invités à les contacter à hello@autometer.dev pour transformer leurs idées en réalité. La vidéo se conclut par des remerciements et un appel à soutenir la chaîne pour la production de futures vidéos.

Community Posts

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

Write about this video