Tout ce que je savais sur le codage IA était faux

AAI LABS
Computing/SoftwareInternet Technology

Transcript

00:00:00Vous connaissez déjà ces frameworks d'IA pour le code comme Beemad,
00:00:03Speckit et autres,
00:00:04mais ce ne sont pas les seuls.
00:00:06Des centaines de personnes expérimentent et lancent leurs propres workflows,
00:00:09mais quand vous les testez,
00:00:10vous remarquerez qu'ils ne tiennent souvent pas leurs promesses.
00:00:13Ce n'est pas parce que leurs méthodes sont mauvaises,
00:00:15c'est parce qu'elles ne correspondent pas à votre cas d'usage spécifique.
00:00:18Quand nous développons des applications,
00:00:19la plupart du temps nous créons nos propres workflows au lieu de nous appuyer sur des workflows préfabriqués.
00:00:23C'est parce que les workflows doivent être construits autour de votre cas d'usage spécifique et ne fonctionnent que s'ils correspondent au projet que vous essayez de créer.
00:00:30Alors comment créer un workflow adapté à votre propre processus ?
00:00:32Pour cela, vous devez connaître certains principes.
00:00:34Ce sont les principes que chaque framework utilise d'une manière ou d'une autre.
00:00:38Avant d'aborder les principes fondamentaux,
00:00:40il est essentiel que vous sachiez ce que contient la fenêtre de contexte de ces outils d'IA.
00:00:44C'est vraiment important,
00:00:46car gérer le contexte est essentiellement ce que font ces frameworks.
00:00:48La fenêtre de contexte correspond essentiellement à la quantité d'informations que le modèle peut retenir simultanément.
00:00:53Tout ce qui sort de la fenêtre de contexte du modèle disparaît de sa mémoire de travail,
00:00:57et il n'a aucun moyen de le rappeler.
00:00:59Les modèles ont une fenêtre de contexte limitée.
00:01:00Par exemple,
00:01:01les modèles Anthropic ont une fenêtre de contexte de 200 000 tokens,
00:01:04et les modèles Gemini en ont 1 million.
00:01:06Même si ces chiffres peuvent sembler vraiment énormes en termes de messages que vous envoyez,
00:01:10ils ne le sont pas tant que ça,
00:01:11car dans ces outils d'IA,
00:01:12la fenêtre de contexte ne contient pas seulement votre prompt système et vos messages utilisateur,
00:01:17mais inclut également beaucoup d'autres éléments comme vos messages précédents,
00:01:20les fichiers de mémoire,
00:01:21les outils,
00:01:22les appels MCP,
00:01:22etc.
00:01:23Vous devez apprendre à tirer le meilleur parti de cet espace de travail limité,
00:01:26pour que lorsque vous construisez vos workflows,
00:01:28le modèle fasse exactement ce que vous voulez qu'il fasse.
00:01:30J'utiliserai Claude Code comme mon outil de codage principal tout au long de la vidéo,
00:01:34mais vous pouvez construire votre workflow avec n'importe quelle plateforme,
00:01:37car elles ont toutes les outils nécessaires pour ces principes.
00:01:39Le principe le plus important et la clé de toute conception de workflow est la divulgation progressive.
00:01:44Cela signifie ne révéler au LLM que ce qui compte,
00:01:46et garder l'attention du modèle concentrée sur ce qui est réellement nécessaire maintenant,
00:01:50plutôt que de remplir la fenêtre de contexte avec tout ce dont il pourrait avoir besoin à l'avenir.
00:01:54Maintenant,
00:01:55les modèles plus avancés comme Sonnet 4.5 ont une fonctionnalité d'édition de contexte intégrée,
00:01:59qui leur permet de comprendre ce qui est superflu et d'essayer de le filtrer par eux-mêmes,
00:02:04et ils utilisent des commandes grep pour affiner ce que vous voulez.
00:02:07Mais cela seul ne suffit pas.
00:02:08Quand nous donnons des instructions vagues,
00:02:10même ces modèles plus récents chargent beaucoup de choses qui ne sont pas nécessaires et polluent la fenêtre.
00:02:14Au lieu de demander à Claude de corriger l'erreur dans votre backend,
00:02:17il est préférable de lui demander de vérifier les endpoints un par un,
00:02:20plutôt que de lui demander de tout corriger d'un coup.
00:02:23La fonctionnalité des compétences dans Claude est maintenant open source et tous les outils peuvent l'utiliser.
00:02:27Les compétences sont essentiellement l'incarnation de la divulgation progressive.
00:02:29Leur description fournit juste assez d'informations pour que votre plateforme de codage IA sache quand chaque compétence doit être utilisée sans tout charger dans le contexte.
00:02:38Une énorme erreur que les gens commettent est d'utiliser les MCP pour tout.
00:02:41Vous ne devriez utiliser les MCP que lorsque des données externes sont requises et utiliser les compétences pour tout le reste.
00:02:46Le deuxième principe tout aussi important est que les informations qui ne sont pas nécessaires maintenant ne devraient pas se trouver dans la fenêtre de contexte.
00:02:52Pour y parvenir,
00:02:53les outils utilisent une prise de notes structurée.
00:02:55Et nous pouvons l'utiliser à notre avantage en fournissant à votre outil d'IA des fichiers externes qu'il peut utiliser pour documenter toutes les décisions,
00:03:01les problèmes ou la dette technique.
00:03:03Cette approche permet à votre agent de maintenir un contexte critique qui pourrait autrement être perdu lors de la construction de quelque chose de vraiment complexe.
00:03:09Ces outils ont également une fonctionnalité de compaction pour gérer la fenêtre de contexte.
00:03:13Et quand le contexte se réinitialise,
00:03:15vous n'avez pas à vous fier uniquement au résumé de compaction.
00:03:17Par exemple,
00:03:18votre agent peut utiliser ces notes pour obtenir du contexte sur ce qui a déjà été fait et ce qui doit encore être fait.
00:03:23Cette approche est particulièrement utile pour les tâches à long terme,
00:03:26qui sont intrinsèquement complexes.
00:03:28Vous connaissez peut-être le fichier agent.md.
00:03:30C'est un fichier de contexte standard que tous les agents lisent avant de démarrer la session.
00:03:34Certains agents ne suivent pas cela et ont le leur,
00:03:37comme le claud.md,
00:03:37et je les utilise pour guider l'agent sur la façon dont les fichiers externes sont structurés et quoi écrire dans chacun d'eux.
00:03:44Parfois,
00:03:44ces agents se mettent en pause au hasard au milieu d'une tâche de longue durée.
00:03:47Souvent,
00:03:48cela se produit parce que le contexte a dépassé 70 % de sa limite.
00:03:52C'est là qu'intervient le concept de budget d'attention.
00:03:55Votre fenêtre de contexte est ce à quoi le modèle prête attention lors de la génération de la sortie.
00:03:59Quand elle dépasse 70 %,
00:04:00le modèle doit se concentrer davantage et il y a un risque plus élevé d'hallucinations.
00:04:04En ce qui concerne les agents IA,
00:04:06cela les empêche d'utiliser leurs outils efficacement et souvent ils choisissent simplement de les ignorer.
00:04:10Pour résoudre cela,
00:04:11il existe plusieurs outils intégrés que vous pouvez utiliser.
00:04:14Comme vous le savez déjà,
00:04:15la compaction permet au modèle de repartir à zéro avec un résumé approprié de ce qui s'est passé comme prompt de départ et une fenêtre de contexte réduite.
00:04:21Donc au lieu de le laisser se remplir jusqu'à 90 % et déclencher la fonctionnalité de compaction automatique,
00:04:25essayez de garder un œil sur la fenêtre de contexte et de le faire vous-même.
00:04:28Si vous expérimentez,
00:04:29utilisez le rembobinage intégré de Claude pour pouvoir supprimer les parties inutiles au lieu de les continuer et de demander des modifications à Claude.
00:04:36Vous devriez également effacer ou démarrer une nouvelle fenêtre de contexte pour toute nouvelle tâche afin que le contexte précédent ne ralentisse pas le modèle.
00:04:42Une autre chose qui découle du principe de divulgation progressive est la capacité de ces agents à exécuter des tâches en arrière-plan sans polluer la fenêtre de contexte principale.
00:04:51Les sous-agents travaillent dans leur propre fenêtre de contexte isolée et ne rapportent que la sortie à l'agent principal.
00:04:57C'est particulièrement utile lorsqu'on travaille sur des tâches isolées les unes des autres,
00:05:00car votre fenêtre de contexte principale est protégée contre l'encombrement avec les appels d'outils et les recherches que le sous-agent effectue,
00:05:07garantissant que l'information reste dans sa zone de travail dédiée.
00:05:10Comme ces agents s'exécutent en arrière-plan,
00:05:12vous pouvez continuer à interagir avec votre agent principal et le laisser travailler sur quelque chose qui nécessite réellement votre attention.
00:05:17Chaque fois que je veux faire des recherches sur quelque chose,
00:05:19comme les règles d'un nouveau framework avec lequel je travaille,
00:05:22j'utilise simplement ces sous-agents.
00:05:23De cette façon,
00:05:24leurs appels d'outils et leurs recherches sont isolés et ils renvoient simplement la réponse à l'agent principal.
00:05:29Si vous comprenez le principe de la prise de notes,
00:05:31vous devriez également savoir quel format de fichier utiliser pour quelle tâche.
00:05:34Puisque ces fichiers ont différents formats,
00:05:36ils affectent le nombre de tokens et donc l'efficacité de votre workflow.
00:05:40YAML est le plus efficace en tokens,
00:05:41donc je l'utilise principalement pour les schémas de base de données,
00:05:44les configurations de sécurité et les détails d'API.
00:05:46Son indentation aide les modèles à structurer correctement les informations.
00:05:49Markdown est meilleur pour la documentation comme votre claud.md car les niveaux de titres facilitent la navigation du modèle entre les sections.
00:05:56XML est spécifiquement optimisé pour les modèles Claude.
00:05:59Anthropic affirme que leurs modèles sont affinés pour reconnaître ces balises comme des conteneurs et des séparateurs,
00:06:04ce qui est utile lorsque vous avez des sections distinctes comme les contraintes,
00:06:08les résumés ou les détails visuels.
00:06:10Les autres modèles préfèrent généralement Markdown et YAML à XML.
00:06:13Et enfin, JSON.
00:06:14C'est le moins efficace en tokens à cause de toutes les accolades et guillemets supplémentaires,
00:06:17donc je ne l'utilise que pour de petites choses comme les états de tâches et je ne recommande pas vraiment de l'utiliser dans la plupart des cas.
00:06:23Git est l'une des choses les plus basiques qu'on vous enseigne quand vous commencez la programmation.
00:06:26Nous avons vu une autre tendance avec ces workflows de contexte dans laquelle les gens utilisent réellement l'historique des commits git comme rappel au modèle des progrès qui ont été réalisés,
00:06:35que ce soit sur l'ensemble du projet ou sur une seule tâche.
00:06:37Même si vous ne voulez pas l'utiliser pour stocker les progrès,
00:06:40vous devriez généralement utiliser ces workflows d'ingénierie de contexte dans un dépôt initialisé avec git.
00:06:44Avoir un flux de travail d'ingénierie de contexte signifie que vous ne laissez pas le modèle tout faire en une seule fois,
00:06:49mais qu'il agit plutôt selon des étapes planifiées une par une.
00:06:51Si à un moment donné vous rencontrez un problème,
00:06:54git vous permet de contrôler vers quelle version revenir et aide à évaluer quel changement cause des problèmes.
00:06:59Des gens ont également implémenté le parallélisme avec les git worktrees.
00:07:02J'ai également montré de nombreux flux de travail où des sous-agents travaillent dans des worktrees dédiés pour un travail en parallèle.
00:07:07Quel que soit le flux de travail que vous finissez par créer,
00:07:09il y aura toujours des cas où vous vous retrouverez à répéter des instructions pour des procédures courantes.
00:07:13Un bon exemple est la façon dont vous demandez aux outils d'IA de faire des commits git ou de mettre à jour votre documentation.
00:07:18Dans presque tous ces outils d'IA,
00:07:19il existe des moyens de réutiliser vos prompts les plus répétés.
00:07:22J'utilise souvent des custom/commands dans mes propres projets car ils donnent essentiellement à Claude un guide réutilisable.
00:07:28J'utilise souvent une commande catchup qui contient des instructions sur la façon dont je structure la mémoire en dehors de la fenêtre de contexte,
00:07:34afin que Claude sache comment se mettre à jour avec le projet au lieu de lire chaque fichier.
00:07:38Elles sont également efficaces pour faire respecter la structure.
00:07:40Pour que mes commits et ma documentation suivent un format défini,
00:07:43j'utilise une commit/command qui suit une structure spécifique pour la façon dont elle doit rédiger les messages de commit et quelles vérifications pré-commit elle doit effectuer avant de valider.
00:07:51De cette façon,
00:07:51les /commands maintiennent tout standardisé,
00:07:53et je n'ai pas à instruire Claude encore et encore pour effectuer des tâches de la manière que je préfère.
00:07:58Comme vous le savez,
00:07:59les MCP doivent être utilisés chaque fois que des données externes sont requises.
00:08:01Jira est le logiciel de gestion d'équipe le plus largement utilisé.
00:08:04Si vous voulez obtenir des informations à partir de tickets,
00:08:06vous pouvez utiliser le MCP Jira pour qu'il puisse accéder aux tickets directement et commencer à implémenter des changements.
00:08:11De même,
00:08:11j'utilise le MCP Figma pour fournir à Claude le guide de style de l'application qu'il utilise ensuite pour construire le design.
00:08:18Pour les tâches où les capacités intégrées du modèle sont insuffisantes,
00:08:21les MCP sont essentiels pour interagir efficacement avec des sources externes.
00:08:25Vous pouvez inclure ces MCP directement dans vos /commands afin qu'ils fassent partie de l'ensemble de votre flux de travail.
00:08:31Cela nous amène à la fin de cette vidéo.
00:08:32Si vous souhaitez soutenir la chaîne et nous aider à continuer de créer des vidéos comme celle-ci,
00:08:36vous pouvez le faire en utilisant le bouton super merci ci-dessous.
00:08:39Comme toujours,
00:08:39merci d'avoir regardé et je vous retrouve dans la prochaine.

Key Takeaway

Pour créer des workflows d'IA efficaces pour le codage, il faut maîtriser la gestion de la fenêtre de contexte à travers la divulgation progressive, la prise de notes structurée, et l'utilisation stratégique des outils comme les compétences, les sous-agents et les MCP.

Highlights

La divulgation progressive est le principe le plus important : ne révéler au LLM que ce qui est nécessaire maintenant pour optimiser la fenêtre de contexte

Les compétences (skills) doivent être utilisées pour les tâches internes, tandis que les MCP sont réservés uniquement aux données externes

La prise de notes structurée dans des fichiers externes permet de documenter décisions et dette technique sans polluer le contexte

Maintenir le budget d'attention en dessous de 70% de la fenêtre de contexte pour éviter les hallucinations et la pause aléatoire des agents

Les sous-agents travaillent dans leur propre fenêtre de contexte isolée et ne rapportent que les résultats à l'agent principal

Le format de fichier impacte l'efficacité en tokens : YAML est le plus efficace, suivi de Markdown, XML (pour Claude), et JSON est le moins efficace

Les /commands personnalisées permettent de réutiliser des instructions répétées et de standardiser les procédures comme les commits git

Timeline

Introduction : Au-delà des frameworks préfabriqués

Le présentateur introduit le problème des frameworks d'IA pour le code (Beemad, Speckit) qui ne tiennent pas toujours leurs promesses. Il explique que l'échec n'est pas dû à de mauvaises méthodes, mais au fait que ces workflows préfabriqués ne correspondent pas aux cas d'usage spécifiques de chaque développeur. La solution consiste à créer ses propres workflows personnalisés adaptés au projet plutôt que de s'appuyer sur des solutions génériques. Pour y parvenir, il est nécessaire de comprendre certains principes fondamentaux que tous les frameworks utilisent d'une manière ou d'une autre.

Comprendre la fenêtre de contexte et ses limites

La fenêtre de contexte représente la quantité d'informations que le modèle peut retenir simultanément en mémoire de travail. Les modèles Anthropic disposent de 200 000 tokens tandis que Gemini en a 1 million, mais ces chiffres ne sont pas aussi importants qu'ils le semblent. La fenêtre contient non seulement les prompts système et messages utilisateur, mais également les messages précédents, fichiers de mémoire, outils, appels MCP, etc. Gérer efficacement ce contexte est essentiellement ce que font les frameworks d'IA, et il faut apprendre à tirer le meilleur parti de cet espace de travail limité pour que le modèle fasse exactement ce qu'on attend de lui.

Principe de divulgation progressive et édition de contexte

La divulgation progressive est le principe le plus important de la conception de workflow : ne révéler au LLM que ce qui compte maintenant plutôt que de remplir la fenêtre avec tout ce dont il pourrait avoir besoin plus tard. Les modèles avancés comme Sonnet 4.5 ont une fonctionnalité d'édition de contexte intégrée qui filtre automatiquement les informations superflues, mais cela ne suffit pas. Au lieu de demandes vagues comme "corriger l'erreur dans le backend", il vaut mieux demander de vérifier les endpoints un par un. Les compétences (skills) incarnent ce principe en fournissant juste assez d'informations pour que l'outil sache quand les utiliser sans tout charger dans le contexte, et elles doivent être utilisées pour tout sauf les données externes qui nécessitent des MCP.

Prise de notes structurée et fichiers externes

Le deuxième principe clé stipule que les informations non nécessaires maintenant ne doivent pas se trouver dans la fenêtre de contexte. Les outils utilisent une prise de notes structurée dans des fichiers externes pour documenter décisions, problèmes et dette technique. Cette approche permet de maintenir le contexte critique lors de la construction de projets complexes, surtout quand le contexte se réinitialise via la compaction. Les agents peuvent consulter ces notes pour comprendre ce qui a été fait et ce qui reste à faire. Le fichier agent.md (ou claud.md selon l'outil) est un fichier de contexte standard que tous les agents lisent au démarrage de la session pour comprendre comment structurer et utiliser ces fichiers externes.

Budget d'attention et gestion de la fenêtre de contexte

Les agents se mettent parfois en pause au hasard lors de tâches longues, généralement quand le contexte dépasse 70% de sa limite. C'est le concept de budget d'attention : au-delà de 70%, le modèle doit se concentrer davantage avec un risque accru d'hallucinations, ce qui empêche les agents d'utiliser leurs outils efficacement et les pousse à les ignorer. Pour résoudre ce problème, il faut utiliser la compaction qui permet au modèle de repartir à zéro avec un résumé approprié. Plutôt que d'attendre que la fenêtre atteigne 90% et déclenche la compaction automatique, il vaut mieux surveiller activement le contexte et le faire manuellement. Le rembobinage intégré de Claude permet aussi de supprimer les parties inutiles, et il faut démarrer une nouvelle fenêtre pour chaque nouvelle tâche.

Sous-agents et isolation du contexte

Les sous-agents exécutent des tâches en arrière-plan dans leur propre fenêtre de contexte isolée sans polluer la fenêtre principale. Ils ne rapportent que la sortie finale à l'agent principal, ce qui est particulièrement utile pour des tâches isolées les unes des autres. La fenêtre de contexte principale reste protégée contre l'encombrement avec les appels d'outils et recherches effectués par le sous-agent. Ces agents s'exécutant en arrière-plan, on peut continuer à interagir avec l'agent principal sur des tâches nécessitant réellement notre attention. L'exemple donné est l'utilisation de sous-agents pour rechercher les règles d'un nouveau framework : leurs appels d'outils et recherches restent isolés et ils renvoient simplement la réponse à l'agent principal.

Optimisation des formats de fichiers pour l'efficacité en tokens

Les différents formats de fichiers affectent le nombre de tokens et donc l'efficacité du workflow. YAML est le plus efficace en tokens et convient pour les schémas de base de données, configurations de sécurité et détails d'API grâce à son indentation qui aide à structurer les informations. Markdown est meilleur pour la documentation comme claud.md car les niveaux de titres facilitent la navigation du modèle entre sections. XML est spécifiquement optimisé pour les modèles Claude car Anthropic les a affinés pour reconnaître ces balises comme conteneurs et séparateurs, utile pour sections distinctes comme contraintes, résumés ou détails visuels (les autres modèles préfèrent Markdown et YAML). JSON est le moins efficace à cause des accolades et guillemets supplémentaires, donc à utiliser seulement pour de petites choses comme les états de tâches.

Git et workflows d'ingénierie de contexte

Git est fondamental et peut être utilisé de manière innovante dans les workflows d'IA : l'historique des commits sert de rappel au modèle des progrès réalisés sur le projet ou une tâche. Les workflows d'ingénierie de contexte doivent être utilisés dans un dépôt git initialisé car ils impliquent que le modèle agit selon des étapes planifiées une par une plutôt que tout faire d'un coup. Git permet de contrôler vers quelle version revenir en cas de problème et d'évaluer quel changement cause des issues. Des personnes ont également implémenté le parallélisme avec les git worktrees, où des sous-agents travaillent dans des worktrees dédiés pour un travail en parallèle, ce qui a été montré dans de nombreux workflows présentés précédemment.

Commands personnalisées pour réutiliser les instructions

Il y aura toujours des cas où on répète des instructions pour des procédures courantes comme les commits git ou la mise à jour de documentation. Les outils d'IA proposent des moyens de réutiliser les prompts les plus répétés via des custom/commands qui donnent à Claude un guide réutilisable. L'exemple de la commande "catchup" contient des instructions sur la structuration de la mémoire hors contexte pour que Claude se mette à jour avec le projet sans lire chaque fichier. Les commands sont également efficaces pour faire respecter la structure : une "commit/command" suit une structure spécifique pour les messages de commit et les vérifications pré-commit à effectuer avant validation. Cela maintient tout standardisé sans avoir à réinstruire Claude constamment sur la manière préférée d'effectuer les tâches.

Utilisation stratégique des MCP pour données externes

Les MCP doivent être utilisés uniquement quand des données externes sont requises, contrairement aux compétences pour les tâches internes. Jira est le logiciel de gestion d'équipe le plus utilisé et le MCP Jira permet d'accéder directement aux tickets pour implémenter des changements. De même, le MCP Figma fournit le guide de style de l'application que Claude utilise pour construire le design. Pour les tâches où les capacités intégrées du modèle sont insuffisantes, les MCP sont essentiels pour interagir efficacement avec des sources externes. Il est possible d'inclure ces MCP directement dans les /commands pour les intégrer à l'ensemble du workflow de manière cohérente.

Conclusion et appel à soutenir la chaîne

Le présentateur conclut la vidéo en invitant les spectateurs à soutenir la chaîne pour continuer à créer des vidéos de ce type, notamment en utilisant le bouton super merci disponible sous la vidéo. Il remercie les spectateurs d'avoir regardé cette présentation des principes fondamentaux pour créer des workflows d'IA personnalisés efficaces. La vidéo se termine avec l'annonce du rendez-vous pour la prochaine vidéo, maintenant la continuité avec l'audience qui suit régulièrement le contenu de la chaîne.

Community Posts

View all posts