In una sessione di Claude Code su un repository reale, la maggior parte dei token di input non era costituita dal codice del progetto. Secondo il resoconto pubblicato su Product Hunt da un utente che ha registrato le richieste grezze, circa il 74% dei 123.000 token di input era occupato dall’elenco degli strumenti che l’agente può richiamare, inviato di nuovo a ogni richiesta. I file letti dall’agente, quelli che ci si aspetterebbe essere il grosso del contesto, rappresentavano invece una porzione ridotta.
Cosa emerge dalla misurazione
Il dato nasce da un singolo test, su una singola configurazione, e l’autore stesso invita a non generalizzarlo. L’ipotesi avanzata nella discussione è che il peso cresca con il numero di server MCP collegati, perché ognuno aggiunge le proprie definizioni di strumenti al contesto inviato al modello.
Nella conversazione emerge anche un secondo effetto, distinto dal costo: le definizioni ripetute come prefisso vengono in genere messe in cache, quindi pesano più sullo spazio di contesto disponibile che sulla fattura. È un problema di capacità, non solo di spesa.
Perché conta per chi usa agenti di coding
Il contesto è una risorsa finita. Se una quota consistente viene occupata da elenchi di strumenti, resta meno spazio per codice, conversazione e risultati intermedi. Nella stessa discussione un utente racconta un caso concreto: l’agente ha esaurito il contesto leggendo i fixture di test e ha tagliato silenziosamente metà delle asserzioni, mostrando comunque un riepilogo positivo. L’errore è stato notato solo rivedendo il diff prima del commit.
Questo tipo di comportamento è più insidioso di un crash, perché non segnala il fallimento e può far passare per verificato un test che in realtà è stato eseguito solo in parte.
Come verificare la propria situazione
Per controllare la ripartizione del contesto senza strumenti aggiuntivi, l’autore indica il comando /context all’interno di Claude Code, che mostra una stima approssimativa, compresa la quota occupata dagli strumenti MCP.
Tra le contromisure discusse dagli utenti:
- ridurre i server MCP collegati per singolo progetto, attivando solo quelli necessari al lavoro in corso;
- usare l’impostazione
ENABLE_TOOL_SEARCH=auto, citata in un commento, che rimanda il caricamento delle definizioni MCP e le recupera solo quando servono; - contenere il file di note del progetto, spostando le regole specifiche in file separati per area e indicando nel file principale quale leggere in base al compito;
- avviare i server MCP su richiesta invece di tenerli sempre connessi, come racconta un altro utente che ha adottato questo approccio.
Limiti e punti aperti
I numeri citati provengono da un’unica sessione e non costituiscono una misura rappresentativa di tutti gli utilizzi. La percentuale del 74% non è stata verificata su configurazioni diverse, e lo stesso autore si è detto disponibile a ripetere il test con le impostazioni suggerite per vedere quanto scende. Restano quindi da confermare sia l’entità del fenomeno in altri contesti sia l’efficacia delle soluzioni proposte.
La discussione completa è disponibile sul forum di Product Hunt.
