J'ai utilisé Claude Code pendant plus de 2 000 heures - Voici comment je bâtis n'importe quoi avec

CCole Medin
컴퓨터/소프트웨어자격증/평생교육AI/미래기술

Transcript

00:00:00Claude Code a été mis à disposition le 22 mai de l'année dernière, en même temps que la sortie de Claude 3.5.
00:00:06Mais il y a aussi eu un aperçu de recherche avant cela, et j'utilise donc l'outil
00:00:11depuis un peu plus d'un an maintenant. En fait, j'ai fait le calcul : si l'on compte tout le temps
00:00:15que j'ai passé à prompter Claude, à réviser le code et à le surveiller, j'ai utilisé l'outil pendant plus de 2000
00:00:21heures. J'ai donc deux ou trois choses à vous apprendre, et c'est ce que je veux faire dans cette vidéo.
00:00:27Je souhaite maintenant partager avec vous toutes mes stratégies éprouvées sur le terrain qui vous feront passer
00:00:31d'un utilisateur basique de Claude Code à un utilisateur expert. J'ai tout regroupé dans ce que
00:00:37j'appelle la méthode WISC. Et croyez-moi, ces stratégies sont sérieuses. Je ne suis pas l'un de ces
00:00:43créateurs de contenu IA qui a simplement pris le train en marche de Claude Code ces derniers mois. Je l'utilise
00:00:48quotidiennement depuis plus d'un an. Ces stratégies vont donc fonctionner sur
00:00:54n'importe quelle base de code, même les plus massives ou les projets multi-dépôts. J'ai vu tout cela
00:01:00appliqué au niveau entreprise, donc peu importe votre projet, ceci est pour vous. Cela fonctionne aussi
00:01:05pour n'importe quel assistant de codage IA. Je me concentre sur Claude Code car c'est le meilleur actuellement.
00:01:10Je pars du principe que vous avez au moins une compréhension de base de Claude Code et que
00:01:15vous voulez passer au niveau supérieur. Si vous voulez les bases de la création d'un système de codage IA,
00:01:21je mettrai un lien vers une vidéo juste ici. Toutes ces stratégies s'appliquent lorsque
00:01:25nous travaillons sur de vraies bases de code qui deviennent complexes, car nous avons ici plusieurs stratégies
00:01:32autour de la gestion du contexte. C'est crucial car la dégradation du contexte est le plus gros problème actuel.
00:01:38Peu importe que Claude Code ait une nouvelle limite d'un million de tokens, nous devons toujours
00:01:43traiter notre contexte comme la ressource la plus précieuse, qui doit être gérée très soigneusement
00:01:49avec nos assistants de codage. Les lettres W, I, S et C de notre méthode correspondent à des stratégies
00:01:56qui s'y appliquent, et ce sont des choses que vous pouvez utiliser immédiatement dans vos projets.
00:02:00Je vais donc vous décomposer cela très simplement. Maintenant, la question que vous vous posez peut-être
00:02:05est la suivante : Cole, pourquoi se focaliser autant sur la gestion du contexte ? Après 2000 heures d'utilisation,
00:02:11c'est vraiment là-dessus que tu veux insister ? Et ma réponse est oui. Je sais que c'est très spécifique,
00:02:17mais nous devons vraiment nous attaquer à la dégradation du contexte et à la manière de l'éviter. J'irais jusqu'à dire
00:02:23qu'environ 80 % du temps, quand votre agent de codage se trompe dans votre code, c'est parce que vous
00:02:28ne gérez pas assez bien votre contexte. Je veux donc commencer par le problème de la dégradation du contexte,
00:02:33puis nous passerons rapidement à la pratique en explorant chaque partie de la méthode WISC. Je commence par
00:02:38cela comme prérequis pour que vous compreniez bien pourquoi. Une fois la méthode WISC appliquée,
00:02:45vous verrez immédiatement un bond dans la fiabilité de votre codage IA, même sur des bases de code
00:02:50plus désordonnées. J'insiste sur les bases de code larges et complexes car c'est là que la dégradation
00:02:56devient un problème majeur. Il y a eu beaucoup de recherches dans l'industrie sur la dégradation
00:03:02du contexte, mais ma préférée, car elle est très pratique et populaire, est le rapport technique
00:03:07de Chroma expliquant comment l'augmentation des tokens d'entrée impacte les performances du LLM.
00:03:13L'idée principale est la suivante : ce n'est pas parce que vous pouvez mettre un certain nombre de tokens
00:03:18dans la fenêtre contextuelle d'un LLM que vous devriez le faire. Et oui, cela vaut aussi pour Claude Code.
00:03:24Car les grands modèles de langage sont submergés par l'information tout comme les humains. C'est ce qu'on appelle
00:03:30le problème de l'aiguille dans la botte de foin. Quand vous avez une information très spécifique,
00:03:35ou un fichier précis que l'agent doit se rappeler, il réussira très bien à extraire cette information
00:03:41de sa mémoire à court terme, mais seulement si la fenêtre contextuelle n'est pas surchargée.
00:03:47Lorsque vous commencez à charger une quantité massive de contexte, vous obtenez ce qu'on appelle
00:03:52des distracteurs. Ce sont des informations proches ou similaires de ce dont le LLM a besoin,
00:03:58mais qui ne sont pas tout à fait les bonnes. On voit souvent cela en codage IA, surtout sur les gros
00:04:04projets. Nous suivons les mêmes modèles partout dans notre code. Il y a beaucoup de similitudes
00:04:09dans la manière dont les différentes parties du code sont implémentées. Les modèles de langage vont donc
00:04:14parfois extraire la mauvaise information et être très sûrs de leur correction ou de leur implémentation.
00:04:19Je suis sûr que vous avez déjà vu ça. Ce problème d'aiguille dans la botte de foin s'applique constamment
00:04:24au codage IA. C'est l'idée de la dégradation du contexte. Plus notre fenêtre s'agrandit, plus le modèle
00:04:30a du mal à extraire exactement ce dont nous avons besoin pour l'étape actuelle avec notre agent.
00:04:36Pour revenir au schéma, laissez-moi être très spécifique. Ce que nous traitons avec
00:04:42toutes ces stratégies, c'est la question : comment garder notre fenêtre contextuelle aussi légère que possible
00:04:48tout en donnant à l'agent tout le contexte nécessaire ? C'est l'ingénierie de contexte
00:04:53que nous pratiquons ici. Je vais donc passer en revue chaque stratégie. J'ai même
00:04:57un exemple pour chacune que j'exécuterai en direct avec vous sur une base de code complexe.
00:05:02Toutes les commandes, règles et docs que j'utilise en exemple sont dans ce dossier dont je mettrai
00:05:06le lien en description. Vous pourrez ainsi utiliser ces stratégies de manière conceptuelle,
00:05:12mais aussi avec ces exemples de commandes situés dans le dossier ".claude" juste ici. Bien, entrons dans le détail.
00:05:17W pour Write (Écrire), I pour Isolate (Isoler), S pour Select (Sélectionner) et C pour Compress (Compresser).
00:05:24Nous commençons bien sûr par le W, qui consiste à écrire pour externaliser la mémoire de notre agent.
00:05:30Nous voulons capturer autant que possible les décisions clés et le travail effectué par l'agent
00:05:34afin que, lors des sessions futures, nous puissions le remettre à niveau beaucoup plus rapidement
00:05:40et dépenser moins de tokens au départ pour qu'il comprenne ce que nous attendons de lui.
00:05:46La première stratégie ici est d'utiliser le journal Git (git log) comme mémoire à long terme.
00:05:52J'adore ça parce que beaucoup de gens aiment sur-optimiser et créer des systèmes de mémoire
00:05:56super complexes pour leurs agents, alors qu'en fait tout le monde utilise déjà Git et GitHub
00:06:01pour le contrôle de version. Nous pouvons donc profiter d'un outil déjà utilisé pour fournir
00:06:07une mémoire à long terme à notre agent. Allons dans notre code et je vais vous montrer.
00:06:12Le code que je vais utiliser pour tous les exemples est le nouveau projet Archon. J'ai travaillé
00:06:18d'arrache-pied dessus ces derniers mois. C'est votre centre de commande IA où vous pouvez créer,
00:06:23gérer et exécuter des workflows de codage IA de longue durée. On travaille même sur un éditeur
00:06:28de workflow qui sera comme N8N pour le codage IA. On peut lancer des workflows, voir les logs
00:06:33et les surveiller dans notre centre de mission. On peut regarder les exécutions passées pour voir
00:06:39exactement ce qui s'est passé. C'est un workflow très long qui me sert à valider des Pull Requests entières.
00:06:44Rien qu'en voyant cela (et d'autres choses arrivent bientôt dans Archon), on comprend
00:06:47qu'il y a beaucoup de pièces mobiles. C'est une base de code très complexe, ce qui en fait
00:06:51un excellent exemple pour toutes les stratégies que je vais couvrir avec vous.
00:06:57Pour le journal Git comme mémoire à long terme, je vous montre ici un exemple d'une commande
00:07:03en une ligne pour voir tous mes messages de commit récents. Ce que je veux souligner,
00:07:09c'est que nous avons une manière très standardisée de créer ces messages de commit. Il y a les fusions,
00:07:13mais aussi toutes les implémentations de fonctionnalités et les corrections. Tout est standardisé
00:07:19pour que je puisse compter sur ces messages pour dire à mon agent ce sur quoi j'ai travaillé récemment,
00:07:24car c'est souvent ce qui nous guide pour l'étape suivante. Si j'ai cette approche
00:07:29si standardisée, c'est parce que j'exécute une commande de commit spécifique. Faire un "git commit"
00:07:36est facile, mais si l'on veut standardiser le message et laisser l'agent nous aider,
00:07:40avoir une commande dédiée est très puissant. Voici l'implémentation complète que j'ai faite ici
00:07:46dans une seule fenêtre de contexte avec l'agent. Je suis arrivé à la fin et je suis prêt
00:07:51à faire mon commit. Je tape juste "/commit", c'est tout. Cela lance la commande qui contient
00:07:55la standardisation pour documenter le travail effectué, ainsi que tout ce qui a été fait
00:08:01pour améliorer mes règles ou commandes. C'est une commande en deux parties : voici ce qu'on a construit,
00:08:06et voici comment on a amélioré la couche IA. Le commit va se faire, et je vous montre le résultat.
00:08:10En regardant notre message de commit, on voit que nous avons amélioré les tests
00:08:14du CLI. C'est un préfixe propre suivi des détails. De plus, pour que l'agent sache comment
00:08:19ses propres règles et commandes évoluent, nous incluons cela dans le message dès que nous trouvons
00:08:23une opportunité d'améliorer notre commande de planification, par exemple. Évidemment,
00:08:29cette commande de commit est dans les ressources que je vous fournis dans le dépôt. Vous pouvez
00:08:33l'utiliser comme point de départ, mais je vous encourage à personnaliser l'apparence de vos
00:08:37messages de commit. L'important est de les standardiser et de les détailler pour s'en servir
00:08:41de mémoire à long terme. La deuxième stratégie du "W" est de toujours
00:08:47démarrer une toute nouvelle fenêtre de contexte au moment d'écrire du code. Peu importe mon projet,
00:08:53mon workflow est le suivant : une conversation pour planifier avec l'agent, je crée un fichier
00:08:57Markdown avec mon plan structuré, puis j'envoie cela comme seul contexte d'une nouvelle
00:09:03session pour passer à l'implémentation. Il est crucial que votre spécification contienne tout
00:09:08le contexte dont l'agent a besoin pour coder et valider. Par exemple, dans cette conversation,
00:09:14je ne fais que de la planification. Je lance ma commande "prime" pour commencer, j'en reparlerai plus tard.
00:09:18Je charge le contexte et je crée mon plan avec cette commande, qui est aussi dans les ressources.
00:09:24Elle explique en gros à l'agent la structure exacte que nous voulons créer pour notre
00:09:28document Markdown unique. On passe de notre mémoire à court terme à un document consolidé.
00:09:33Ensuite, on termine la session, on ouvre une nouvelle fenêtre de contexte et on passe
00:09:38à l'implémentation. J'utilise ma commande "execute", où je spécifie le chemin vers
00:09:42mon plan structuré. Aucun autre contexte n'est nécessaire car tout est dedans. C'est très
00:09:48important car cela permet à l'agent de rester extrêmement concentré sur la tâche actuelle.
00:09:53Trop de recherches ou d'éléments divers peuvent polluer la fenêtre si l'on code là où l'on a planifié.
00:09:57La dernière stratégie du "W" pour externaliser la mémoire de l'agent consiste à utiliser des fichiers
00:10:03de progression et des journaux de décision. On voit souvent cela dans les frameworks complexes,
00:10:08avec des fichiers comme "handoff.md" ou "todo.md" servant à communiquer entre
00:10:13différents sous-agents ou sessions d'agents. Quand le contexte commence à manquer,
00:10:17on crée souvent ce résumé de ce qui vient d'être fait. Cela permet de repartir sur une session propre,
00:10:22car on sent que l'agent commence à avoir des hallucinations quand les conversations s'éternisent.
00:10:27L'idéal est bien sûr d'éviter ces longues discussions, mais parfois c'est nécessaire.
00:10:33Par exemple, avec Archon, j'utilise souvent le CLI de l'agent navigateur de Vercel
00:10:38pour effectuer des tests de bout en bout directement dans le navigateur. L'agent parcourt
00:10:44plusieurs parcours utilisateurs et teste des cas limites, ce qui consomme énormément
00:10:49de contexte. En bas, vous voyez que j'ai tapé "/context" et qu'on est déjà à 200 000 tokens.
00:10:56Cela se remplit très vite. Dès que vous atteignez quelques centaines de milliers de tokens,
00:11:01les performances de l'agent commencent à se dégrader. Je peux alors simplement taper "/handoff".
00:11:05Cette commande va créer un résumé à passer à une autre session pour que le travail continue.
00:11:11Mais cette fois, l'agent n'aura plus des centaines de milliers de tokens d'appels d'outils
00:11:16qui encombrent sa fenêtre. Cette commande de passation définit précisément ce que
00:11:21nous voulons mettre dans ce document pour que l'agent suivant ait tout le nécessaire.
00:11:25Voilà pour le "W". Chacune de ces stratégies est cruciale car elle permet d'enregistrer
00:11:31les décisions clés pour que les sessions futures puissent reprendre le fil rapidement.
00:11:36Je sais que je vais vite, alors dites-moi en commentaire s'il y a une de ces stratégies
00:11:40sur laquelle vous aimeriez que je fasse une vidéo entière, car c'est tout à fait possible.
00:11:45Nous passons maintenant au "I" pour Isolate (Isoler) en utilisant des sous-agents.
00:11:52J'adore utiliser des sous-agents pour tout ce qui est recherche, je m'en sers à presque chaque session.
00:11:56L'idée est de garder votre contexte principal propre. Les sous-agents peuvent analyser des dizaines
00:12:03voire des centaines de milliers de tokens de recherche dans votre code ou sur le web, pour n'en donner
00:12:10que le résumé nécessaire à votre fenêtre Claude Code principale. Au lieu de charger ces dizaines
00:12:16de milliers de tokens, on n'en garde par exemple que 500. On a toujours l'information essentielle,
00:12:21mais avec une amélioration de 90,2 % selon certaines recherches d'Anthropic en utilisant
00:12:28des sous-agents pour charger le contexte de recherche, plutôt que de tout laisser à l'agent principal.
00:12:33Voici un exemple rapide. C'est toujours au début de la conversation ou avant le plan structuré
00:12:38évoqué plus tôt, pendant la phase de planification. C'est là que j'utilise massivement les sous-agents.
00:12:43Regardez : je veux intégrer un éditeur de workflow dans Archon. Je demande donc
00:12:50de lancer deux sous-agents : l'un pour faire une recherche approfondie dans le code pour voir comment
00:12:55intégrer cela et ce que ça implique, et l'autre pour faire une recherche web sur les meilleures pratiques
00:13:01pour notre stack technique. Par exemple, si je veux utiliser React, quelle bibliothèque choisir ?
00:13:06Et globalement, comment sont construits les éditeurs comme Diffy ou N8N ? J'utilise mon outil
00:13:12de synthèse vocale, j'envoie le prompt et voilà. En plus de l'isolation, on gagne
00:13:16en rapidité car les sous-agents travaillent en parallèle, reviennent avec un résumé,
00:13:21et mon agent principal synthétise le tout pour me donner le verdict final. Voilà,
00:13:26les deux sous-agents tournent en parallèle en arrière-plan. On peut aller consulter les logs
00:13:31de chacun. Ils reviendront avec le rapport final une fois leur tâche terminée.
00:13:36Nos sous-agents ont fini. Au lieu d'utiliser des centaines de milliers de tokens dans notre
00:13:41fenêtre principale (ce qui correspond au volume de recherche effectué par les sous-agents),
00:13:46nous n'en avons utilisé que 44 000, soit seulement 4 % de notre limite. C'est ça la puissance
00:13:53des sous-agents. Je ne les recommande pas pour l'implémentation car on a besoin de tout le contexte,
00:13:57mais pour la recherche, c'est très efficace. L'isolation et les sous-agents sont cruciaux pour votre
00:14:04planification. Une autre façon de les utiliser est ce que j'appelle le modèle "éclaireur" (scout pattern).
00:14:09On envoie des éclaireurs en reconnaissance avant d'engager notre contexte principal. Il peut y avoir
00:14:14des parties de votre code ou de la documentation que vous voulez faire explorer par des sous-agents
00:14:21pour voir si elles sont pertinentes à charger dans votre session Claude Code principale.
00:14:25Ils peuvent décider à l'avance si on doit les inclure pour la planification ou si on peut les ignorer.
00:14:30Par exemple, avec Archon, j'ai quelques documents Markdown qui sont des analyses très poussées,
00:14:36pas le genre de contexte qu'on veut dans nos règles car on n'en a pas besoin tout le temps.
00:14:41On peut imaginer que ces infos sont sur Confluence ou Google Drive, peu importe où vous stockez vos infos.
00:14:45De retour dans la conversation principale, je peux dire : "lance un sous-agent pour explorer
00:14:48tout ce qui se trouve dans .claude/docs. Y a-t-il des éléments de documentation ici
00:14:54qu'il serait utile de charger dans notre contexte principal pour la planification ?"
00:14:59J'envoie la demande, le sous-agent décide et charge ce qui m'intéresse. Juste ici,
00:15:04on a lancé un sous-agent d'exploration. Il a trouvé toute notre doc et a recommandé d'en charger une.
00:15:09J'ai dit OK, vas-y. C'est vraiment important pour ce qu'on prévoit de faire ici.
00:15:13Donc, au-delà de la simple recherche, si des documents entiers semblent cruciaux pour la fenêtre
00:15:18principale, c'est là qu'on utilise le modèle éclaireur. Voilà pour l'isolation. Pensez à utiliser
00:15:23abusivement les sous-agents pour la recherche et la planification. Passons maintenant au "S"
00:15:28pour Select (Sélectionner). Chargez votre contexte au bon moment, et non "au cas où".
00:15:34Ce que je veux dire par là, c'est que si vous n'êtes pas sûr à 100 % qu'une information est
00:15:40essentielle pour l'agent tout de suite, ne vous donnez pas la peine de la charger. On a une approche
00:15:46en couches pour aider à cela. On commence par nos règles globales. Ce sont les contraintes
00:15:51et les conventions dont on veut que l'agent ait toujours conscience. Ce fichier doit être
00:15:57assez concis, généralement entre 500 et 700 lignes. Certains recommandent même moins,
00:16:02mais vous y mettez votre architecture, les commandes à lancer, votre stratégie de test et de logs.
00:16:08Voici mon exemple pour Archon : ce sont les choses dont je veux que mon agent soit conscient
00:16:12en permanence. Ensuite, nous avons la deuxième couche, le contexte à la demande.
00:16:18Ce sont des règles qui ne s'appliquent qu'à des parties spécifiques du code. Par exemple,
00:16:23si l'on travaille sur le front-end (ce qui n'est pas toujours le cas), voici les règles globales
00:16:28pour le front-end, ou pour la création de points de terminaison d'API. On ajoute cela
00:16:33aux règles globales pour des types de tâches spécifiques, car on ne travaille pas
00:16:38toujours sur le front-end, par exemple. Un exemple concret : la référence YAML des workflows
00:16:43que j'ai récupérée tout à l'heure avec le sous-agent d'exploration. Quand on travaille sur les workflows,
00:16:48ça nous intéresse, mais on ne veut pas ça dans nos règles globales car la plupart du temps,
00:16:52on ne touche pas à cette partie du code d'Archon. C'est donc du contexte à la demande.
00:16:57La troisième couche concerne les "skills" (compétences). C'est très populaire actuellement.
00:17:05Il y a différentes étapes où l'agent va explorer les instructions et les capacités
00:17:10d'une compétence dès qu'il juge qu'il en a réellement besoin. On commence par la description,
00:17:15un tout petit nombre de tokens chargés au départ avec les règles globales. Si l'agent décide
00:17:20d'utiliser cette compétence, il chargera alors le fichier "skill.md" complet, qui peut lui-même
00:17:25pointer vers d'autres scripts ou documents de référence si l'on veut approfondir la compétence.
00:17:29Comme exemple, j'ai ma compétence d'agent navigateur. C'est ce que j'utilise pour l'automatisation
00:17:35du navigateur et tous mes tests de bout en bout. Je m'en sers tous les jours. Dès que je fais
00:17:40ces tests, je veux charger cet ensemble d'instructions pour que l'agent sache comment l'utiliser.
00:17:46Enfin, pour la quatrième couche, j'ai les commandes de préparation (prime commands).
00:17:52Tout ce que j'ai couvert jusqu'ici est de la documentation statique mise à jour de temps en temps.
00:17:57Mais parfois, l'agent doit explorer la base de code en direct. On doit s'assurer que ses
00:18:02informations sont parfaitement à jour, et on est prêt à dépenser des tokens pour cela au début.
00:18:07C'est le rôle de la commande "prime" : explorer le code au début du processus de planification
00:18:11pour qu'il comprenne bien le projet avant de construire la suite. Comme vous le voyez,
00:18:16dans mon dossier de commandes, j'en ai plusieurs différentes car il y a des parties spécifiques
00:18:22du code que je veux faire comprendre à l'agent selon ce qu'on va bâtir. Ma commande "prime"
00:18:27générique est celle-ci : je lui demande d'avoir une vision d'ensemble d'Archon à haut niveau.
00:18:32Voici les étapes de ce qu'il doit lire, y compris le journal Git, car c'est crucial pour utiliser
00:18:36ce dernier comme mémoire à long terme. J'en ai aussi une spécialisée, "prime workflows",
00:18:41quand je sais que je vais travailler sur le moteur de workflow d'Archon. C'est une commande similaire
00:18:47mais plus ciblée. Je l'utilise au début de la conversation pour que l'agent charge vite
00:18:53tout ce qu'il lui faut. Je vérifie qu'il a compris, puis je lance la planification dont je parlais.
00:18:58En résumé : les règles globales sont toujours là ; le contexte à la demande quand on va travailler
00:19:03sur une partie documentée à part ; les skills pour des capacités précises (ex: tests de bout en bout)
00:19:09et les commandes de préparation au tout début pour poser le cadre de la planification.
00:19:13Voilà pour la sélection. Passons maintenant à "Compress" (Compresser), la section la plus courte
00:19:18car on ne devrait pas avoir besoin de compresser souvent si l'on écrit, isole et sélectionne bien.
00:19:22En utilisant les autres stratégies pour garder un contexte léger, on évite cela, et c'est tant mieux
00:19:28car il faut éviter de compresser autant que possible. Si c'est inévitable, il y a deux stratégies.
00:19:34Il s'agit de la passation (handoff) et du compactage ciblé. Voyons cela dans Claude Code.
00:19:39La passation, on l'a déjà vue, c'est une de nos stratégies d'écriture. On résume tout le travail
00:19:46pour le passer à un autre agent ou au même après compactage de la mémoire. Et il y a aussi
00:19:52la commande intégrée "/compact" de Claude Code. Elle va résumer la conversation,
00:19:56puis effacer l'historique pour placer le résumé tout en haut de la fenêtre contextuelle.
00:20:02La passation est très puissante car elle permet de définir son propre workflow de mémorisation.
00:20:06Mais la commande "/compact" est aussi utile, surtout parce qu'on peut donner des instructions
00:20:12de résumé optionnelles. Quand je dois absolument compacter, je l'utilise à chaque fois.
00:20:18Par exemple : "concentre-toi sur les cas limites qu'on vient de tester". Ainsi,
00:20:23au moment de créer le résumé, l'agent accordera plus d'importance à cette partie de sa mémoire.
00:20:28J'ai fait une faute d'orthographe, peu importe, il lancera le compactage. Passation et "/compact"
00:20:34sont un peu interchangeables, mais il m'arrive d'utiliser les deux. Si vous devez compacter
00:20:41plus de deux fois, c'est que la conversation est trop lourde : mieux vaut repartir à zéro via
00:20:48une passation. Mais pour une fois, le "/compact" me convient. Après cela, je demande quand même
00:20:53à l'agent de me dire ce qu'il a retenu pour m'assurer qu'il a bien compris les points clés.
00:20:58Mais ce n'est pas idéal. Évitez le compactage au maximum. La meilleure stratégie de compression,
00:21:03c'est de ne pas en avoir besoin. Voilà donc la méthode WISC. C'était dense,
00:21:09j'espère que cela vous sera utile. N'hésitez pas à me dire s'il y a une stratégie particulière
00:21:14que vous voulez approfondir, je pourrais en faire une vidéo complète. C'est la méthode WISC.
00:21:19Utilisez-la pour passer au niveau supérieur avec Claude Code ou n'importe quel assistant IA.
00:21:24Si cette vidéo vous a aidé et que vous voulez plus de contenu sur le codage IA et l'application
00:21:30de ces frameworks, un petit "like" et un abonnement seraient très appréciés. Et sur ce,
00:21:36on se voit dans la prochaine vidéo. Attendez ! Un dernier truc rapide à ne pas manquer.
00:21:41Le 2 avril, j'anime un atelier gratuit sur la transformation IA en direct sur ma chaîne YouTube
00:21:46avec Lior Weinstein, fondateur de CTOX. C'est un événement important. Lior va nous apprendre
00:21:52comment restructurer toute une organisation pour l'IA, et je vous montrerai comment maîtriser
00:21:59ma méthodologie de codage IA pour bâtir des systèmes fiables et répétables pour vos agents.
00:22:04Le lien vers la page est en description. Ce sera en direct sur ma chaîne, vous pouvez
00:22:09activer les notifications en cliquant sur ce bouton. On se voit là-bas !
00:22:14El 2 de abril organizaré un taller gratuito de transformación de IA en vivo en mi canal de YouTube junto con
00:22:20Lior Weinstein, el fundador de CTOX, y esto es algo importante. Lior nos enseñará cómo
00:22:27reestructurar toda nuestra organización para la IA y luego yo les enseñaré cómo dominar la metodología
00:22:32de codificación de IA que utilizo para construir sistemas confiables y repetibles para mis agentes de programación. Y así
00:22:38dejaré un enlace en la descripción a esta página. Será en vivo en mi canal de YouTube para que
00:22:42puedan activar las notificaciones haciendo clic en este botón de aquí. ¡Nos vemos allí!

Key Takeaway

La maîtrise de Claude Code repose sur une gestion rigoureuse et sélective du contexte via la méthode WISC pour garantir la fiabilité du code généré et éviter les hallucinations du modèle.

Highlights

Présentation de la méthode WISC (Write, Isolate, Select, Compress) pour optimiser l'utilisation de Claude Code.

Importance cruciale de la gestion du contexte pour éviter la dégradation des performances du LLM.

Utilisation du journal Git comme mémoire à l'échelle du projet pour les agents d'IA.

Emploi stratégique des sous-agents pour les tâches de recherche afin d'économiser les tokens de la fenêtre principale.

Architecture du contexte en quatre couches : règles globales, contexte à la demande, compétences (skills) et commandes de préparation (prime).

Application de la commande /compact et des documents de passation (handoff) pour maintenir la clarté lors de sessions prolongées.

Timeline

Introduction et problématique de la dégradation du contexte

L'auteur partage son expérience de plus de 2 000 heures sur Claude Code depuis son lancement l'année dernière. Il introduit la méthode WISC comme une solution systémique pour passer d'un niveau débutant à un niveau expert en codage assisté par IA. Le point central de son argumentaire est la lutte contre la dégradation du contexte, qu'il identifie comme la cause de 80 % des erreurs des agents. Selon lui, traiter le contexte comme une ressource précieuse est indispensable pour travailler sur des bases de code massives ou multi-dépôts. Cette section pose les bases théoriques nécessaires avant de passer aux démonstrations pratiques sur son projet complexe nommé Archon.

Comprendre le problème de l'aiguille dans la botte de foin

Le présentateur s'appuie sur un rapport technique de Chroma pour expliquer pourquoi saturer la fenêtre contextuelle nuit aux performances des LLM. Il détaille le concept de l'aiguille dans la botte de foin, où des informations distractrices ou similaires empêchent l'IA d'extraire la donnée exacte requise. En codage, la répétition de modèles similaires dans un dépôt peut induire l'agent en erreur s'il a trop de fichiers en mémoire. L'objectif de l'ingénierie de contexte est donc de garder la fenêtre aussi légère que possible tout en restant pertinente. Il présente ensuite les outils et ressources disponibles dans le dossier .claude pour appliquer ses stratégies.

W pour Write : Externaliser la mémoire de l'agent

La stratégie 'Write' consiste à documenter les décisions clés pour alléger la charge cognitive de l'IA lors des sessions futures. L'auteur recommande d'utiliser le journal Git comme mémoire à long terme en standardisant les messages de commit via une commande personnalisée /commit. Une autre technique cruciale est la séparation stricte entre la phase de planification, qui produit un fichier Markdown, et la phase d'implémentation dans une nouvelle fenêtre contextuelle. Pour les sessions très longues, il utilise une commande /handoff qui crée un résumé structuré des tâches accomplies. Ces méthodes permettent de réinitialiser la mémoire de l'agent tout en conservant les informations vitales pour la progression du projet.

I pour Isolate : L'usage intensif des sous-agents

L'isolation via des sous-agents permet de déléguer les recherches exhaustives sans polluer la fenêtre contextuelle principale. L'auteur montre comment il lance deux sous-agents en parallèle : l'un pour fouiller le code source et l'autre pour effectuer des recherches sur le web. Cette approche peut réduire la consommation de tokens de 90 %, ne ramenant que l'essentiel à l'agent principal sous forme de résumés concis. Il introduit également le modèle éclaireur (scout pattern), où un agent préliminaire explore la documentation pour décider si elle doit être chargée. Cette stratégie est particulièrement efficace lors de la phase de planification pour intégrer de nouvelles bibliothèques ou architectures.

S pour Select : Une hiérarchie de contexte à quatre couches

La sélection intelligente du contexte évite le chargement d'informations inutiles 'au cas où'. L'auteur structure son approche en quatre strates : les règles globales (conventions d'architecture), le contexte à la demande (règles spécifiques au front-end ou aux API), les compétences (skills.md pour des outils précis) et les commandes de préparation (prime). La commande 'prime' est utilisée en début de session pour forcer l'agent à explorer activement les parties pertinentes du code actuel. Cette hiérarchie permet à Claude Code de rester extrêmement focalisé sur la tâche spécifique en cours. En limitant les règles globales à environ 500-700 lignes, on préserve la précision de l'IA pour l'exécution technique.

C pour Compress et Conclusion : Maintenir la fluidité

La compression est présentée comme un dernier recours si les étapes d'écriture, d'isolation et de sélection ont été bien suivies. L'auteur explique le fonctionnement de la commande intégrée /compact de Claude Code, qui résume l'historique pour libérer de l'espace. Il conseille d'ajouter des instructions de résumé optionnelles pour orienter l'attention de l'IA sur des points critiques comme les cas limites testés. Si un compactage doit être répété plus de deux fois, il préconise de redémarrer une session totalement neuve pour éviter les hallucinations. La vidéo se termine par l'annonce d'un atelier gratuit sur la transformation IA prévu pour le 2 avril. L'auteur encourage finalement les utilisateurs à adopter cette rigueur méthodologique pour bâtir des systèmes logiciels fiables.

Community Posts

View all posts