Con il termine di prompt engineering si intendono quell’insieme di tecniche atte ad utilizzare in modo particolarmente efficiente i modelli linguistici dell’intelligenza artificiale. Le tecniche adottate si basano su competenze ingegneristiche per comprendere e sfruttare al meglio i modelli linguistici di grandi dimensioni. A ciascuno di noi è capitato di porre domande a ChatGPT ed intuire quasi immediatamente che una buona impostazione della richiesta permette l’ottenimento di una risposta più completa sia attraverso l’esplicitazione di una domanda con molti elementi utili a circoscrivere la questione sia attraverso perfezionamenti successivi resisi necessari dopo il primo quesito.

Il prompt engineering non riguarda unicamente la progettazione di buone richieste, ma include una vasta entità di tecniche utili per rapportarsi con i Large Language Models come se fossero un consulente a supporto delle proprie necessità. Fra tutte le tecniche classificate ne è presente una denominata “zero-shot” che sfruttando l’addestramento già presente su un grande numero di dati consente a LLM di fornire una risposta senza ulteriori esempi di riferimento. Ad esempio, scrivendo su ChatGPT un prompt come:

Classificare il testo in neutro, negativo o positivo.

Testo: Ritengo che il tempo domani sarà bello.

otteniamo in risposta Positivo. L’addestramento del modello riconosce il “sentimento” e senza ulteriori esempi fornisce una risposta corretta. Quando il modello ha necessità di qualche riferimento in più, si parla di “few-shots”. Se ad esempio scrivessi un prompt di questo tipo:

Il film era bello // positivo

Il film era abbastanza brutto // negativo

Mi è piaciuto il film, ma la conclusione era carente // neutro

Ho amato il film //

starei impostando alcune indicazioni utili per classificare l’ultima frase sulla base delle 3 precedenti. Fra l’altro nel processo di comprensione, il modello comprende che il sentimento è presente dopo la doppia barra al termine della riga. Tramite le tecniche di prompt engineering si comprende come il risultato non sia una risposta intelligente a fronte di una domanda “umana”, al contrario è un risultato di tipo statistico che ha come dato di partenza una semplice sequenza di parole ricorrenti e significative in rete.