Articoli

L’importanza del Prompt Engineering per guidare il comportamento dei modelli di AI generativa

di Paolo Roverselli, Junior Digital Product Manager di Excellence Innovation

Dopo l’uscita di GPT3, ad inizio 2023, si è assistito ad un boom nell’uso dell’AI Generativa. Questo è dovuto soprattutto grazie ad una continua e rapida evoluzione di questi modelli creati dai principali player del settore tecnologico quali, ad esempio, Google con il lancio di Bard, Amazon con il lancio di Bedrock e OpenAI con il lancio di ChatGPT, il Tool più famoso ed utilizzato sul web, di cui tutti parlano.

Per poter sfruttare a pieno le potenzialità di questi strumenti innovativi, diventa di cruciale importanza la capacità da parte dell’utente di saper indirizzare il modello attraverso un prompt efficace. Questo ha stimolato la nascita di una nuova area di ricerca: il Prompt Engineering.

Che cos’è il Prompt Engineering e suggerimenti sulla metodologia

Il Prompt Engineering è il processo tramite il quale l’utente fornisce un testo scritto in linguaggio naturale per guidare gli strumenti di AI Generativa con lo scopo di generare i risultati e le risposte attese. Il prompt ha il compito di colmare la distanza tra l’utente utilizzatore del tool di AI Generativa ed il modello linguistico, rendendo più efficaci ed efficienti questi strumenti.

I modelli menzionati come ChatGPT e Bard sono stati costruiti per saper rispondere anche ad un prompt di una sola parola, ma non è questa la modalità di sfruttare l’efficacia di tali strumenti.

Prima di raccontare alcuni consigli sulla metodologia di costruzione di prompt, è importante precisare che esistono due differenti tipologie di prompt:

  1. User Prompt (descritto nell’articolo);
  2. System Prompt.

La principale differenza tra le due tipologie di prompt riguarda le istruzioni che vengono passate al modello.

Il System Prompt è formato da un insieme di linee guida e input iniziale che orienta il modello AI su cosa generare o su quale risposta fornire all’utente mentre lo User Prompt è una richiesta precisa fornita dall’utente per comunicare quale tipo di output desidera ricevere.

Inoltre, vorrei specificare che i suggerimenti elencati di seguito si riferiscono principalmente a modelli text-to-text (esistono anche modelli text-to-image, text-to-audio, text-to-video che non saranno trattati in questo articolo) e la metodologia citata all’interno di questo articolo è ottimale per lo stadio di evoluzione dei modelli di AI Generativa ad Aprile 2024.

Per poter costruire un corretto Prompt Engineering serve innanzitutto scrivere delle istruzioni chiare. Più il contesto e le specifiche fornite sono chiari, più il modello è in grado di fornire risposte specifiche e pertinenti.
Ad esempio, si può specificare di fornire un limite di caratteri testuali, chiedere di essere piuttosto sintetico oppure di essere molto verboso nella risposta, chiedere di utilizzare un determinato tono per scrivere l’output.

Allo stesso tempo, anche l’impersonificazione di una persona (es. “Sei un Private Banker…” oppure “Sei un Consulente Finanziario …”) aiuta lo strumento ad aumentare il contesto della richiesta fatta da parte dell’utente.

Sono tutti suggerimenti utili per migliorare la qualità e la precisione dell’output fornita dall’applicativo.

Questo consiglio può essere scontato, ma pensiamo alla differenza di informazioni che siamo abituati a chiedere ad un motore di ricerca come Google rispetto ad un modello di AI Generativa. L’utente è abituato a passare informazioni estremamente sintetiche, a volte utilizzando solo le parole chiave mentre sui modelli generativi è il contrario.

Un secondo consiglio è quello di fornire testi esemplificativi direttamente all’interno del prompt (se l’applicativo non permette l’upload di documenti) per trasmettere da un lato dettagli più specifici sull’argomento, dall’altro ridurre la possibilità che possano verificarsi delle allucinazioni (Questo fenomeno si verifica quando un modello di linguaggio avanzato, come un chatbot generativo o uno strumento di visione artificiale, percepisce pattern o oggetti inesistenti, generando risposte insensate o completamente inesatte[1]).

Successivamente, è fondamentale sottolineare che se viene passata una richiesta piuttosto complessa ed articolata, il rischio di ricevere un output errato è più elevato. È importante quindi scomporre il task in step più semplici, per guidare in modo dettagliato il modello a fornire una risposta più accurata.

Questo processo in termine tecnico viene definito “Chain of Thought”.

Ad esempio, si può istruire il modello di AI Generativa a rispondere in modo guidato chiedendogli prima di analizzare lo step A, successivamente di affrontare lo step B ed infine di fornirmi una risposta per lo step C (es. “Come prima cosa mi elenchi le categorie di prodotti di investimento per una persona che vuole allocare i propri risparmi; Successivamente mi analizzi quali modalità di investimento possono essere adatte ad un investitore con orizzonte temporale di investimento lungo periodo ed un profilo di rischio moderato; Infine mi fornisci i vantaggi e gli svantaggi di investire in quella categoria di prodotto”).

A questo proposito, un ulteriore suggerimento è quello di guidare il modello tramite un ragionamento più articolato per fornirti una risposta.

Prendendo l’esempio di ChatGPT, è possibile creare e sfruttare lo storico della conversazione che il modello stesso incorpora ad ogni richiesta successiva fatta dall’utente.

Questo permette di poter indirizzare e guidare il modello tramite molteplici scambi di domanda e risposta, fino ad ottenere una risposta completa e piuttosto dettagliata, che lo strumento non sarebbe stato in grado di fornire all’interno di un unico prompt.

Vantaggi e alcune riflessioni sul Prompt Engineering

Le metodologie sopra fornite per costruire un prompt efficace portano sicuramente diversi vantaggi e aumentano le probabilità che lo strumento fornisca la risposta desiderata. Sicuramente un ottimo prompt permette di migliorare la qualità dell’output ed è fondamentale per sfruttare a pieno le potenzialità di questi strumenti.

Inoltre, se l’utente è in grado di descrivere in modo dettagliato un problema complesso, si può guidare lo strumento attraverso il ragionamento, gestendo allo stesso tempo la complessità della richiesta per ottenere una risposta precisa, riducendo allo stesso tempo il rischio di allucinazioni.

Tuttavia, è importante sottolineare che un prompt costruito e funzionante per un modello di AI Generativa come ChatGPT, può non essere altrettanto efficace per un modello di AI Generativa differente come Bard.

Inoltre, bisogna ricordare il rischio di fraintendimenti della richiesta da parte del modello, poiché l’utente può essere incredibilmente preciso nel fornire un prompt completo ed esaustivo ma questi strumenti non garantiscono sempre la correttezza e la completezza delle risposte, tant’è che ChatGPT riporta una nota sotto la chat “ChatGPT can make mistakes. Consider checking important information” come tutela nei confronti degli utenti utilizzatori.


[1] https://legalblink.it/post/intelligenza-artificiale-allucinazioni-rischi-legali.html#:~:text=Hai%20mai%20sentito%20parlare%20delle,risposte%20insensate%20o%20completamente%20inesatte.

ALTRO DA EXCELLENCE INNOVATIONPodcast eTalk: “L’efficienza del Cloud, indispensabile per le aziende”

Whistleblowing

L’Istituto del “Whistleblowing” è riconosciuto come strumento fondamentale nell’emersione di illeciti; per il suo efficace operare è pero cruciale assicurare una protezione adeguata ed equilibrata ai segnalanti. In tale ottica, al fine di garantire che i soggetti segnalanti siano meglio protetto da ritorsioni e conseguenze negative, e incoraggiare l’utilizzo dello strumento, in Italia è stato approvato il D.Lgs. n.24 del 10 marzo 2023 a recepimento della Direttiva (UE) 2019/1937 riguardante la protezione delle persone che segnalano violazioni.

Il decreto persegue l’obiettivo di rafforzare la tutela giuridica delle persone che segnalano violazioni di disposizioni normative nazionali o europee, che ledono gli interessi e/o l’integrità dell’ente pubblico o privato di appartenenza, e di cui siano venute a conoscenza nello svolgimento dell’attività lavorativa.

Segnalazione

(*) Campi obbligatori