Blog

20 trucchi per utilizzare al meglio i coding agent e risparmiare token

2026-06-29

Una guida pratica ricca di consigli e strategie per ottimizzare l'uso degli agenti AI di programmazione e ridurre il consumo di token.

  • AI
  • Coding Agents
  • Produttività
  • Token Saving
  • Programmazione

20 trucchi per utilizzare al meglio i coding agent e risparmiare token

Categoria: Intelligenza Artificiale | Livello: Intermedio


L'avvento dei coding agent (come Cursor, Claude Engineer, Antigravity, GitHub Copilot e simili) ha rivoluzionato il modo in cui scriviamo codice. Tuttavia, con l'aumento della potenza di questi strumenti, cresce anche il consumo di token (e di conseguenza i costi e i tempi di attesa).

Saper dialogare con un agente non significa solo ottenere il codice corretto, ma farlo nel modo più efficiente possibile. In questo articolo esploreremo 20 trucchi e buone pratiche per ottimizzare l'uso dei coding agent e ridurre drasticamente il consumo di token.


1. Applica il Single Responsibility Principle ai Prompt

Non chiedere mai all'agente di implementare cinque funzionalità diverse in un colpo solo. Oltre a generare risposte enormi (sprecando token di output), rischi che l'agente si perda o commetta errori.

  • Approccio errato: "Aggiungi l'autenticazione, crea la tabella utenti, scrivi i test e crea la pagina di login."
  • Approccio corretto: "Crea solo lo schema SQL per la tabella utenti." (Fatto questo, procedi con lo step successivo).

2. Evita di riscrivere interi file (Usa edit di precisione)

Quando chiedi modifiche, specifica all'agente di non restituire l'intero file aggiornato se questo è molto lungo. Molti agenti moderni usano tool di editing mirati (come replace_file_content), ma se usi interfacce chat standard, esigi solo i blocchi modificati o una patch/diff.

  • Frase chiave da usare: "Mostrami solo le righe modificate o usa una notazione diff, non riscrivere tutto il file."

3. Riferimenti di linea esatti (Line Ranges)

Se il tuo file ha 1000 righe e l'errore è nella funzione di validazione, non inviare l'intero file. Fai riferimento a un intervallo specifico di righe (es. utils.py#L45-L80). Questo permette all'agente di caricare nel contesto solo la porzione interessata, risparmiando migliaia di token di input.

4. Configura meticolosamente i file di esclusione (.gitignore e .cursorrules)

Gli agenti leggono la struttura della cartella e spesso indicizzano i file. Assicurati che directory pesanti come node_modules/, vendor/, .git/, file di build, log e database locali siano ignorati. Aggiungi un file di configurazione specifico per l'agente (come .cursorrules o .agents) per definire filtri di ricerca rigidi.

5. Pulisci la cronologia della chat (Reset di contesto)

Più la conversazione si allunga, più token consumi ad ogni nuovo messaggio, poiché l'intera cronologia viene inviata nuovamente come contesto.

  • Best practice: Quando l'agente ha completato con successo una sotto-task o se noti che inizia a confondersi, apri una nuova chat/sessione facendo un riassunto dello stato attuale.

6. Sfrutta il Prompt Caching

I moderni LLM (come Claude 3.5 Sonnet) supportano il Prompt Caching. Se mantieni lo stesso blocco di codice statico (es. una libreria o la documentazione delle API) all'inizio del prompt, le chiamate successive riutilizzeranno la cache riducendo i costi di input fino al 90%. Evita di modificare continuamente le parti iniziali del prompt per non invalidare la cache.


7. Limita la profondità di scansione dei comandi di ricerca

Quando usi tool come grep o comandi di ricerca di file, non cercare genericamente nella root del progetto se sai già in quale cartella cercare.

  • Esempio: Cerca in /src/components invece che in /.
# ❌ Evita ricerche globali
grep -r "authHeader" .

# ✅ Sii specifico
grep -r "authHeader" ./src/services/

8. Usa i Sub-Agenti per compiti di ricerca isolati

Se il tuo agente supporta i sub-agenti (come Antigravity), delega i compiti di ricerca massiva (es. analizzare la documentazione o scansionare i log) a un sub-agente read-only. Il sub-agente farà il lavoro sporco in una sessione separata e ti riporterà solo il riassunto o la soluzione finale, evitando di inquinare il contesto principale.

graph TD
    A[Agente Principale] -->|Delega Ricerca| B(Sub-Agente Read-Only)
    B -->|Scansione Documentazione| C[(File di Log e Docs)]
    B -->|Ritorna solo la sintesi| A

9. Pre-elabora e taglia i log di errore

Invece di copiare e incollare 500 righe di stack trace dal terminale, seleziona solo la parte rilevante (la riga del file in cui è avvenuto l'errore e il messaggio d'eccezione principale). Inviare log prolissi consuma token inutilmente e distrae l'attenzione del modello dal vero bug.

10. Definisci le regole di stile globalmente

Non ripetere le tue preferenze di formattazione (es. "usa ES6, indentazione a 2 spazi, niente commenti ovvi") in ogni prompt. Usa i file di configurazione globali o del progetto (es. AGENTS.md o .agents/rules) per definire queste linee guida una sola volta.


Confronto delle strategie di risparmio token

Strategia Risparmio Stimato Complessità Impatto sulla qualità
Reset del contesto Medio-Alto Bassa Positivo (evita allucinazioni)
Line Ranges (Righe esatte) Alto Media Positivo (focus mirato)
Prompt Caching Altissimo Media Neutro
Esclusione file (.gitignore) Alto Bassa Positivo (velocizza le ricerche)
Single Responsibility Prompt Medio Bassa Altissimo (codice più pulito)

11. Scrivi file di scaffold o script temporanei (Scratchpad)

Se devi testare un algoritmo o una chiamata API complessa, chiedi all'agente di scrivere uno script isolato in una cartella di scratch (es. scratch/test_api.py). Testarlo in isolamento evita di dover caricare e comprendere l'intera architettura del progetto principale ad ogni modifica.

12. Fornisci esempi di codice (Few-Shot Prompting)

Invece di descrivere a parole una logica di formattazione complessa, fornisci un breve esempio di input e output atteso. I modelli sono straordinariamente efficienti nell'apprendere dagli esempi (few-shot learning), riducendo le spiegazioni testuali prolisse.

13. Evita le immagini se non strettamente necessario

Se il tuo agente supporta l'input multimodale (immagini), ricorda che una singola immagine può consumare da 1.000 a oltre 10.000 token a seconda della risoluzione. Invia screenshot solo per allineare il design UI/UX, non per mostrare righe di codice che potresti copiare come testo.

14. Esegui test mirati anziché completi

Quando modifichi un file, non far girare l'intera suite di test del progetto tramite l'agente. Chiedi di eseguire solo il test specifico per quel modulo. Questo riduce l'output generato nel terminale e accelera i tempi di feedback.

# ❌ Troppo generico
npm run test

# ✅ Mirato
npm run test -- src/components/Button.test.js

15. Scegli il modello giusto per la task

Non tutte le operazioni richiedono i modelli di punta (e costosi) come Claude 3.5 Sonnet o GPT-4o.

  • Per compiti ripetitivi, refactoring di base, test strutturali o ricerca di file, usa modelli più leggeri ed economici (es. Gemini Flash o GPT-4o-mini).
  • Riserva i modelli avanzati per la progettazione architetturale iniziale o per il debugging di problemi complessi.

16. Chiedi risposte sintetiche ed evita i convenevoli

I messaggi di cortesia dei modelli ("Certamente! Ecco come fare...", "Spero che questo ti aiuti!") consumano token. Puoi istruire l'agente ad evitarli.

  • Istruzione da inserire nelle regole: "Sii conciso. Evita introduzioni e convenevoli. Mostra direttamente la soluzione o il codice."

17. Utilizza formati compatti per le risposte

Se devi farti elencare dei dati, richiedi un formato compatto (come liste puntate o tabelle markdown essenziali) anziché lunghi paragrafi descrittivi.

18. Controlla la sintassi localmente prima di chiedere aiuto

Prima di dare in pasto all'agente un file che non compila, passa il codice in un linter locale (es. ESLint, Ruff). Spesso l'errore è un banale punto e virgola o una parentesi graffa mancante. Risolvere questi micro-bug da soli evita di sprecare intere iterazioni e token con l'AI.

19. Sfrutta i timer asincroni anziché il polling attivo

Se lanci un comando che richiede tempo (es. un build complesso o un deployment), non chiedere all'agente di controllare continuamente lo stato in un loop. Usa i tool di scheduling o i timer asincroni dell'agente (es. schedule) per risvegliarlo solo quando il processo è effettivamente concluso.

20. Valida il piano d'azione prima della scrittura

Per modifiche complesse a livello di architettura, chiedi all'agente di produrre prima un piano d'azione in formato di elenco puntato. Valida e correggi il piano prima che l'agente inizi a scrivere codice. Modificare un'idea in una lista di 5 punti costa pochissimi token; riscrivere 10 file modificati a causa di un malinteso ne costa decine di migliaia.


Conclusioni

L'efficienza nell'uso degli agenti AI è una competenza fondamentale per il programmatore moderno. Ottimizzare il contesto, usare l'editing di precisione e strutturare i prompt in modo mirato non solo riduce i costi, ma rende le risposte dell'agente più veloci e incredibilmente più accurate.


Articolo pubblicato su filippobilardo.it — Tutti i diritti riservati