00:00:00L'un des éléments les plus importants en IA a été le protocole MCP,
00:00:03mais six mois plus tard,
00:00:04il est devenu un énorme problème pour nous.
00:00:06Au départ,
00:00:07les gens n'avaient que deux ou trois serveurs MCP en local,
00:00:11mais MCP a beaucoup évolué.
00:00:13Maintenant,
00:00:14les gens ont littéralement des centaines de serveurs MCP avec des milliers d'outils à la fois,
00:00:18et c'est devenu un vrai cauchemar.
00:00:20Comme vous le savez,
00:00:21Cloudflare l'a remarqué en premier,
00:00:22et Claude a suivi en publiant un article de recherche sur la question.
00:00:26Mais Docker a trouvé une solution et a résolu l'un des problèmes les plus critiques en proposant une toute nouvelle façon de les utiliser.
00:00:34Un mode dynamique qui vous permet d'économiser énormément de tokens,
00:00:38d'accélérer vos agents et de créer des automations entièrement nouvelles.
00:00:43Docker a en fait publié un article dans lequel ils nous demandent essentiellement d'arrêter de coder les environnements de nos agents en dur.
00:00:50Qu'est-ce qu'ils veulent dire par là, exactement?
00:00:51D'abord,
00:00:52en quels serveurs MCP avons-nous vraiment confiance?
00:00:54Deuxièmement,
00:00:55comment éviter de remplir notre contexte avec des définitions d'outils que nous n'utilisons peut-être même pas?
00:01:00Par exemple,
00:01:01si vous avez mille outils,
00:01:02vous n'en utiliserez peut-être que deux ou trois dans une seule conversation.
00:01:05Troisièmement,
00:01:06comment les agents découvrent,
00:01:08configurent et utilisent ces outils efficacement et de manière autonome?
00:01:12Mais je veux que vous vous concentriez sur le deuxième point : comment éviter de remplir notre contexte avec des définitions d'outils inutilisés?
00:01:19Par exemple,
00:01:19si vous avez mille outils,
00:01:20vous n'en utiliserez peut-être que deux ou trois dans une seule conversation.
00:01:23Anthropic a aussi publié un article à ce sujet que nous avons couvert dans une de nos vidéos précédentes,
00:01:29et nous avons reçu une réaction très positive.
00:01:32Et Docker a décidé de mettre en œuvre cette solution.
00:01:34Avant d'aller plus loin,
00:01:35il faut savoir que Docker a configuré toute l'infrastructure pour cela bien avant que ce ne devienne un problème.
00:01:41Et pour cela,
00:01:42vous devez connaître leur catalogue MCP,
00:01:44où ils ont listé les serveurs MCP vérifiés en lesquels vous pouvez avoir confiance.
00:01:48Et c'est très facile à connecter,
00:01:50vous les connectez simplement ici dans Docker.
00:01:52Par exemple,
00:01:52j'ai connecté Notion ici,
00:01:54vous pouvez voir que j'ai actuellement deux serveurs,
00:01:57et mon client MCP,
00:01:58qui la plupart du temps est Claude code,
00:02:00ne se connecte qu'à Docker,
00:02:02qui gère ensuite tous mes serveurs MCP.
00:02:04Cela résout entièrement le premier problème : en quels serveurs MCP pouvons-nous vraiment avoir confiance.
00:02:09Pour permettre aux agents d'utiliser ces MCPs de manière dynamique,
00:02:14ils ont mis en place une passerelle MCP pré-équipée d'outils pour utiliser les serveurs MCP du catalogue de façon autonome.
00:02:22En gros,
00:02:23vous ne connectez qu'un seul MCP et ce MCP connaît le contexte de tous les outils auxquels il est connecté dans le catalogue.
00:02:31J'en ai connecté deux et il sait quelles définitions d'outils apporter dans la fenêtre de contexte.
00:02:36Votre fenêtre de contexte ne se gonflera pas..
00:02:39Pour que cela fonctionne,
00:02:40ils ont ajouté de nouveaux outils comme MCP find,
00:02:43add et remove,
00:02:44qui trouvent les serveurs MCP du catalogue par nom ou description.
00:02:48Et comme je vous le montrerai,
00:02:49je vais vous guider sur la façon de les ajouter correctement.
00:02:51Par exemple,
00:02:52j'utilise mon MCP GitHub ici et je lui dis que je veux chercher des dépôts intéressants.
00:02:57Après avoir spécifié le type de dépôts,
00:02:59il n'appelle pas l'outil directement,
00:03:02mais utilise le serveur Docker MCP qui appelle alors l'outil avec les bonnes informations et retourne évidemment tous les résultats.
00:03:09Je voudrais que vous remarquiez une chose : le modèle retourne tout sur les dépôts.
00:03:14Il retourne les liens,
00:03:16les étoiles,
00:03:16la description,
00:03:17et il connaît même la date de publication de ces dépôts..
00:03:21Je veux juste que vous vous le rappeliez parce que ce sera important par la suite.
00:03:25Maintenant, passons à la sélection dynamique d'outils.
00:03:28C'est la partie la plus importante de l'article,
00:03:30et c'est de ça que je parlais quand je mentionnais une nouvelle façon d'utiliser les serveurs MCP..
00:03:35Pour résumer,
00:03:35l'article de Claude parle de la façon dont Claude ou tout agent IA utilise plus de tokens.
00:03:40D'une part,
00:03:40les définitions d'outils dans la fenêtre de contexte,
00:03:43et d'autre part,
00:03:44les résultats intermédiaires des outils.
00:03:46C'est de ces résultats bruts retournés par les appels d'outils MCP dont on parle.
00:03:50Tous ces détails que nous avons recherchés avec l'outil GitHub ont été retournés dans la fenêtre de contexte.
00:03:55C'est pourquoi Claude connaît chaque petit détail sur les dépôts,
00:03:58alors que je voulais seulement la description et le lien.
00:04:01De cette façon,
00:04:02il ne faut que quelques appels d'outils,
00:04:04dans mon cas peut-être 20,
00:04:05avant que la fenêtre de contexte soit complètement remplie.
00:04:08C'est une chose qu'ils ont améliorée dans le projet de passerelle MCP en ne fournissant que les outils vraiment utiles.
00:04:14Par exemple,
00:04:14dans mon cas,
00:04:15une façon d'économiser du contexte serait de ne me donner que l'outil de recherche de dépôt et pas les 40 autres outils de ce MCP GitHub.
00:04:22Parce que dans cette session,
00:04:23je veux juste utiliser l'outil de recherche.
00:04:25Mais encore une fois,
00:04:26une fois que vous commencez à sélectionner les outils de cette façon,
00:04:30cela ouvre aussi une toute nouvelle gamme de possibilités.
00:04:33Et cela nous mène au mode code.
00:04:34Cloudflare a essentiellement expliqué comment nous utilisions mal le MCP,
00:04:38et que ce n'est pas la bonne façon.
00:04:39Et c'est là que Docker est vraiment le premier à mettre en œuvre cette nouvelle solution.
00:04:44J'ai beaucoup testé et je dois dire que je suis vraiment surpris par la façon dont l'exécution s'est déroulée.
00:04:49Ils disent que en permettant aux agents d'écrire du code directement en utilisant les outils MCP,
00:04:54c'est-à-dire en implémentant les outils dans du code,
00:04:57ils peuvent fournir aux agents ces outils de mode code qui utilisent les outils d'une manière complètement nouvelle.
00:05:02Qu'est-ce que le mode code fait?
00:05:04Il crée un outil JavaScript activé qui peut appeler d'autres outils MCP.
00:05:08Cela peut sembler très simple,
00:05:09mais les exemples que je vais vous montrer l'éclaircissent probablement.
00:05:13Maintenant,
00:05:13avant de plonger dans une implémentation,
00:05:15il y a d'autres choses à considérer.
00:05:17D'abord,
00:05:17puisque ce code est écrit par un agent,
00:05:19évidemment,
00:05:20il n'est pas testé et pas sécurisé.
00:05:22Docker a donc prévu que cela s'exécute dans un bac à sable.
00:05:24Et comme ils fournissent déjà des conteneurs Docker,
00:05:27c'était plutôt une évidence pour eux.
00:05:29Cette approche offre trois avantages clés.
00:05:31D'abord,
00:05:31c'est complètement sécurisé,
00:05:33parce que c'est l'avantage principal de la virtualisation.
00:05:36Cela ne fait aucun dégât à votre système.
00:05:38Ensuite,
00:05:38il y a toute l'efficacité des tokens et des outils dont nous avons parlé où l'outil utilisé n'a pas besoin d'être envoyé au modèle à chaque requête,
00:05:46le modèle a juste besoin de connaître un nouvel outil de mode code.
00:05:49Donc sans mode code,
00:05:50si vous n'utilisez que,
00:05:51disons,
00:05:51ces trois outils,
00:05:52et que vous les exécutez à plusieurs reprises,
00:05:55le contexte de ces 47 autres outils accompagne aussi les trois outils que nous utilisons réellement.
00:05:59Mais avec le mode code,
00:06:01ce qui se passe c'est que l'agent écrit l'outil personnalisé d'analyse de mes dépôts en utilisant uniquement les outils dont nous avons vraiment besoin.
00:06:08Et à chaque fois,
00:06:09il ne référence que cet un seul outil de mode code.
00:06:11Et de cette façon,
00:06:12il économise tout ce contexte supplémentaire en n'envoyant pas les outils dont nous n'avons pas besoin.
00:06:17Et puis nous avons aussi la persistance d'état,
00:06:20où les volumes gèrent la façon dont les données sont sauvegardées entre ces appels d'outils.
00:06:24Et ils ne sont pas vraiment envoyés au modèle.
00:06:27Un exemple très simple pourrait être un pipeline de traitement de données.
00:06:30Disons que nous voulons télécharger un ensemble de données,
00:06:33l'ensemble de données est téléchargé et retourné,
00:06:36mais il est en fait sauvegardé sur le volume,
00:06:38et le modèle sait juste qu'il a été téléchargé avec succès.
00:06:41Le modèle ne se noie pas sous cinq gigaoctets de données.
00:06:43Ensuite,
00:06:44si nous voulons traiter les 10 000 premières lignes,
00:06:47le modèle peut simplement lire depuis le volume où les données sont stockées et retourner le résumé réel.
00:06:52De cette façon,
00:06:52seules les données qui devraient aller au modèle,
00:06:55comme les résultats finaux,
00:06:56les résumés,
00:06:57les messages d'erreur ou les réponses aux questions sont transférées au modèle et la fenêtre de contexte reste propre..
00:07:07La raison pour laquelle je cherchais ces dépôts GitHub c'est pour découvrir de nouveaux outils open source à mettre dans mes vidéos.
00:07:14Et ce que je fais normalement c'est d'exécuter plusieurs appels avec l'outil find GitHub repo.
00:07:18J'écris simplement des mots-clés différents pour chercher des outils.
00:07:21J'ai présenté cela à Claude code et il a combiné tous ces différents appels d'outils en un seul outil qui cherche des dépôts en fonction des mots-clés que je lui donne.
00:07:29Vous pouvez voir qu'ici aussi sans mode code,
00:07:31Docker exécute plusieurs requêtes.
00:07:33C'est ce que je voulais corriger.
00:07:35L'outil qu'il a créé s'appelait multi search repos..
00:07:37Après avoir créé l'outil,
00:07:39il a utilisé l'outil MCP exec pour l'exécuter.
00:07:41Il m'a essentiellement donné 29 dépôts uniques en cherchant avec six mots-clés différents,
00:07:45mais les résultats ont juste été retournés directement dans la réponse et dans le terminal,
00:07:49ce qui signifie que tous les résultats étaient retournés dans la fenêtre de contexte.
00:07:53Pour corriger cela,
00:07:54je lui ai dit qu'il devrait tout écrire dans un fichier et que le modèle devrait juste obtenir la description des dépôts.
00:08:00Pas besoin de donner des étoiles ou quoi que ce soit d'autre.
00:08:03Et il a changé l'outil et écrit tous ces résultats dans un fichier texte de mon dépôt pour que si je veux chercher quelque chose de spécifique sur un dépôt,
00:08:10je puisse le faire en référençant le fichier texte.
00:08:13Maintenant,
00:08:13il y a une chose que j'aimerais voir implémentée : un moyen de sauvegarder et réutiliser cet outil.
00:08:18Pour l'instant,
00:08:19la seule option est de le sauvegarder manuellement en tant que fichier.
00:08:22Après cela,
00:08:22j'ai demandé si elle pouvait chercher le MCP Notion.
00:08:25Une fois connecté,
00:08:26j'ai demandé si elle pouvait faire un outil qui envoie directement les résultats de la recherche GitHub dans Notion au lieu d'utiliser un fichier texte.
00:08:33Et encore une fois,
00:08:34en utilisant le mode code,
00:08:35elle a créé l'outil GitHub to Notion qui m'a permis de coller les résultats dans Notion..
00:08:40Après l'avoir exécuté,
00:08:41il y avait en gros de petits problèmes que j'ai dû corriger.
00:08:44Mais essentiellement,
00:08:45j'ai maintenant cette base de données dans Notion.
00:08:47C'est en gros codé en dur.
00:08:48Donc,
00:08:49quelle que soit la requête que j'envoie,
00:08:51cela va simplement entrer les résultats dans cette base de données selon les différents champs..
00:08:55Et cela inclut même la date pour que je puisse les filtrer facilement et ne chercher que les résultats que je veux vraiment.
00:09:01Le modèle ne sait que le nom et la description du dépôt GitHub à la fois.
00:09:04Il n'obtient rien d'autre,
00:09:06mais le reste des informations est tout enregistré ici.
00:09:08Honnêtement,
00:09:09si vous parcourez simplement ce catalogue,
00:09:11vous obtiendrez au moins une idée des MCPs que vous pourriez enchaîner ensemble pour créer ces incroyables workflows.
00:09:16Et en même temps,
00:09:17vous économisez des tokens et préservez les performances de votre agent IA.
00:09:21Pour commencer avec eux, c'est honnêtement assez facile.
00:09:24Vous devez mettre à jour votre version de Docker.
00:09:26Mais si vous ne l'avez toujours pas,
00:09:28ils pourraient être désactivés dans les fonctionnalités bêta.
00:09:30Assurez-vous donc que cet ensemble d'outils Docker MCP est activé..
00:09:34À part cela,
00:09:35vous aurez votre catalogue et ces nouvelles fonctionnalités sont activées par défaut.
00:09:39Donc tout ce que vous avez à faire est de connecter votre client et vous pouvez à peu près commencer.
00:09:43Cela nous amène à la fin de cette vidéo.
00:09:45Si vous voulez soutenir la chaîne et nous aider à continuer à faire des vidéos comme celle-ci,
00:09:49vous pouvez le faire en utilisant le bouton super thanks ci-dessous.
00:09:52Comme toujours, merci de regarder, et à bientôt!!