Docker a résolu 90% du codage IA en lançant cette nouveauté

AAI LABS
AI/미래기술컴퓨터/소프트웨어

Transcript

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!!

Key Takeaway

Docker a résolu le problème de surcharge des contextes MCP en proposant une passerelle centralisée avec sélection dynamique d'outils et un mode code exécuté en bac à sable, permettant une utilisation beaucoup plus efficace des protocoles MCP.

Highlights

Le protocole MCP est devenu un problème critique car les développeurs accumulent des centaines de serveurs avec des milliers d'outils, surchargeant le contexte des modèles IA

Docker a résolu ce problème en créant une passerelle MCP centralisée avec un catalogue de serveurs vérifiés, éliminant le besoin de coder en dur les environnements des agents

La sélection dynamique d'outils permet aux agents de n'utiliser que les outils vraiment nécessaires pour une conversation, réduisant considérablement la consommation de tokens

Le mode code JavaScript permet aux agents d'écrire et d'exécuter du code personnalisé en bac à sable Docker, combinant plusieurs outils MCP de manière créative

La persistance d'état via les volumes Docker permet de sauvegarder les données volumineuses sans les surcharger dans le contexte du modèle

Docker propose des outils comme MCP find, add et remove pour découvrir et gérer les serveurs du catalogue de manière autonome

Cette approche offre une amélioration de 90% en efficacité et performance pour les agents IA codant avec les MCPs

Timeline

Le problème croissant du protocole MCP

La transcription débute en expliquant que le protocole MCP, initialement un élément important en IA, est devenu un problème majeur six mois après son introduction. Au départ, les développeurs utilisaient seulement deux ou trois serveurs MCP locaux, mais l'évolution rapide a conduit à une situation où les gens disposent maintenant de littéralement des centaines de serveurs MCP avec des milliers d'outils simultanément. Cette accumulation est décrite comme un véritable cauchemar, remarquée d'abord par Cloudflare et confirmée par Claude qui a publié un article de recherche sur le sujet. Le conférencier pose trois questions fondamentales : en quels serveurs MCP peut-on faire confiance, comment éviter de remplir le contexte avec des définitions d'outils inutilisés, et comment les agents peuvent-ils découvrir, configurer et utiliser ces outils efficacement de manière autonome.

La solution Docker : passerelle MCP centralisée

Docker a mis en place une infrastructure entière, construite bien avant que le problème ne devienne critique, pour résoudre les défis d'utilisation des MCP. La solution repose sur un catalogue MCP contenant des serveurs vérifiés auxquels on peut faire confiance. L'interface est simple : on connecte les serveurs MCP directement dans Docker (par exemple Notion), et le client MCP, généralement Claude Code, ne se connecte qu'à Docker, qui gère ensuite tous les serveurs MCP. Docker a également créé une passerelle MCP pré-équipée d'outils permettant aux agents d'utiliser les serveurs du catalogue de manière autonome. Cette approche résout complètement le premier problème en centralisant la gestion et en ne se connectant qu'à une seule entité Docker, qui connaît le contexte de tous les outils disponibles. Le résultat est que la fenêtre de contexte ne se gonfle pas inutilement.

Les outils de découverte dynamique : MCP find, add et remove

Pour permettre aux agents d'utiliser les MCPs de manière dynamique, Docker a implémenté de nouveaux outils appelés MCP find, add et remove, qui permettent de trouver les serveurs MCP du catalogue par nom ou description. Le conférencier montre un exemple concret en utilisant le serveur MCP GitHub pour chercher des dépôts intéressants. Après avoir spécifié le type de dépôts recherchés, au lieu d'appeler directement l'outil du client, le serveur Docker MCP l'appelle avec les bonnes informations et retourne les résultats complets. Notamment, le modèle retourne tous les détails incluant les liens, les étoiles, les descriptions et même les dates de publication des dépôts. Le conférencier insiste sur l'importance de cette observation car elle sera cruciale pour comprendre les avantages de la sélection dynamique d'outils par la suite.

La sélection dynamique d'outils et l'économie de tokens

Cette section traite de la partie la plus importante : la sélection dynamique d'outils, qui représente une nouvelle façon d'utiliser les serveurs MCP. Le problème fondamental abordé par Claude dans un article est que les modèles IA consomment des tokens de deux façons : par les définitions d'outils dans la fenêtre de contexte et par les résultats intermédiaires bruts des appels MCP. L'exemple du GitHub illustre ce problème : bien que le conférencier ne voulait que la description et le lien, tous les détails (étoiles, dates, etc.) ont été retournés et remplissent la fenêtre de contexte. Il ne faut que quelques appels d'outils avant que le contexte soit complètement rempli. Docker a amélioré cela en ne fournissant que les outils vraiment utiles, par exemple en n'affichant que l'outil de recherche de dépôt plutôt que les 40 autres outils du serveur MCP GitHub. Cette approche ouvre également de nouvelles possibilités avec le mode code.

Le mode code : exécution sécurisée en bac à sable

Docker est le premier à implémenter le mode code, permettant aux agents d'écrire du code directement en utilisant les outils MCP, c'est-à-dire en implémentant les outils dans le code. Le mode code crée un outil JavaScript qui peut appeler d'autres outils MCP. Comme ce code est écrit par un agent, il n'est ni testé ni sécurisé, c'est pourquoi Docker l'exécute dans un bac à sable utilisant les conteneurs Docker qu'ils fournissent déjà. Cette approche offre trois avantages clés : d'abord, c'est complètement sécurisé grâce à la virtualisation qui ne peut causer aucun dégât au système. Ensuite, le modèle n'a besoin de connaître que le nouvel outil de mode code plutôt que tous les 47 outils du serveur original, économisant ainsi énormément de contexte. Enfin, il y a la persistance d'état où les volumes Docker gèrent comment les données sont sauvegardées entre les appels d'outils sans être envoyées au modèle.

La persistance d'état et les données volumineuses

La persistance d'état via les volumes Docker est une innovation qui résout le problème des données volumineuses dans le contexte du modèle. Un exemple simple illustre le concept : si on télécharge un ensemble de données, celui-ci est téléchargé mais réellement sauvegardé sur le volume Docker, et le modèle sait simplement qu'il a été téléchargé avec succès sans être noyé sous cinq gigaoctets de données. Ensuite, si on veut traiter les 10 000 premières lignes de l'ensemble de données, le modèle peut lire depuis le volume où les données sont stockées et retourner uniquement le résumé réel. De cette manière, seules les données qui devraient aller au modèle (résultats finaux, résumés, messages d'erreur, réponses aux questions) sont transférées, et la fenêtre de contexte reste propre et manageable. Cette approche est particulièrement efficace pour les pipelines de traitement de données complexes.

Cas d'usage pratiques : recherche GitHub et intégration Notion

Le conférencier démontre l'utilité du mode code à travers des cas pratiques. Son objectif initial était de découvrir des outils open source nouveaux en exécutant plusieurs appels avec l'outil find GitHub repo en utilisant différents mots-clés. Il a présenté ce problème à Claude Code qui a combiné tous les appels d'outils en un seul outil appelé 'multi search repos'. Cet outil a cherché 29 dépôts uniques avec six mots-clés différents, mais au lieu de surcharger le contexte, les résultats ont été retournés directement. Le conférencier a ensuite demandé au modèle d'écrire tous les résultats dans un fichier texte avec seulement les noms et descriptions des dépôts, optimisant ainsi l'utilisation du contexte. Enfin, en connectant le serveur MCP Notion, il a créé un outil 'GitHub to Notion' qui envoie directement les résultats de recherche GitHub dans une base de données Notion avec des champs filtrants et des dates, démontrant la puissance de combiner les MCPs via le mode code.

Conclusions et mise en place des solutions Docker

Le conférencier conclut en soulignant l'importance du catalogue Docker MCP : simplement en le parcourant, on obtient des idées des MCPs qu'on pourrait chaîner ensemble pour créer des workflows incroyables tout en économisant des tokens et en préservant les performances de l'agent IA. Pour commencer avec Docker, il suffit de mettre à jour sa version de Docker, et s'assurer que l'ensemble d'outils Docker MCP est activé dans les fonctionnalités bêta si nécessaire. Une fois cela fait, les nouvelles fonctionnalités de sélection dynamique et de mode code sont activées par défaut. Il suffit de connecter son client MCP à Docker pour commencer immédiatement. Le conférencier termine la vidéo en invitant les spectateurs à soutenir la chaîne via le bouton Super Thanks et réaffirme l'importance de cette innovation Docker pour l'avenir du développement avec les agents IA.

Community Posts

View all posts