Come usare questa checklist prima di scegliere un LLM gratuito per il codice
Scegliere un modello linguistico per programmare non dipende da quale ottiene più punti in un benchmark, ma da se si adatta al tuo flusso di lavoro reale. Questa checklist è pensata per essere percorsa dall’inizio alla fine con l’editor aperto: sono criteri che si notano dopo cinque minuti di utilizzo, non in una demo di marketing.
Un avviso preliminare, ed è importante: i piani gratuiti cambiano senza preavviso. I limiti di messaggi, le quote di token e i modelli disponibili vengono modificati frequentemente secondo la documentazione ufficiale di ciascun fornitore. Ciò che funziona oggi potrebbe non funzionare il mese prossimo, quindi verifica ogni punto al momento di sottoscrivere o registrarti.
Blocco 1: Modelli che puoi usare senza pagare e a cosa serve ciascuno
Non esiste un vincitore assoluto. Ci sono famiglie di modelli con profili diversi e conviene avere chiaro quale si adatta a ogni attività.
Modelli generalisti con livello gratuito generoso
- ChatGPT (versione gratuita): utile per spiegare frammenti, generare test e rifattorizzare singole funzioni. Nel piano gratuito l’accesso al modello più potente è solitamente limitato, quindi rende meglio in attività circoscritte che in progetti completi.
- Claude (piano gratuito): si distingue nella lettura di codice lungo e nel mantenere coerenza quando incolli più file. La sua quota gratuita è più restrittiva di altre, e questo si nota nelle sessioni di debug intense.
- Gemini (livello gratuito): buona integrazione con l’ecosistema Google e ampia finestra di contesto, il che aiuta quando lavori con repository di medie dimensioni.
- DeepSeek: modello con versione aperta e accesso web gratuito; rende bene in codice e matematica, anche se la latenza e la disponibilità del servizio sono state irregolari in momenti specifici.
- Qwen Coder e varianti aperte: pensati specificamente per il codice, con licenze che consentono l’esecuzione locale. Richiedono hardware, ma eliminano la quota.
Assistenti integrati nell’editor
- GitHub Copilot Free: offre un numero limitato di completamenti e richieste al mese. Serve per l’autocompletamento in linea, non per lunghe sessioni di chat.
- Codeium / Windsurf (livello gratuito): autocompletamento illimitato in molti casi e chat con quota. Buona opzione se quello che cerchi è non perdere il focus dall’editor.
- Continue o Cline con modelli gratuiti via API: permettono di collegare modelli aperti o livelli gratuiti di fornitori. Più configurazione, più controllo.
Blocco 2: Verifiche tecniche che fanno la differenza
Finestra di contesto: quanto codice ci sta davvero
Un modello con 200.000 token di contesto non significa che tu possa incollargli l’intero progetto e che vada bene. La qualità dell’attenzione cala in contesti molto lunghi, e molti piani gratuiti riducono quel limite. Prova con un file di 500 righe e osserva se mantiene i riferimenti incrociati tra funzioni.
Qualità in linguaggi che non sono Python o JavaScript
È qui che si rompono molti confronti. I modelli tendono a brillare in Python e JavaScript e a essere deboli in Kotlin, Swift, Rust o SQL complesso con dialetti specifici. Se lavori con COBOL, ABAP o linguaggi di nicchia, aspettati risultati irregolari e verifica sempre l’output.
Gestione delle dipendenze e delle versioni
Un errore frequente: il modello genera codice con API di versioni obsolete. Succede spesso con librerie che cambiano rapidamente (React, Next.js, Tailwind). Chiedigli esplicitamente la versione e verifica la documentazione ufficiale. Non c’è scorciatoia per questo.
Esecuzione del codice e sandbox
Alcuni assistenti eseguono il codice che generano in un ambiente isolato. È comodo per validare script, ma non sostituisce i tuoi test. Se il modello dice che il codice funziona perché lo ha eseguito, verifica che l’ambiente sia equivalente al tuo.
Blocco 3: Limiti reali dei piani gratuiti
- Quota per finestra temporale: molti servizi limitano i messaggi ogni X ore. Pianifica le sessioni lunghe di conseguenza.
- Modello degradato: il livello gratuito usa solitamente un modello inferiore a quello a pagamento. Confronta la qualità reale, non il nome.
- Privacy del tuo codice: verifica se il fornitore usa le tue conversazioni per l’addestramento. Nel codice proprietario questo è un fattore decisivo. Alcuni permettono di disattivarlo nelle impostazioni; altri no.
- Conservazione dei dati: per quanto tempo conservano i tuoi prompt e le risposte. Per progetti con clienti, questo può essere un problema legale.
- Disponibilità: i piani gratuiti hanno meno priorità nelle ore di punta. Se dipendi da esso per lavorare, abbi un piano B.
Blocco 4: Checklist pratica di validazione in 15 minuti
Prima di deciderti per uno, fai questa prova con lo stesso prompt su ogni candidato:
- Incolla una funzione con un bug sottile e chiedi di individuarlo senza riscriverla. Valuta se ci azzecca o inventa.
- Chiedi una spiegazione di un frammento di codice legacy senza contesto. Osserva se riempie i vuoti con invenzioni.
- Richiedi un test unitario per quella funzione ed eseguilo. Molti modelli generano test che passano per costruzione e non verificano nulla.
- Chiedi informazioni su un limite del modello stesso o su un argomento che non conosce. Un buon modello riconosce ciò che non sa.
- Chiedi codice con una versione specifica di una libreria e verifica la sintassi rispetto alla documentazione ufficiale.
Un caso concreto che illustra perché questo è importante: chiedendo a diversi modelli una funzione di parsing delle date in una libreria specifica, è frequente che restituiscano una sintassi che non esiste più nella versione attuale. Il codice sembra corretto, compila in un esempio isolato e fallisce in produzione. La verifica rispetto alla documentazione non è opzionale.
Blocco 5: Quando un LLM gratuito non ti serve
Questo non funziona per tutti gli scenari, e conviene dirlo chiaramente:
- Rifattorizzazioni grandi con dipendenze incrociate: la quota gratuita si esaurisce prima di finire e la coerenza si perde tra le sessioni.
- Codice sotto NDA o con dati sensibili: se non puoi garantire che non venga addestrato con i tuoi dati, non usarlo.
- Attività che richiedono esecuzione riproducibile: hai bisogno di test e CI, non di una chat che dice che funziona.
- Apprendimento da zero: un modello può darti una soluzione che non capisci. Senza basi, non ti accorgi di quando sbaglia.
Blocco 6: Strategia di uso combinato
In pratica, la maggior parte degli sviluppatori che conosco non ne usa uno solo. Combinano un assistente nell’editor per l’autocompletamento e le query rapide con una chat generalista per spiegazioni e debug. Questa combinazione copre più di puntare su un unico fornitore. Tieni conto della curva di apprendimento di ogni strumento: configurare un assistente locale con modelli aperti richiede tempo, ma elimina i limiti di quota.
Secondo analisi del settore, la qualità dei modelli aperti si è avvicinata a quella dei modelli chiusi nelle attività di codice, anche se con maggiori requisiti hardware. Se hai una GPU con memoria sufficiente, eseguire un modello locale è un’alternativa reale, non un esperimento.
Riepilogo della checklist
- Il modello comprende il tuo linguaggio principale di lavoro?
- La finestra di contesto copre i file che gestisci?
- Conosci il limite di messaggi e come influisce sulle tue sessioni?
- Sai se il tuo codice viene usato per l’addestramento?
- Hai validato l’output rispetto alla documentazione ufficiale?
- Hai un piano B se il servizio cade o cambia le sue condizioni?
- Riconosci quando il modello non sa e lo ammette?
Se rispondi affermativamente a queste domande con un candidato concreto, hai una scelta solida. Se fallisce in due o tre, continua a provare. Nessun modello gratuito sostituisce la revisione del codice, e nessuno ti garantisce che l’output sia corretto senza verificarlo.