Les wrappers Bash ont consommé plus de tokens que le Model Context Protocol (MCP) à sept schémas lors d'une série de 12 questions, démontrant que le shell n'est pas le raccourci économique que beaucoup d'ingénieurs imaginent. La consommation de tokens se traduit directement par un coût pour les agents de grands modèles de langage (LLM) fonctionnant à grande échelle.

L'expérience qui a changé la donne

Un développeur a mesuré quatre méthodes permettant à un agent LLM de récupérer des données de navires :

  • MCP – sept schémas d'outils hébergés via le Model Context Protocol.
  • Bash + curl (cold) – un appel shell brut sans prompting supplémentaire.
  • Bash + curl (warm) – le même appel shell plus des prompts système qui guident une utilisation sécurisée.
  • Outil CLI dédié – une interface en ligne de commande conçue à cet effet.

Les quatre méthodes ont été testées au cours d'une conversation de 12 questions. La consommation de tokens, qui détermine la facturation de l'API, s'est établie comme suit :

  • MCP : 109 779 tokens
  • Bash + curl (cold) : 158 021 tokens
  • Bash + curl (warm) : 178 577 tokens

Les chiffres de l'outil CLI dédié n'ont pas été divulgués, mais les deux variantes Bash ont déjà coûté plus cher que le MCP.

Pourquoi le shell coûte plus cher que le protocole

Chaque outil Bash nécessitait environ 2 700 tokens de « prompts d'encadrement » (harness prompts) – les instructions qui indiquent à l'agent comment invoquer le shell en toute sécurité, analyser les résultats et gérer les erreurs. Ces prompts à eux seuls dépassent le poids total en tokens des sept schémas MCP combinés.

Le coût ne se limite pas à l'appel initial. En production, le même agent préchargeait 11 serveurs MCP au démarrage, consommant 19 800 tokens avant même la première requête de l'utilisateur. Ensuite, à chaque tour, l'agent relisait chaque schéma de chaque serveur ; ainsi, même une requête triviale comme « quelle heure est-il ? » payait le prix en tokens de toutes les autres descriptions d'outils.

Le drainage caché du chargement immédiat (eager loading)

Lorsqu'un agent LLM charge immédiatement (eager loading) chaque serveur d'outils à chaque tour, la facture de tokens gonfle de manière spectaculaire. L'expérience a montré que le coût « réel » de l'utilisation de Bash n'est pas la commande shell elle-même, mais le contexte environnant qui doit être transmis au modèle à chaque fois.

  • Les outils à coût fixe (schémas MCP) ajoutent un surcoût de tokens prévisible par tour.
  • Les charges utiles dynamiques (réponses curl) ajoutent une dette croissante qui évolue avec la longueur de la conversation et la taille des données.

Ainsi, un shell qui semble « gratuit » en surface impose en réalité une taxe de tokens plus importante et variable.

Ce que les ingénieurs en IA devraient faire ensuite

  • Adopter le chargement différé (lazy loading). Ne chargez un serveur d'outils que lorsque son schéma est réellement nécessaire, et conservez-le en mémoire entre les tours au lieu de le relire à chaque fois.
  • Traiter les schémas d'outils comme une dépense fixe par tour. Planifiez les budgets de tokens en fonction de la taille connue des définitions MCP plutôt que de supposer que les commandes shell sont gratuites.
  • Réévaluer l'hypothèse « shell = économique ». Analysez l'utilisation des tokens pour chaque chemin d'outil avant de vous engager dans une conception.
  • Privilégier les outils structurés pour les petits modèles. Même avec des fenêtres de contexte limitées, des schémas bien définis améliorent le raisonnement, la conversion d'unités et la gestion des erreurs.

En résumé : ce sont les règles économiques des tokens, et non la conception du protocole, qui dictent le coût. Gérer le moment et la manière dont les serveurs d'outils sont chargés peut économiser des dizaines de milliers de tokens par conversation, réduisant ainsi directement les dépenses opérationnelles.

Source : https://dev.to/clarkbw--/enabling-bash-costs-more-context-than-seven-mcp-tool-schemas-2h82