Bash-wrappers verbruikten meer tokens dan het zeven-schema Model Context Protocol (MCP) tijdens een run van 12 vragen, wat aantoont dat de shell niet de goedkope afkorting is die veel engineers denken. Tokenverbruik vertaalt zich direct in kosten voor large-language-model (LLM) agents die op schaal draaien.

Het experiment dat het beeld veranderde

Een ontwikkelaar mat vier manieren waarop een LLM-agent scheepsgegevens kon ophalen:

  • MCP – zeven tool-schema's die worden gehost via het Model Context Protocol.
  • Bash + curl (cold) – een ruwe shell-aanroep zonder extra prompting.
  • Bash + curl (warm) – dezelfde shell-aanroep plus systeem-prompts die veilig gebruik begeleiden.
  • Dedicated CLI-tool – een speciaal hiervoor gebouwde command-line interface.

Alle vier de methoden werden doorlopen in een gesprek van 12 vragen. Het tokenverbruik, dat de API-facturen bepaalt, kwam als volgt uit:

  • MCP: 109.779 tokens
  • Bash + curl (cold): 158.021 tokens
  • Bash + curl (warm): 178.577 tokens

De cijfers van de dedicated CLI-tool werden niet vrijgegeven, maar de twee Bash-varianten waren al duurder dan MCP.

Waarom de shell meer kostte dan het protocol

Elke Bash-tool vereiste ongeveer 2.700 tokens aan "harness prompts" – de instructies die de agent vertellen hoe de shell veilig kan worden aangeroepen, de output kan worden geparsed en fouten kunnen worden afgehandeld. Alleen deze prompts overstijgen het totale token-gewicht van alle zeven MCP-schema's gecombineerd.

De kosten bestaan niet alleen uit de initiële aanroep. In productie laadde dezelfde agent bij het opstarten al 11 MCP-servers voor, wat 19.800 tokens verbruikte voordat de eerste gebruikersvraag binnenkwam. Vervolgens las de agent bij elke beurt elk schema van elke server opnieuw in, waardoor zelfs een triviale vraag als "hoe laat is het?" de token-prijs betaalde van elke andere tool-beschrijving.

De verborgen drain van eager loading

Wanneer een LLM-agent bij elke beurt elke tool-server "eagerly" laadt, loopt de tokenrekening dramatisch op. Het experiment toonde aan dat de "echte" kosten van het gebruik van Bash niet de shell-opdracht zelf zijn, maar de omliggende context die elke keer naar het model moet worden verzonden.

  • Tools met vaste kosten (MCP-schema's) voegen een voorspelbare token-overhead per beurt toe.
  • Dynamische payloads (curl-responses) voegen een groeiende schuld toe die meeschaleert met de lengte van het gesprek en de grootte van de gegevens.

Een shell die aan de oppervlakte "gratis" lijkt, legt dus in werkelijkheid een grotere, variabele tokenbelasting op.

Wat AI-engineers nu moeten doen

  • Implementeer lazy loading. Laad een tool-server pas wanneer het schema daadwerkelijk nodig is, en houd deze in het geheugen tussen de beurten door in plaats van het elke keer opnieuw in te lezen.
  • Beschouw tool-schema's als een vaste kostenpost per beurt. Plan tokenbudgetten op basis van de bekende grootte van MCP-definities in plaats van ervan uit te gaan dat shell-opdrachten gratis zijn.
  • Heroverweeg de aanname "shell = goedkoop". Analyseer het tokenverbruik voor elk tool-pad voordat je een ontwerp vastlegt.
  • Gebruik gestructureerde tools voor kleine modellen. Zelfs met beperkte contextvensters verbeteren goed gedefinieerde schema's het redeneren, de eenheidconversie en de foutafhandeling.

De kern van het verhaal: token-economie, niet het protocolontwerp, bepaalt de kosten. Door te beheren wanneer en hoe tool-servers worden geladen, kun je tienduizenden tokens besparen per gesprek, wat de operationele kosten direct verlaagt.

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