Gli wrapper Bash hanno consumato più token rispetto al Model Context Protocol (MCP) a sette schemi in un test di 12 domande, dimostrando che la shell non è la scorciatoia economica che molti ingegneri pensano. L'uso dei token si traduce direttamente in costi per gli agenti basati su modelli linguistici di grandi dimensioni (LLM) che operano su larga scala.

L'esperimento che ha ribaltato la situazione

Uno sviluppatore ha misurato quattro modi in cui un agente LLM può recuperare dati sulle navi:

  • MCP – sette schemi di strumenti ospitati tramite il Model Context Protocol.
  • Bash + curl (cold) – una chiamata shell grezza senza prompt aggiuntivi.
  • Bash + curl (warm) – la stessa chiamata shell più i prompt di sistema che guidano un uso sicuro.
  • Strumento CLI dedicato – un'interfaccia a riga di comando creata appositamente.

Tutti e quattro sono stati testati attraverso una conversazione di 12 domande. Il consumo di token, che determina le fatture delle API, è risultato il seguente:

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

I dati dello strumento CLI dedicato non sono stati divulgati, ma le due varianti Bash hanno già superato l'MCP in termini di spesa.

Perché la shell è costata più del protocollo

Ogni strumento Bash richiedeva circa 2.700 token di "harness prompts" – le istruzioni che dicono all'agente come invocare la shell in modo sicuro, analizzare l'output e gestire gli errori. Solo questi prompt superano il peso totale dei token di tutti e sette gli schemi MCP combinati.

Il costo non è solo la chiamata iniziale. In produzione, lo stesso agente caricava preventivamente 11 server MCP all'avvio, consumando 19.800 token prima ancora che arrivasse la prima query dell'utente. Successivamente, ad ogni turno, l'agente rileggeva ogni schema da ogni server, quindi anche una richiesta banale come "che ore sono?" pagava il prezzo in token di tutte le altre descrizioni degli strumenti.

Il drenaggio nascosto dell'eager loading

Quando un agente LLM esegue l'eager loading di ogni server di strumenti ad ogni turno, il conto dei token si gonfia drasticamente. L'esperimento ha dimostrato che il costo "reale" dell'uso di Bash non è il comando shell in sé, ma il contesto circostante che deve essere trasmesso al modello ogni volta.

  • Strumenti a costo fisso (schemi MCP) aggiungono un overhead di token prevedibile per turno.
  • Payload dinamici (risposte curl) aggiungono un debito crescente che scala con la lunghezza della conversazione e la dimensione dei dati.

Pertanto, una shell che sembra "gratuita" in superficie impone in realtà una tassa sui token più elevata e variabile.

Cosa dovrebbero fare ora gli ingegneri dell'IA

  • Adottare il lazy loading. Caricare un server di strumenti solo quando il suo schema è effettivamente necessario e mantenerlo in memoria tra i vari turni invece di rileggerlo ogni volta.
  • Trattare gli schemi degli strumenti come una spesa fissa per turno. Pianificare i budget dei token in base alla dimensione nota delle definizioni MCP, invece di dare per scontato che i comandi shell siano gratuiti.
  • Rivalutare le assunzioni "shell = economica". Analizzare l'uso dei token per ogni percorso di strumento prima di impegnarsi in un design.
  • Mantenere strumenti strutturati nel loop per i modelli piccoli. Anche con finestre di contesto limitate, schemi ben definiti migliorano il ragionamento, la conversione di unità e la gestione degli errori.

In sintesi: l'economia dei token, non il design del protocollo, detta i costi. Gestire quando e come vengono caricati i server degli strumenti può risparmiare decine di migliaia di token in una conversazione, riducendo direttamente la spesa operativa.

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