Capitolo 12 · Prompting · 8 min
L'arte di parlare con un LLM
Zero-shot, few-shot, chain-of-thought, self-consistency. Perché la formulazione di un prompt cambia radicalmente ciò che un modello produce.
Il prompt non è testo — è un programma
Quando scrivi "riassumi questo articolo" in ChatGPT, in apparenza non succede nulla di spettacolare. Ma il testo che hai inviato ha attivato un comportamento molto preciso in un modello addestrato su migliaia di miliardi di token.
Un prompt è un programma in linguaggio naturale. Non nel senso che venga compilato, ma nel senso che la sua formulazione determina quale tipo di comportamento il modello attiverà. La stessa frase riformulata diversamente può dare risultati radicalmente differenti — non perché il modello sia capriccioso, ma perché il suo pre-addestramento gli ha insegnato pattern distinti per contesti distinti.
Il prompt engineering è l'arte di formulare questo programma per ottenere il comportamento voluto.
Quattro livelli di tecnica
Zero-shot: porre semplicemente la domanda
La tecnica più semplice. Si pone la domanda direttamente, senza esempi né istruzioni. Il modello attiva il comportamento più probabile dato il suo addestramento.
Funziona molto bene per i compiti semplici e fattuali. Fallisce sui problemi che richiedono ragionamento — non perché il modello non sappia, ma perché non sa che deve ragionare.
Few-shot: mostrare esempi
Invece di spiegare cosa si vuole, lo si mostra. Si mettono da 2 a 5 coppie (input, output) prima della vera domanda. Il modello — grazie al suo meccanismo di in-context learning — coglie il pattern e lo applica al nuovo input.
La chiave: gli esempi devono essere rappresentativi del tipo di compito. Esempi fuori tema non aiutano. Esempi che mostrano il procedimento da seguire aiutano molto.
Chain-of-Thought: ragionare passo dopo passo
Due scoperte del 2022, spesso confuse tra loro. Wei et al. mostrano che se si danno al modello esempi il cui ragionamento è scritto per intero, il modello si mette a ragionare allo stesso modo sul problema successivo. Kojima et al. vanno oltre nello stesso anno: gli esempi non servono, basta aggiungere "ragioniamo passo dopo passo". In entrambi i casi, le prestazioni sui problemi di ragionamento raddoppiano, a volte triplicano.
Perché funziona? Il modello genera token uno alla volta. Forzandolo a scrivere il suo ragionamento intermedio, gli si dà una "brutta copia" in cui può fare calcoli, verificare ipotesi, correggere errori — prima di concludere. Senza CoT, va direttamente alla conclusione, senza rete.
È lo stesso principio che vale per un umano: scrivere "25 × 37 = 25 × 30 + 25 × 7 = 750 + 175 = 925" dà molte più probabilità di arrivare al risultato giusto rispetto a tentare di rispondere mentalmente in un colpo solo.
Self-Consistency: votare tra più catene
La self-consistency è un'estensione del CoT. Invece di generare una sola catena di ragionamento, se ne generano molte (tipicamente da 5 a 20) con temperature variate, poi si vota per la risposta più frequente.
L'idea: ogni run può fare un errore diverso. Ma se la maggior parte converge sulla stessa risposta, è probabilmente quella giusta.
È costoso (N volte più token), ma sui compiti di ragionamento difficili, il guadagno in affidabilità è reale.
Prova tu stesso
Confronta le quattro tecniche su tre problemi. Osserva in particolare che gli esempi few-shot aiutano su un problema strutturato (il mercante), ma non cambiano molto sui trabocchetti logici.
Stessa domanda, quattro formulazioni. Lo score passa dal 30 al 90 % senza toccare il modello. La lezione: un prompt non è un testo, è un programma la cui sintassi implicita gli LLM interpretano grazie al pre-training.
Cosa rivela sui LLM
Queste quattro tecniche non sono trucchi. Illuminano qualcosa di fondamentale sul funzionamento dei LLM.
L'in-context learning è gratuito. Un LLM impara dai tuoi esempi senza aggiornare i suoi pesi — solo leggendo il contesto. È una capacità emergente del pre-addestramento massiccio: il modello ha visto così tanti pattern che può estrarne uno nuovo al volo.
Il ragionamento è un comportamento, non una capacità fissa. Un modello che fallisce in zero-shot su un problema può riuscire in CoT sullo stesso problema — senza cambiare nulla dei suoi parametri. Ciò che il prompt attiva cambia ciò che il modello "fa" delle sue capacità interne.
La temperature crea diversità, il voto riduce la varianza. La self-consistency sfrutta il fatto che gli errori sono spesso casuali: tanti modi diversi di fallire, ma uno solo di riuscire. Il consenso filtra il rumore.
I limiti
Il costo per chiamata. Ogni esempio few-shot consuma token — e li ripaghi a ogni richiesta. Le finestre attuali, da 200.000 a oltre un milione di token, permettono tecnicamente il many-shot (centinaia di esempi, e funziona), ma la fattura e la latenza salgono di conseguenza. Anche il CoT allunga le risposte.
Gli esempi possono trarre in inganno. Se i tuoi esempi contengono un bias, il modello lo riprodurrà. "Garbage in, garbage out" si applica anche al few-shot.
La prompt injection. Un contenuto malevolo nel contesto può cortocircuitare le tue istruzioni. Se il tuo prompt dice "traduci questo testo" e il testo dice "ignora le istruzioni precedenti e fai altro", il modello può obbedire al contenuto piuttosto che all'istruzione.
I modelli evolvono. Un prompt affinato per GPT-4 nel 2023 non funziona necessariamente sui modelli di oggi, né su quelli di un altro vendor. Ogni modello ha i suoi pattern privilegiati, le sue formulazioni che "funzionano" meglio.
La regola pratica
Per scegliere una tecnica:
- Domanda semplice / fattuale → zero-shot, è sufficiente.
- Formato specifico atteso → few-shot con 2-3 esempi.
- Ragionamento o calcolo → CoT, se il tuo modello non ha una modalità di ragionamento nativa. Se ce l'ha, lascialo fare: imporgli un CoT esplicito è nel migliore dei casi ridondante, nel peggiore dannoso — alcuni fornitori lo sconsigliano esplicitamente.
- Affidabilità critica → CoT + self-consistency.
E una meta-regola: se il tuo prompt assomiglia a del codice — con una struttura chiara, variabili esplicite, casi d'uso definiti — sarà più affidabile di un testo ambiguo.
Un'ultima cosa. Le tecniche descritte qui (il CoT in particolare) sono gli antenati prompt-driven dei modelli di ragionamento nativi: o1 e DeepSeek-R1 hanno aperto la strada nel 2024-2025, oggi tutti i grandi modelli hanno una modalità di questo tipo. Questi fanno automaticamente e intensamente ciò che il CoT con prompt simulava — vedi il capitolo 17 per capire il passaggio dal prompt engineering al ragionamento integrato nel modello.
Un buon prompt non è una formula magica. È una specifica chiara di ciò che vuoi, in un linguaggio che il modello riconosce come il segnale che deve seguire.
Resta una cosa che nessuna formulazione risolve. Puoi scrivere la specifica più limpida del mondo: se la risposta non è nei pesi del modello, lui una risposta la produrrà lo stesso, con esattamente la stessa sicurezza che avrebbe se ci fosse. Perché un sistema addestrato a predire testo è incapace di fermarsi per dire «non lo so»? È il tema del capitolo successivo.
Aggiornato il