Prompt per ChatGPT e modelli simili

Prompt per ChatGPT e modelli simili

Avete mai provato a comunicare con un’altra persona e sentirvi come se parlaste due lingue diverse? Bene, sappiate che ora dobbiamo affrontare un’altra sfida: comunicare con le macchine. Sì, avete capito bene, dobbiamo trovare il modo di farci capire dalle intelligenze artificiali, che cercano di parlare la nostra stessa lingua.

Se pensate che comunicare con i vostri amici o colleghi sia difficile, aspettate di vedere quanto è complicato creare dei prompt per l’AI. In questo articolo, esploreremo insieme come la creazione di prompt rappresenti una sfida sempre più grande, poiché dobbiamo trovare il modo di far capire alle macchine ciò che vogliamo, senza lasciare spazio a fraintendimenti. Quindi, mettetevi comodi e preparatevi ad addentrarvi nel mondo della comunicazione uomo-macchina!

Un mondo in costante e veloce evoluzione

Negli ultimi tempi, l’utilizzo dei modelli generativi del linguaggio è diventato sempre più diffuso e ciò ha portato ad un aumento dell’attenzione sulla creazione di prompt efficaci. In rete si trovano molte guide ed indicazioni su come scrivere prompt che possano produrre risultati soddisfacenti, ed esistono numerosi esempi di prompt già utilizzati in passato. Tuttavia, il mondo dei modelli generativi del linguaggio è in costante evoluzione e ciò significa che ci sono ancora molte incertezze riguardo a quale sia il miglior modo per scrivere prompt efficaci.

Quello che funziona oggi potrebbe non funzionare più tra qualche mese, a seconda dell’evoluzione dei modelli di AI.

Si sono già coniate diverse espressioni che identificherebbero nuove professioni. Ad esempio, il “prompt engineer”, il “prompt designer” o il “prompt creator”.

A questo proposito nascono corsi su queste nuove discipline e molti si chiedono se sia conveniente frequentarli per imparare a creare prompt efficaci. Senza dubbio, un corso del genere può essere utile per avvicinarsi al mondo dei modelli generativi del linguaggio e imparare le tecniche di base. Tuttavia, il miglior modo per imparare a creare prompt efficaci è sperimentare di persona e avvalersi dei suggerimenti di altri via via che i modelli si perfezionano. L’esperienza e la pratica possono essere il modo migliore per apprendere le competenze necessarie per creare prompt che possano generare testo di qualità.

Probabilmente gli attuali modelli generativi, pur offrendo performance inaspettate e spettacolari, restano ancora immaturi. È necessario un monitoraggio umano dell’output in quanto questi modelli non garantiscono la veridicità delle informazioni e neppure un’esecuzione affidabile delle istruzioni date.

I prompt del tipo “agisci come…”, “fai finta di essere…”

In rete è possibile trovare molti esempi di prompt che definiscono il ruolo che deve assumere l’AI per poter generare testi o risposte in un certo stile o modalità. Questi prompt sono spesso formulati in modo preciso e dettagliato, in modo da guidare l’AI nella generazione di testi.

Agisci come un giornalista, scrivi…

Agisci come un SEO, scrivi…

Agisci come un esperto di…, scrivi…

Andiamo oltre…

Se lo scopo è quello di ottenere informazioni rilevanti e specifiche su un certo argomento l‘approccio conversazionale con un chatbot è il migliore in quanto possiamo richiedere di volta in volta approfondimenti su aspetti delle risposte precedentemente date dall’AI. D’altra parte se si intende realizzare un algoritmo in grado di svolgere determinate funzioni impiegando le API di un dato modello è meglio avvalersi di prompt predefiniti e attentamente studiati.

Tutte le regole che si tentano di stabilire in questo campo potrebbero essere invalidate dai prossimi sviluppi dei modelli di AI, quindi è meglio definire delle linee guida o un orientamento di massima alla creazione dei prompt.

Di seguito prenderemo come riferimento i modelli GPT (Generative Pre-trained Transforme) offerti da OpenAI

Spazio all’inventiva o no?

Innanzitutto bisogna distinguere il caso in cui vogliamo che l’AI sia creativa e abbia un certo margine di inventiva dal caso in cui pretendiamo una maggiore determinatezza nelle risposte. Oltre ai parametri diversi di “temperature” da impostare nei due casi (bassa creatività 0.2/0.3; alta creatività : 0,7/0,8 nel caso dei modelli GPT), nel prompt va indicato con chiarezza il nostro intento di ottenere una risposta che si attenga ai fatti veri, alla realtà e che non sia un’invenzione. Inoltre è possibile istruire l’AI in modo che se non è a conoscenza di fatti reali risponda : “non so” o con un’espressione equivalente.

Un unico prompt o una serie di prompt?

Al momento sembra che frazionando l’istruzione in più steps vi siano maggiori probabilità che il modello le rispetti tutte. Inoltre il frazionamento potrebbe comprendere delle istruzioni di controllo nelle quali si indica all’AI di analizzare la risposta precedente e di trasformarla ulteriormente in modo che si adegui meglio alla nostra richiesta.

Gestione dell’output

Un’incipit molto utile è “scrivi…”. Se usiamo l’istruzione “elenca…” è facile che l’AI ci restituirà un elenco puntato o con dei trattini o numerato. Se vogliamo che la risposta abbia una certa forma dobbiamo indicarlo con chiarezza. Ad esempio:
“genera un elenco numerato degli argomenti….”
In certi casi può essere utile precisare se vogliamo che per ogni elemento vada accapo oppure se vogliamo che siano scritti uno di seguito all’altro separati da una virgola o da un altro separatore.

Se l’output sarà gestito da un software è necessario indicare la forma che vogliamo che assuma. Per esempio un array, una lista Python, notazione JSON, una tabella, HTML, file csv, etc. In alcuni modelli è importante indicare di non aggiungere alcun commento e di mostrare i dati solo nel formato indicato. L’algoritmo che riceverà il risultato dovrà fare un controllo di forma ed eventualmente filtrarlo usando le espressioni regolari.

Generazione di testi e articoli

Nel caso in cui vogliamo che venga generato un testo dobbiamo precisare le seguenti caratteristiche:

  • L’eventuale ruolo che deve assumere l’AI, oppure in alternativa ordinare semplicemente di scrivere
  • L’obiettivo del testo e l’argomento
  • Il pubblico di riferimento che leggerà quel testo
  • L’eventuale intento di ricerca che quel testo deve soddisfare in un lettore che cerca informazioni su internet
  • Le regole di composizione e il livello di approfondimento
  • Lo stile e sentiment del contenuto
  • La struttura del testo: quanti e quali paragrafi, lunghi o brevi, etc.

Un secondo prompt potrebbe far riscrivere il testo apportando delle correzioni: uso di sinonimi, cambiamento di stile o sentiment, formattazione, etc. In questo caso può essere necessario indicare all’AI di non effettuare altre modifiche se non quelle indicate.

Attenzione all’esattezza della richiesta. Se, per esempio chiediamo al modello di scrivere un testo sul tema del motore elettrico, l’AI probabilmente scriverà un testo sulle “questioni” che riguardano i motori elettrici sulle quali s’incentra il dibattito della produzione e commercializzazione dei motori elettrici. Se, chiediamo di scrivere un testo sul motore elettrico, invece, l’AI parlerà di com’è fatto un motore elettrico e di vari aspetti tecnici. Per ovviare ad eventuali fraintendimenti è sempre possibile precisare meglio quali aspetti di un certo argomento deve spiegare. Se non si conoscono, è meglio far generare una specie di sommario:

Genera un elenco di argomenti importanti che dovrebbero essere approfonditi nell’ambito di un corso di —-. Esponili usando una frase breve in forma di domanda.

oppure

Genera un elenco di argomenti importanti che dovrebbero essere approfonditi in un manuale di —-. Esponili usando una frase breve in forma di domanda.

Successivamente si potrà chiedere di fornire una trattazione o spiegazione breve o lunga dei singoli argomenti.

Un modo per arricchire gli articoli è quello di utilizzare metafore, esempi e altre figure retoriche. Ecco alcuni esempi:

Crea una metafora adatta al seguente argomento:…

Fai un esempio di …

Formula delle domande retoriche inerenti il seguente argomento:…

E’ possibile rendere i testi più interessanti indicando all’AI di trovare un problema o una qualche criticità inerente un certo argomento e di esporre la soluzione ed un esempio reale (verificare che lo sia davvero)

Prompt per programmatori

Probabilmente uno dei punti di forza dei modelli GPT è la capacità di interpretare i codici e di fornire assistenza alla programmazione in moltissimi linguaggi: Php, Java, Python, C++, Javascript, SQL, Ruby, Swift, HTML/CSS, etc.

Ecco alcune delle principali istruzioni impiegabili nell’ambito di un approccio conversazionale con il chatbot:

Controlla il seguente codice, trova eventuali errori e suggerisci un modo per correggerli:…
Riscrivi il seguente codice in forma migliore:..
Spiega il seguente codice riga per riga:..
Aggiungi dei commenti che spiegano il seguente codice riga per riga:..
Spiega il seguente errore:..
Fai un esempio di codice che sia in grado di….
Qual è l’istruzione nel linguaggio… che permette di…
Trova l’espressione regolare in grado di identificare … (es: un indirizzo email o una URL)
Trova l’espressione regolare in grado di identificare il seguente schema:…
(esempio: le parole racchiuse tra parentesi tonde)
Quale libreria o modulo nel linguaggio … serve per…
Quali sono i metodi dell’oggetto… nel linguaggio …
Fai un esempio di codice nel linguaggio… che impiega il metodo …
Scrivi un’istruzione SQL in grado di…

A volte, nonostante il modello confermi la correttezza del codice, capita che alcuni errori permangano. In questo caso è utile sottoporre gli output di errore all’AI sino a che questa non propone la soluzione che funziona. Non bisogna aver timore ad insistere, infatti questi modelli sono programmati per trovare una soluzione ai problemi dell’utente e cercheranno di proporre sempre nuove opzioni o alternative quando si pongono nuovamente le stesse richieste o richieste simili.

Insistere e chiedere di fare esempi sono due approcci molto utili.

Semantica e similitudini

I modelli generativi del linguaggio sono in grado di stabilire similitudini formali o semantiche tra le parole e le frasi quindi possono essere usati per sviluppare motori di ricerca intelligenti. Ecco un paio di esempi di prompt:

scrivi 10 parole il cui significato è molto simile a quello della parola ….

scrivi 10 parole formalmente e letteralmente molto simili alla parola… senza badare al loro significato …

Compiti di matematica, fisica e altre materie scientifiche

Quando si chiede ai modelli GPT di eseguire calcoli o dimostrazioni di teoremi è fondamentale seguirli passo dopo passo e non fidarsi di un lungo output che sembra risolvere un intero problema complesso.

Una prima richiesta potrebbe essere teorica:

Spiega qual è il procedimento da seguire per …

oppure

Spiega quali sono i passaggi matematici necessari per …

la seconda richiesta potrebbe essere quella di fare un esempio

Fai un esempio indicando tutti i passaggi per…

se la soluzione del quesito richiede diversi passaggi può essere utile suddividerli in blocchi e assicurarsi che esegua correttamente gli steps indicati nelle precedenti risposte.

Non influenzare le risposte dicendo che c’è un errore o esprimendo giudizi, piuttosto se si hanno dubbi su alcune parti della procedimento seguito dall’AI è meglio chiedere spiegazioni su quella parte o insistere affinché ripeta quel particolare procedimento per controllare che sia corretto.

Spesso il modello si scusa per gli errori commessi, ma a volte si scusa anche per presunti errori non realmente commessi. I prompt in questi casi non dovrebbero essere affermazioni, ma domande che inducano l’AI a scegliere tra un numero ristretto di opzioni alternative. Se fiutiamo un’incoerenza con la teoria in quello che scrive potremmo proporre un prompt in cui si chiede di controllare il suo risultato (lo riportiamo) alla luce della teoria (la riportiamo). Se, infine, sviluppiamo per conto nostro un calcolo, possiamo sottoporlo al chatbot per un controllo.

Come si è potuto facilmente comprendere da questo breve articolo, per ottenere buoni risultati bisogna essere in due a lavorarci: l’utente e l’AI. Quest’ultima da sola, al momento, non è sufficiente a garantire la buona qualità dei risultati. I modelli di AI sono da considerarsi come “compagni di lavoro” di cui si devono conoscere pregi e difetti. Solo cooperando si trova un equilibrio.

Un video per scoprire alcuni semplici prompt utilizzabili con il software HumAI v. 1.0

Altre informazioni utili su come conversare con l’AI