00:00:00L'équipe de Closco vient de résoudre le plus gros problème de MCP en ajoutant la recherche d'outils,
00:00:04permettant de réduire le contexte jusqu'à 95 % simplement en recherchant un outil par son nom avant de l'utiliser,
00:00:10au lieu de précharger tous les outils disponibles dans le contexte,
00:00:13ce qui pouvait consommer des dizaines de milliers de tokens avant même d'écrire la première instruction.
00:00:18Mais pourquoi cela ne fonctionnait-il pas ainsi auparavant ?
00:00:21Et ont-ils volé cette technique à Cloudflare ?
00:00:24Abonnez-vous et entrons dans le vif du sujet.
00:00:26Les serveurs MCP sont absolument partout : il y en a un pour GitHub,
00:00:30Docker,
00:00:31Notion,
00:00:31il y a même un pour Better Stack qui,
00:00:33paraît-il,
00:00:34est vraiment bon.
00:00:35Et avec les gens qui utilisent Claude Code et les LLM pour tout sauf le code,
00:00:40il semble que MCP ne soit pas près de disparaître.
00:00:43Mais il a ses problèmes : collisions de noms,
00:00:45injections de commandes,
00:00:47et le plus important de tous,
00:00:48l'inefficacité en termes de tokens,
00:00:50car tous les outils d'un serveur connecté sont généralement préchargés dans la fenêtre de contexte du modèle pour lui donner une visibilité complète.
00:00:57Donc les noms d'outils,
00:00:58les descriptions d'outils,
00:00:59la documentation complète du schéma JSON qui contient les paramètres optionnels et obligatoires,
00:01:04leurs types,
00:01:04toutes les contraintes,
00:01:06bref,
00:01:06énormément de données.
00:01:07L'équipe Redis a utilisé 167 outils provenant de quatre serveurs différents,
00:01:11ce qui a consommé plus de 60 000 tokens avant même d'écrire une instruction.
00:01:15Presque la moitié de la fenêtre de contexte de 200 000 tokens d'Opus,
00:01:18et ce,
00:01:19sans même compter les compétences et les plugins.
00:01:21Donc si vous avez beaucoup de serveurs,
00:01:23cela pourrait consommer une quantité considérable de tokens.
00:01:25Oui,
00:01:26je sais qu'il existe des modèles,
00:01:27comme Gemini,
00:01:28qui ont une fenêtre de 1 million de tokens,
00:01:30mais les modèles ont tendance à moins bien performer plus vous ajoutez d'éléments à leur contexte.
00:01:35Alors quelle est la meilleure façon de résoudre ce problème ?
00:01:37Eh bien,
00:01:37j'ai vu deux approches populaires en ligne : l'approche programmatique,
00:01:40qui est celle adoptée par Cloudflare,
00:01:42et l'approche par recherche,
00:01:44qui est celle retenue par l'équipe de Claude Code.
00:01:46Je parlerai de l'approche programmatique un peu plus tard,
00:01:49mais d'abord,
00:01:50parlons du processus de recherche,
00:01:52qui fonctionne comme ceci.
00:01:53D'abord,
00:01:54Claude vérifie si les outils MCP préchargés représentent plus de 10 % du contexte.
00:01:59Cela fait donc 20 000 tokens si la fenêtre de contexte est de 200 000 tokens.
00:02:04Si ce n'est pas le cas,
00:02:06alors aucun changement n'a lieu et le modèle utilise les outils MCP normalement.
00:02:10Mais si oui,
00:02:11alors Claude découvre dynamiquement les bons outils à utiliser en langage naturel et charge trois à cinq des outils les plus pertinents en fonction de l'instruction.
00:02:22Il chargera complètement uniquement ces outils dans le contexte pour que le modèle les utilise normalement.
00:02:27C'était en fait leur fonctionnalité la plus demandée sur GitHub,
00:02:30et cela fonctionne de manière similaire à AgentSkills,
00:02:33qui ne charge que les noms et descriptions des compétences dans le contexte,
00:02:36et lorsqu'il trouve une compétence qu'il juge pertinente ou une compétence mentionnée dans l'instruction,
00:02:41il charge alors l'intégralité de cette compétence spécifique dans la fenêtre de contexte.
00:02:46La divulgation progressive en quelques mots.
00:02:47Anthropic et Cursor ont tous deux constaté de grands avantages en utilisant cette approche pour les outils MCP.
00:02:53Mais qu'en est-il de l'approche programmatique ?
00:02:55Elle fonctionne en permettant aux modèles d'orchestrer les outils via du code au lieu de faire des appels API.
00:03:01Donc pour ces trois outils qui doivent fonctionner l'un après l'autre en fonction de la réponse précédente,
00:03:06au lieu de faire des appels d'outils API individuels,
00:03:09Claude en particulier peut écrire un script Python pour effectuer toute cette orchestration,
00:03:13puis exécuter le code et présenter le résultat au modèle.
00:03:16Cloudflare a poussé cette approche encore plus loin en faisant écrire au modèle des définitions TypeScript pour tous les outils disponibles,
00:03:23puis en exécutant le code dans un environnement isolé,
00:03:25qui est généralement un worker.
00:03:27L'équipe de Claude Code a en fait essayé l'approche programmatique mais a trouvé que la recherche fonctionnait mieux,
00:03:33ce que j'ai vraiment du mal à croire étant donné que Claude est très doué pour écrire du code.
00:03:38Et aussi,
00:03:38le truc de navigateur agent en ligne de commande avec Chromium headless que Vacel a publié fonctionne très bien dans Clawed code et je suis sûr que si vous pouviez convertir tous les outils MCP en commandes CLI en utilisant quelque chose comme MCPorter,
00:03:50ce serait beaucoup plus simple et plus efficace en termes de contexte pour les modèles d'exécuter une commande CLI spécifique pour un outil au lieu de charger des choses dans le contexte,
00:04:00mais bon,
00:04:00c'est juste mon avis.
00:04:01Dans l'ensemble,
00:04:02je suis content que les problèmes avec les serveurs MCP soient pris en compte et ça pourrait peut-être me convaincre d'installer plus d'un serveur.