00:00:00Avec l'avancée de l'IA et la puissance croissante de chaque nouveau modèle publié,
00:00:04la façon dont nous produisons du code a été complètement transformée.
00:00:07Il existe désormais de nombreux outils spécialisés pour le codage,
00:00:10comme ClodCode,
00:00:11Cursor,
00:00:11Antigravity et d'autres,
00:00:12chacun avec ses propres capacités uniques.
00:00:14Mais les bons modèles seuls ne déterminent pas la qualité du code que vous produisez.
00:00:18La façon dont vous utilisez l'outil et gérez le contexte compte tout autant.
00:00:22Tous ces outils disposent d'un mécanisme inhérent d'ingénierie de contexte,
00:00:24mais Cursor vient de faire une avancée majeure vers une nouvelle approche,
00:00:27en l'intégrant nativement dans l'application elle-même.
00:00:29En parcourant leur article,
00:00:31j'ai réalisé que ces principes sont véritablement solides.
00:00:33Nous avons beaucoup à discuter aujourd'hui car ces idées peuvent être appliquées largement à n'importe quelle plateforme que vous utilisez pour créer des applications.
00:00:40La gestion du contexte a toujours été cruciale lorsqu'on travaille avec des agents IA,
00:00:44car une bonne gestion du contexte détermine la qualité des résultats.
00:00:47Nous avons déjà abordé dans nos vidéos l'importance de la gestion du contexte et discuté des flux de travail associés.
00:00:53Cursor a implémenté des fonctionnalités de gestion du contexte directement dans leur produit et a publié un article à ce sujet.
00:00:58Ces principes reposent sur leur observation selon laquelle,
00:01:01pour obtenir de bons résultats des modèles,
00:01:02il vaut mieux fournir le moins de détails possible dans la fenêtre de contexte.
00:01:06Moins le modèle reçoit d'informations à la fois,
00:01:08moins il a de données à traiter simultanément,
00:01:10ce qui signifie moins de confusion et plus de concentration sur la tâche à accomplir sur le moment,
00:01:14car seules les informations pertinentes sont incluses.
00:01:17Cette approche est ce qu'ils appellent la découverte dynamique de contexte.
00:01:20L'idée est la prise de notes structurée.
00:01:22Autrement dit,
00:01:22les informations non nécessaires pour le moment ne devraient pas se trouver dans la fenêtre de contexte,
00:01:27car exclure les détails potentiellement confus ou contradictoires améliore considérablement la qualité des réponses de l'agent.
00:01:32La version actuelle de Cursor ajoute cinq méthodes de gestion dynamique du contexte qui seront bientôt déployées auprès des utilisateurs.
00:01:37Bien que Cursor implémente cela comme une mise à jour produit,
00:01:41ces principes sont largement transférables à tous les agents IA.
00:01:44La première mise à jour mentionnée par Cursor est que les longues réponses d'outils doivent être placées dans des fichiers.
00:01:48Les MCP renvoient souvent de grandes réponses qui restent dans la fenêtre de contexte.
00:01:52Toutes les informations des réponses ne sont pas toujours nécessaires.
00:01:55Cursor a mentionné que l'approche courante de la plupart des outils de codage consiste à tronquer les longues réponses MCP,
00:02:01ce qui entraîne une perte de données ou la suppression d'informations importantes qui pourraient être nécessaires pour le contexte.
00:02:07L'extension Chrome de Claude est une extension très axée sur les outils,
00:02:10et quelques prompts suffisent à remplir le contexte en raison du chargement d'un énorme bloc dans la fenêtre de contexte.
00:02:15J'ai donc ajouté une instruction dans le fichier Claude.md stipulant que toute réponse d'outil MCP supérieure à 50 lignes doit être enregistrée dans un dossier MCP au sein du dossier .context en exécutant une commande echo dans le terminal.
00:02:27Lorsque j'ai exécuté l'extension Chrome pour analyser l'interface utilisateur d'une page d'accueil,
00:02:31chaque fois que Claude rencontrait un outil comme ReadPage qui gonfle considérablement la fenêtre de contexte,
00:02:35il enregistrait la réponse MCP dans un fichier pour une lecture ultérieure,
00:02:39qu'il utilisait pour analyser toute la page et me fournir un rapport.
00:02:42Cette solution de contournement a amélioré la précision de l'analyse des réponses d'outils en permettant à Claude d'analyser les réponses des fichiers autant de fois que nécessaire et a éliminé le besoin d'appels d'outils répétitifs.
00:02:52Lorsque les données des appels MCP précédents sont nécessaires,
00:02:54Claude peut les lire directement depuis le dossier .context au lieu de faire des appels d'outils,
00:02:58ce qui permet d'économiser un temps considérable.
00:03:00Avant de passer au prochain changement,
00:03:02écoutons notre sponsor,
00:03:03Zen Rose.
00:03:04Si vous créez des produits IA,
00:03:05des automatisations ou des systèmes pilotés par les données,
00:03:08vous savez déjà une chose : tout commence avec des données web fiables.
00:03:11Mais obtenir des données propres et structurées à grande échelle est plus difficile qu'il n'y paraît.
00:03:15C'est là que Zen Rose s'intègre parfaitement dans votre infrastructure..
00:03:18Zen Rose gère l'extraction de données depuis des sites web complexes tout en gérant automatiquement le contournement anti-bot,
00:03:23afin que vous puissiez vous concentrer sur ce qui compte vraiment : l'utilisation des données.
00:03:27Au lieu de gérer des sorties désordonnées,
00:03:29Zen Rose fournit des résultats structurés comme du JSON ou du Markdown,
00:03:32prêts à être intégrés directement dans vos pipelines.
00:03:34Il est prêt pour l'intégration et axé sur les besoins métier,
00:03:36ce qui le rend idéal pour les startups d'IA,
00:03:38les équipes de données et les créateurs d'automatisations qui ne veulent pas surveiller l'infrastructure en permanence..
00:03:43Que vous enrichissiez des prospects,
00:03:44alimentiez des agents IA ou automatisiez la recherche,
00:03:47Zen Rose fonctionne tout simplement.
00:03:48Si votre travail dépend des données web,
00:03:50Zen Rose a sa place dans votre stack..
00:03:52Cliquez sur le lien dans le commentaire épinglé et commencez à construire dès aujourd'hui.
00:03:55Nous savons que l'étape de résumé lorsque la fenêtre de contexte est pleine est problématique et entraîne la perte de nombreuses informations.
00:04:01La plupart des outils,
00:04:02y compris cursor et Claude code,
00:04:03déclenchent une étape de résumé et démarrent la session avec une nouvelle fenêtre de contexte en utilisant le résumé comme point de départ..
00:04:09Lorsque vous appuyez sur compacter encore et encore,
00:04:11le résumé commence à oublier des détails qui pourraient être importants pour vous mais que le résumé du modèle pourrait manquer.
00:04:16Vous n'avez qu'un contrôle limité sur la compaction automatique,
00:04:19et une compression répétée conduit à la perte d'informations cruciales si vous devez le faire à plusieurs reprises.
00:04:24La solution de Cursor consiste à sauvegarder tout l'historique des conversations précédentes sous forme de fichier que l'agent pourra consulter ultérieurement.
00:04:30Lorsque nous fournissons une requête très spécifique et que le modèle ne trouve pas l'information dans le résumé,
00:04:35la transcription précédente sert de base de connaissances.
00:04:37Le modèle utilise cette transcription pour générer la solution,
00:04:40lui permettant de récupérer tout ce qui a été perdu du résumé.
00:04:43En attendant que l'implémentation de cursor soit déployée et devienne disponible pour tous,
00:04:47j'ai essayé d'implémenter cette fonctionnalité avec Claude code.
00:04:50J'ai ajouté l'instruction dans le fichier Claude.md pour mettre à jour l'historique des conversations après chaque tour,
00:04:55documentant toutes les décisions clés et les étapes franchies.
00:04:58Il utilisait un dossier history à l'intérieur du dossier .context,
00:05:01avec le nom de chaque fichier reflétant la session.
00:05:03Ainsi,
00:05:03chaque fois que je lui demande d'effectuer une tâche,
00:05:06à la fin de sa session d'exécution,
00:05:07il documente l'historique des conversations dans le fichier history correspondant,
00:05:11ajoutant tout à ce fichier.
00:05:12De cette façon,
00:05:13le dossier .context contient des enregistrements détaillés de toutes les sessions et de tout ce qui a été fait.
00:05:18Les agents ont reçu des compétences pour aider à gérer le problème de contexte que causaient les MCP.
00:05:23L'objectif principal des compétences est de permettre aux agents de mieux utiliser leurs propres capacités en les guidant à travers des scripts et des fichiers d'instructions,
00:05:30réduisant la surcharge de contexte grâce à une divulgation progressive.
00:05:33Anthropic a été le premier à proposer cette idée,
00:05:35qui consiste essentiellement à donner aux agents un ensemble d'instructions,
00:05:38de scripts et de ressources que l'agent peut découvrir et utiliser pour mieux performer dans des tâches spécifiques.
00:05:43Anthropic a fondamentalement rendu open-source ces compétences d'agents,
00:05:47établissant une norme que d'autres pourraient implémenter.
00:05:49Suite à cela,
00:05:50Codex,
00:05:50Gemini et d'autres ont commencé à implémenter des compétences d'agents,
00:05:53après quoi ce fut finalement au tour de cursor de faire de même.
00:05:56Les compétences de cursor sont essentiellement les mêmes exécutables et scripts regroupés en une seule compétence que l'agent peut utiliser pour ses tâches respectives.
00:06:03Seuls le nom et la description des compétences sont dans le contexte statique..
00:06:07Une fois qu'ils se trouvent dans le contexte statique,
00:06:09les agents peuvent utiliser leurs compétences de manière autonome,
00:06:12en s'appuyant sur grep et la recherche sémantique de Cursor.
00:06:14C'est précisément ce qui fait la différence,
00:06:16car la recherche sémantique de Cursor utilise son propre modèle d'embedding et ses pipelines d'indexation en arrière-plan,
00:06:21au lieu d'une simple correspondance de motifs comme les recherches basées sur les expressions régulières dans les commandes grep.
00:06:27Les compétences de Claude n'exposent que le nom et la description dans le contexte,
00:06:30quel que soit le nombre de fichiers utilisés par le script,
00:06:33ce qui évite la surcharge du contexte.
00:06:35Dans mon projet,
00:06:35j'avais configuré 5 compétences,
00:06:37chacune consommant très peu de jetons,
00:06:38seulement environ 0,
00:06:392 % du total,
00:06:40laissant ainsi plus d'espace de travail.
00:06:41Ce qui est différent,
00:06:42c'est que les compétences de Claude sont également accessibles via les /commandes,
00:06:46ce qui permet de les déclencher manuellement à tout moment,
00:06:48répondant ainsi aux plaintes des utilisateurs concernant le chargement inapproprié des compétences à la demande.
00:06:53Les MCP contiennent de nombreux outils tous exposés dans la fenêtre de contexte,
00:06:57ce qui surcharge inutilement cette dernière.
00:06:58Cursor a pris les devants et a souligné qu'il incombe aux agents de codage,
00:07:02et non aux serveurs MCP,
00:07:03de résoudre la surcharge du contexte.
00:07:04La solution à ce problème consiste en une découverte dynamique du contexte par synchronisation des descriptions d'outils dans un dossier.
00:07:10L'idée de Cursor est d'avoir tous les MCP avec leurs noms dans des dossiers séparés,
00:07:14nommés d'après chaque MCP connecté,
00:07:15et dans chaque dossier,
00:07:16tous les outils doivent être répertoriés.
00:07:18Ainsi,
00:07:19l'agent ne reçoit que les noms des outils,
00:07:20et chaque fois qu'il a besoin d'un outil,
00:07:22il le recherche dans les dossiers.
00:07:24Lors des tests qu'ils ont effectués,
00:07:25ils ont découvert que la découverte dynamique des outils MCP réduisait l'utilisation de 46,
00:07:299 %,
00:07:30ce qui fait une énorme différence si vous travaillez sur un système de longue durée.
00:07:33Cette implémentation aide également dans les cas où les serveurs MCP se déconnectent accidentellement ou nécessitent une réauthentification.
00:07:39Normalement,
00:07:40le système oublierait simplement ces outils,
00:07:42mais désormais l'agent peut effectivement notifier l'utilisateur qu'une réauthentification est requise.
00:07:46Claude dispose également d'un outil de recherche avancé spécifiquement conçu pour résoudre ce problème,
00:07:50utilisant un certain ensemble de drapeaux pour indiquer à Claude s'il doit le charger ou non.
00:07:54Il met en œuvre l'idée exacte de Cursor concernant la découverte dynamique du contexte,
00:07:58mais cela est limité à la plateforme développeur,
00:08:00et uniquement pour ceux qui construisent avec des API.
00:08:02Nous ne pouvons pas modifier la façon dont les MCP sont utilisés dans Claude Code,
00:08:06car ils sont intégrés par Anthropic.
00:08:07Alors que je cherchais des moyens de mettre cela en œuvre dans Claude Code,
00:08:11je suis tombé sur un drapeau caché.
00:08:12Sans définir ce drapeau,
00:08:13tous les outils MCP que j'avais connectés étaient exposés dans le contexte de Claude Code.
00:08:17Lorsque j'ai activé le drapeau enable experimental MCP CLI,
00:08:20tous les outils ont été retirés de la fenêtre de contexte,
00:08:22libérant ainsi l'espace précédemment occupé par les outils MCP.
00:08:25Mais cela ne signifie pas que les MCP sont déconnectés lorsque cette interface en ligne de commande est activée.
00:08:30La seule différence,
00:08:30c'est qu'ils ne sont pas exposés d'emblée dans la fenêtre de contexte.
00:08:33Au lieu de placer tous les schémas dans le contexte,
00:08:36Claude utilise désormais une couche intermédiaire bash appelée MCP CLI,
00:08:39qui gère toutes les tâches liées aux MCP.
00:08:41Claude utilise cette couche intermédiaire pour rechercher,
00:08:43obtenir des informations et invoquer les outils.
00:08:45Chaque fois que vous demandez à Claude d'effectuer une tâche nécessitant un appel d'outil MCP,
00:08:49au lieu d'utiliser la méthode habituelle,
00:08:51il utilise les MCP via MCP CLI et effectue la tâche requise.
00:08:54En utilisant cet outil,
00:08:55Claude exécute toutes les tâches comme d'habitude,
00:08:57simplement via cette couche intermédiaire.
00:08:58Le signalement des erreurs du terminal est difficile dans Cursor en raison de son accès limité.
00:09:03Si le terminal affichait une erreur,
00:09:04vous deviez l'ajouter au chat puis la faire corriger.
00:09:06La solution de Cursor pour cela consiste également à déplacer les sessions de terminal vers des fichiers.
00:09:11Ainsi,
00:09:11chaque fois que vous lui posez des questions,
00:09:13il fait référence à ces fichiers d'historique et utilise grep pour extraire la sortie pertinente..
00:09:20Étant donné que les journaux serveur sont généralement de longue durée et contiennent beaucoup de bruit pour l'agent,
00:09:25l'utilisation de la tâche grep est plus efficace car elle permet à l'agent de faire correspondre des modèles.
00:09:30Ils ont eu cette idée à partir des agents de codage basés sur CLI,
00:09:33qui exécutent les commandes,
00:09:34mais ensuite la sortie est injectée dans le contexte exactement de la même manière que Claude code et d'autres le font par défaut.
00:09:40Même si Claude gère cela intelligemment de lui-même,
00:09:42nous pouvons le gérer encore davantage en utilisant des instructions dans Claude.md pour lui indiquer d'ajouter tous les journaux du terminal dans un fichier du dossier terminal à l'intérieur du dossier .context.
00:09:51En gros,
00:09:52si Claude exécute une commande npm,
00:09:53il exécute une commande spéciale qui enregistre à la fois le flux de sortie et le flux d'entrée dans les fichiers de documents.
00:09:59Ici,
00:09:592 représente le flux d'erreur standard et 1 représente le flux de sortie standard.
00:10:03Il écrit ces journaux dans le dossier terminal,
00:10:05en les marquant avec un horodatage.
00:10:06Ensuite,
00:10:07chaque fois qu'il a besoin de les parcourir,
00:10:09il utilise simplement une commande grep avec un modèle spécifié et charge les 20 dernières lignes pour extraire uniquement ce qui compte..
00:10:15Ainsi,
00:10:15chaque fois que je testais mon serveur de développement,
00:10:18il utilisait ces commandes et continuait à écrire les exécutions du terminal dans des fichiers conformément au fichier Claude.md.
00:10:23Après avoir lancé le serveur,
00:10:24il s'est référé aux fichiers journaux et a découvert ce qui causait le problème et l'a résolu pour moi..
00:10:29Maintenant,
00:10:29même si cet ajout à Claude code peut sembler insignifiant parce qu'il ne semble pas avoir beaucoup d'impact sur le travail immédiat,
00:10:35il peut être très utile lorsque vous souhaitez vous référer au fonctionnement de votre application.
00:10:39Tout comme lorsque j'avais besoin d'identifier quel service faisait planter mon application,
00:10:42j'ai simplement demandé à Claude de consulter les journaux de test au lieu de relancer les tests,
00:10:46ce qui m'a évité de réexécuter une suite de tests de 2 minutes juste pour reproduire une erreur que j'avais déjà vue.
00:10:51Cela nous amène à la fin de cette vidéo.
00:10:52Si vous souhaitez soutenir la chaîne et nous aider à continuer de faire des vidéos comme celle-ci,
00:10:56vous pouvez le faire en utilisant le bouton super merci ci-dessous.
00:10:59Comme toujours,
00:11:00merci d'avoir regardé et je vous retrouve dans la prochaine..