Les Outils MCP Sont Maintenant 10x Plus Rapides Dans Claude Code

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

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.

Key Takeaway

L'équipe de Claude Code a résolu le principal problème d'inefficacité des serveurs MCP en implémentant un système de recherche d'outils qui réduit la consommation de tokens jusqu'à 95% en chargeant dynamiquement seulement les outils pertinents au lieu de précharger tous les outils disponibles.

Highlights

L'équipe de Claude Code a ajouté la recherche d'outils MCP, réduisant la consommation de contexte jusqu'à 95%

Auparavant, tous les outils MCP étaient préchargés dans le contexte, consommant parfois plus de 60 000 tokens avant même la première instruction

Claude charge désormais dynamiquement seulement 3 à 5 outils les plus pertinents selon l'instruction de l'utilisateur

Deux approches existent pour optimiser MCP : l'approche par recherche (Claude) et l'approche programmatique (Cloudflare)

L'approche programmatique permet aux modèles d'orchestrer les outils via du code au lieu d'appels API individuels

L'équipe de Claude Code a testé l'approche programmatique mais a trouvé que la recherche fonctionnait mieux

Cette amélioration était la fonctionnalité la plus demandée sur GitHub pour Claude Code

Timeline

Introduction : La révolution de la recherche d'outils MCP

L'équipe de Claude Code annonce avoir résolu le plus gros problème du protocole MCP en introduisant la recherche d'outils. Cette nouvelle fonctionnalité permet de réduire l'utilisation du contexte jusqu'à 95% en recherchant les outils par leur nom avant utilisation, au lieu de précharger tous les outils disponibles. Auparavant, cette approche consommait des dizaines de milliers de tokens avant même d'écrire la première instruction utilisateur. Le présentateur pose deux questions clés : pourquoi cela ne fonctionnait-il pas ainsi avant, et cette technique a-t-elle été empruntée à Cloudflare ?

L'omniprésence des serveurs MCP et leurs problèmes

Les serveurs MCP sont désormais omniprésents avec des intégrations pour GitHub, Docker, Notion, Better Stack, et bien d'autres. Avec l'utilisation croissante de Claude Code et des LLM pour diverses tâches au-delà du code, MCP semble destiné à rester. Cependant, le protocole présente des problèmes majeurs : collisions de noms, injections de commandes, et surtout une inefficacité considérable en termes de tokens. Tous les outils d'un serveur connecté sont généralement préchargés dans la fenêtre de contexte du modèle, incluant les noms, descriptions, documentation complète du schéma JSON avec les paramètres optionnels et obligatoires, leurs types et toutes les contraintes, ce qui représente énormément de données.

L'ampleur du problème : L'exemple de l'équipe Redis

L'équipe Redis illustre parfaitement l'ampleur du problème avec un cas concret : en utilisant 167 outils provenant de quatre serveurs différents, ils ont consommé plus de 60 000 tokens avant même d'écrire une instruction. Cela représente presque la moitié de la fenêtre de contexte de 200 000 tokens d'Opus, et ce sans même compter les compétences et les plugins. Pour les utilisateurs ayant beaucoup de serveurs connectés, cela peut consommer une quantité considérable de tokens. Ce problème est d'autant plus critique que les modèles ont tendance à moins bien performer lorsque davantage d'éléments sont ajoutés à leur contexte, même pour des modèles à grande fenêtre comme Gemini avec son million de tokens.

Les deux approches pour résoudre le problème

Deux approches populaires ont émergé pour résoudre ce problème d'inefficacité. L'approche programmatique, adoptée par Cloudflare, et l'approche par recherche, retenue par l'équipe de Claude Code. L'approche par recherche fonctionne selon un processus précis : Claude vérifie d'abord si les outils MCP préchargés représentent plus de 10% du contexte (soit 20 000 tokens pour une fenêtre de 200 000 tokens). Si ce n'est pas le cas, aucun changement n'a lieu et le modèle utilise les outils MCP normalement. Si oui, Claude découvre dynamiquement les bons outils à utiliser et charge trois à cinq des outils les plus pertinents en fonction de l'instruction de l'utilisateur.

Fonctionnement détaillé de l'approche par recherche

Lorsque le seuil de 10% est dépassé, Claude ne charge complètement que les outils sélectionnés (3 à 5) dans le contexte pour que le modèle les utilise normalement. Cette fonctionnalité était en fait la plus demandée sur GitHub pour Claude Code. Le mécanisme fonctionne de manière similaire à AgentSkills, qui ne charge que les noms et descriptions des compétences dans le contexte initial. Lorsqu'il trouve une compétence jugée pertinente ou mentionnée dans l'instruction, il charge alors l'intégralité de cette compétence spécifique dans la fenêtre de contexte. Il s'agit essentiellement d'une stratégie de divulgation progressive de l'information, approche qui a démontré de grands avantages tant chez Anthropic que chez Cursor.

L'approche programmatique de Cloudflare

L'approche programmatique fonctionne en permettant aux modèles d'orchestrer les outils via du code au lieu de faire des appels API individuels. Pour trois outils devant fonctionner l'un après l'autre en fonction de la réponse précédente, Claude peut écrire un script Python pour effectuer toute cette orchestration, puis exécuter le code et présenter le résultat au modèle. Cloudflare a poussé cette approche encore plus loin en faisant écrire au modèle des définitions TypeScript pour tous les outils disponibles, puis en exécutant le code dans un environnement isolé, généralement un worker. Cette méthode offre une alternative intéressante pour gérer l'orchestration complexe d'outils multiples.

Comparaison des approches et conclusion personnelle

L'équipe de Claude Code a effectivement essayé l'approche programmatique mais a trouvé que la recherche fonctionnait mieux, ce que le présentateur trouve difficile à croire étant donné l'excellence de Claude pour l'écriture de code. Il mentionne que le navigateur agent en ligne de commande avec Chromium headless publié par Vercel fonctionne très bien dans Claude Code. Il suggère que convertir tous les outils MCP en commandes CLI avec un outil comme MCPorter pourrait être plus simple et plus efficace en contexte, permettant aux modèles d'exécuter une commande CLI spécifique au lieu de charger des données dans le contexte. Malgré ses réserves, il se réjouit que les problèmes des serveurs MCP soient pris en compte, ce qui pourrait l'encourager à installer plus d'un serveur.

Community Posts

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

Write about this video