Few-shot prompting: come insegnare all'AI un compito con 3 esempi
Prova a spiegare a parole come scrivi l'oggetto delle tue email. "Breve, ma informativo. Professionale, ma non freddo. Senza saluti inutili." Dopo tre aggettivi hai già un problema: ognuno li interpreta a modo suo, e il modello lo stesso. Ora prova l'altra strada: incolli tre oggetti di email che hai scritto davvero e chiedi di scriverne un quarto "nello stesso stile". Nel secondo caso il risultato, quasi sempre, è già quello giusto al primo colpo.
Questa differenza ha un nome, few-shot prompting, ed è una delle tecniche con il miglior rapporto tra fatica e risultato in tutto il prompting. Non richiede codice, funziona con qualsiasi assistente (ChatGPT, Claude, Gemini) e si impara in dieci minuti. In questa guida vediamo cosa significa davvero, quanti esempi servono, come sceglierli e dove la tecnica smette di funzionare.
Cos'è, in parole semplici
Nel linguaggio tecnico un "shot" è un esempio. Un prompt zero-shot non contiene esempi: dai solo l'istruzione ("classifica questa recensione come positiva o negativa"). Un prompt one-shot ne contiene uno, few-shot ne contiene alcuni, di solito tra due e cinque.
La struttura è sempre la stessa: istruzione breve, poi coppie "input → output desiderato", poi il caso nuovo lasciato a metà. Il modello, che è una macchina per continuare pattern, riconosce lo schema e lo prosegue.
Non è un trucco da prompt engineer: è il comportamento che ha reso famosi i modelli linguistici moderni. Il paper su GPT-3 (Language Models are Few-Shot Learners, 2020) mostrava proprio questo: un modello abbastanza grande riesce ad affrontare compiti nuovi con poche dimostrazioni scritte nel testo, senza alcun riaddestramento. Quando dai degli esempi in un prompt, stai usando quella capacità.
Un esempio concreto: classificare messaggi
Immagina di dover smistare i messaggi che arrivano al supporto di un negozio online. Prompt zero-shot:
Classifica questo messaggio come: ordine, reso, fattura, altro. "Buongiorno, ho ricevuto la scatola ma manca il caricabatterie."
Il modello risponderà qualcosa di sensato, ma potrebbe scrivere "Reso", "Categoria: reso", "Questo messaggio riguarda un reso" o mettere "altro". Per un uso occasionale va bene. Per smistarne cento, il formato ballerino è un problema.
Versione few-shot:
Classifica i messaggi in una sola parola: ordine, reso, fattura, altro.
Messaggio: "Quando arriva il mio pacco? Sono passati 8 giorni." Categoria: ordine
Messaggio: "Vorrei restituire le scarpe, sono troppo strette." Categoria: reso
Messaggio: "Mi serve la fattura intestata alla mia azienda." Categoria: fattura
Messaggio: "Buongiorno, ho ricevuto la scatola ma manca il caricabatterie." Categoria:
Ora il modello risponde con una parola, nello stesso formato, e lo farà per tutti i messaggi successivi. Hai ottenuto tre cose con un solo gesto: il formato (una parola minuscola), le categorie ammesse e il confine tra una categoria e l'altra.
Quanti esempi servono
La documentazione ufficiale di Anthropic sul prompting con esempi indica tre-cinque esempi come punto di partenza per ottenere buoni risultati. È un'indicazione pratica, non una legge fisica: per un formato semplice ne bastano due, per un compito con molte sfumature possono servirne di più.
Più utile della quantità è la qualità. La stessa documentazione chiede agli esempi di essere rilevanti (somigliare al caso d'uso reale), vari (coprire anche i casi limite, così il modello non impara schemi involontari) e ben delimitati (separati dalle istruzioni, per esempio con tag come <example>). Dieci esempi mediocri valgono meno di tre curati.
Come scegliere gli esempi giusti
Includi i casi ambigui, non solo quelli facili
Se classifichi recensioni in positive e negative, l'esempio che insegna di più non è "Fantastico, lo ricomprerei!". È "Consegna lentissima, ma il prodotto è ottimo": lì mostri al modello dove passa il confine e cosa fare nei casi misti. Un set di esempi solo facili produce un modello sicuro di sé proprio dove non dovrebbe esserlo.
Varia le situazioni, tieni uguale il formato
Gli esempi devono differire nel contenuto (messaggi lunghi e corti, toni diversi, casi rari) ma essere identici nella forma: stessa struttura, stessa punteggiatura, stesse maiuscole. Il modello imita tutto, comprese le sbavature. Se un esempio finisce con il punto e un altro no, non stai dando un'istruzione, stai creando rumore.
Attenzione all'ordine e al bilanciamento
Se tre esempi su quattro hanno la stessa risposta, il modello tende a scivolare verso quella. Bilancia le categorie e mescola l'ordine: non mettere tutti i "reso" in fila.
Cosa conta davvero negli esempi (una scoperta curiosa)
Uno studio del 2022 (Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?, Min e colleghi) ha dato un risultato che sembra assurdo: in alcuni compiti di classificazione, sostituire a caso le etichette corrette degli esempi cambiava poco le prestazioni dei modelli testati. A contare di più erano altre cose: mostrare quali sono le etichette possibili, mostrare che tipo di testo arriva in ingresso, e far vedere il formato della risposta.
Per te, che usi l'AI per lavorare, la lezione pratica è questa: gli esempi servono soprattutto a trasmettere forma e confini del compito. Non significa che puoi mettere esempi sbagliati (il risultato è uno studio su certi modelli e certi compiti, non una licenza a essere sciatti): significa che se il tuo problema è il formato, gli esempi lo risolvono quasi sempre; se il problema è che il modello non sa un fatto, non gli bastano gli esempi, gli serve l'informazione.
Quando il few-shot non basta
Ci sono tre situazioni in cui gli esempi non risolvono.
Il compito richiede ragionamento. Se devi far calcolare, pianificare o confrontare, gli esempi con la sola risposta finale aiutano poco. In quel caso funziona meglio mostrare anche il ragionamento passo passo (la tecnica chain-of-thought, che nel percorso è il capitolo successivo) oppure chiederlo esplicitamente.
Servono dati che il modello non ha. Nessun esempio insegna a un modello i listini della tua azienda. Quelli vanno inseriti nel contesto come documento, o recuperati con un sistema dedicato (il RAG, che incontri al Livello 3).
Gli esempi occupano troppo spazio. Ogni esempio consuma contesto. In una conversazione lunga o con documenti pesanti, cinque esempi ben scelti sono meglio di venti. Se il compito è ripetitivo e a volume alto, a un certo punto conviene chiedersi se sia ancora il prompt lo strumento giusto, ma è una domanda da livello avanzato.
Un trucco: fatti aiutare dal modello
Se non hai esempi sotto mano, puoi chiedere al modello di generarli: "scrivimi sei esempi di messaggi di assistenza, due per categoria, includendo almeno due casi ambigui". Poi correggili tu: quella è la parte che non va delegata. Un esempio generato e non controllato diffonde i difetti del modello nelle risposte future.
Puoi anche rovesciare il processo: dai tre tuoi esempi e chiedi "quali regole implicite vedi in questi esempi?". Spesso la risposta ti mostra una regola che applicavi senza saperlo, e puoi trasformarla in un'istruzione esplicita.
Prova subito
Scegli un compito ricorrente con un formato preciso: oggetti di email, titoli di documenti, nomi di file, descrizioni di prodotto, righe di un registro. Poi:
- Chiedi al modello di svolgerlo senza esempi su un caso reale e salva la risposta.
- Scrivi tre esempi curati, di cui uno ambiguo, tutti con lo stesso formato.
- Rifai la richiesta su cinque casi nuovi e confronta con il primo risultato.
Annota quante righe di istruzioni hai dovuto togliere perché gli esempi le rendevano inutili. Se il risultato ti convince, salva il prompt completo nella tua libreria: è già uno strumento di lavoro riutilizzabile.
Per approfondire c'è il capitolo sul few-shot della dispensa del Livello 1; per le fonti primarie, la documentazione ufficiale di Anthropic sul prompting con esempi e il paper su GPT-3 sono i testi da cui nasce la tecnica.