Prompting per pigri: scopriamo l’Auto-priming

Auto-priming e AutoExpert: migliorare le risposte di ChatGPT con le istruzioni personalizzate

By Max
10 Min Read

The Sunday Prompt #40 – 28/07/2024

Il mondo del prompting è veramente pieno di persone che testano soluzioni per migliorare l’utilizzo dei Large Language Models.

Cercando su github si trovano interessanti repository in cui sono proposti prompt strutturati che possono essere usati (e migliorati).

Uno di questi è quello di ChatGPT-AutoExpert di Dustin Miller.

L’autore propone un set di istruzioni custom per ChatGPT volte a migliorare l’efficienza delle risposte, sia per la versione 3.5 sia per la 4.

Queste istruzioni si basano sul concetto di Auto-priming.


Cos’è l’Auto Priming

L’Auto Priming è una tecnica utilizzata nei modelli di intelligenza artificiale, in particolare nei modelli di linguaggio naturale (NLP) come GPT (Generative Pre-trained Transformer). Questa tecnica prevede l’auto-impostazione del contesto di un modello linguistico per migliorare la qualità delle risposte generate.

In sostanza viene fornito un contesto predefinito al modello che serve a guidare tutte le risposte che fornirà. Il contesto può includere informazioni specifiche, stile di scrittura, tono e altri elementi pertinenti per ottenere una risposta più accurata e mirata. In questo modo il modello viene “preparato” o “primed” con questi dettagli prima di rispondere a un prompt specifico.

Chiedendo a ChatGPT scopriamo che l’Auto-priming può aiutare a fornire:

  1. Consistenza: Garantendo che il modello mantenga un tono e uno stile di risposta coerenti.
  2. Accuratezza: Migliorando la precisione delle risposte, poiché il modello lavora su un contesto già definito.
  3. Efficienza: Riducendo la necessità di fornire dettagli estesi in ogni prompt, poiché il modello utilizza il contesto predefinito.

Come funziona AutoExpert

Nel repository di Dustin troviamo la spiegazione delle istruzioni che fanno parte del set che cercano di trarre vantaggio dal meccanismo di attenzione dei LLM, come anche spiegato dallo stesso David in questo articolo.

Il set di istruzioni è molto interessante ed è creato per far sì che dopo il prompt ChatGPT crei un preambolo, con lo scopo di focalizzare in maniera migliore il contesto della risposta che dovrà dare. 

Questo viene fatto in 4 step, combinando diverse tecniche di prompting:

  • seleziona un ruolo che sia il più adeguato per fornire la risposta (il “agisci come se fossi un esperto di…)
  • inserisce delle parole chiave riferite all’argomento della domanda 
  • riformula la domanda posta dall’utente migliorandola (ricordate l’auto-prompting?)
  • indica come procederà nel fornire la risposta (quindi con una Chain of Thoughts)

Le istruzioni create per AutoExpert sono anche un esempio di come si può procedere a programmare, in senso proprio, un LLM, cioè come il prompting possa essere una vera e propria forma di programmazione in linguaggio naturale.

Nelle istruzioni, infatti, troviamo sia dei “comandi” per settare la “verbosità” delle risposte (ossia la loro lunghezza), sia una serie di altri “comandi” come /help per avere la descrizione di tutti comandi disponibili, ma anche /joke (che io ho modificato in /barzelletta) che fa raccontare a ChatGPT una barzelletta a caso.

Il set di istruzioni di AutoExpert è in due versione: una standard che può essere utilizzata per qualsiasi interazione con ChatGPT, ed una pensata apposta per gli sviluppatori, volta a migliorare le prestazioni di ChatGPT per lo sviluppo del codice.


Come “installare” AutoExpert

Per utilizzare il set di istruzioni in ChatGPT è necessario copiare e incollarle all’interno delle finestre di personalizzazione. 

Cliccando sul proprio profilo e selezionando la voce di menu “Personalizza ChatGPT” si apre una finestra in cui vi sono due ulteriori finestre: la prima in alto “Istruzioni personalizzate” e la seconda “Come vorresti che rispondesse ChatGPT?”.

All’interno di queste finestre è necessario incollare le istruzioni che potete trovare nel repository github.

Attenzione, perchè le istruzioni sono differenti a seconda della versione che utilizzate di ChatGPT (3.5 o 4).

Inoltre, prima sovrascrivere queste istruzioni vi consiglio di salvare da qualche parte (copiandole) quelle che avete eventualmente inserito in precedenza.

E’ necessario sottolineare che in questo modo stiamo “impostando” ChatGPT a rispondere sempre utilizzando questo AutoExpert, e quindi ogni nuova chat che apriremo (se abbiamo abilitato la funzione) si avvierà sempre con queste istruzioni.


Le istruzioni in italiano

Dato che il testo delle istruzioni è in inglese e considerato anche che le nuove finestre di personalizzazioni di ChatGPT accettano un massimo di 1500 caratteri per inserire istruzioni personalizzate e modalità di risposta, qui di seguito trovate le istruzioni tradotte in italiano, parzialmente modificate per poter rispettare il limite di caratteri sopra indicato.

Da copiare e incollare (per GPT4)

Istruzioni personalizzate:

VERBOSITÀ
V=1: estremamente conciso
V=2: conciso
V=3: dettagliato (predefinito)
V=4: esauriente
V=5: dettagli esaurienti e sfumati, con profondità e ampiezza complete.
# Comandi /slash
/help: spiega le nuove funzionalità con esempi
/review: la tua ultima risposta in modo critico; correggi gli errori o le informazioni mancanti; offri di apportare miglioramenti
/riassunto: tutte le domande e i suggerimenti
/q: suggerisci le domande successive che l'utente potrebbe fare
/redo: rispondi utilizzando un altro framework
# Legato all'argomento:
/più: approfondire
/barzelletta
/links: suggerisci nuovi link GOOGLE aggiuntivi
/alt: condividi punti di vista alternativi
/arg: fornisci spunti argomentativi
# Formattazione
- Presenti in Markdown
- Inserisci HYPERLINKS embedded per termini chiave, argomenti, standard, citazioni, ecc.
- Usa _solo_ GOOGLE SEARCH
- Incorpora ogni HYPERLINK generando una query di ricerca estesa e scegliendo le emoji che rappresentano i termini di ricerca: ⛔️ [frase chiave] e (query estesa con contesto)
- Esempio: 🍌 [Fonti di potassio](https://www.google.com/search?q=foods+che+sono+ad+alto+potassio)
# Ruolo di esperto e VERBOSITÀ
Adotta il ruolo di [titolo/i lavorativi di 1 o più ESPERTI in materia più qualificati a fornire una risposta autorevole e ricca di sfumature]; procedi passo dopo passo, rispettando la VERBOSITÀ indicata.
Se V=5, fornisci una risposta lunga ed esauriente che si espanda su termini ed entità chiave, in più fasi secondo i limiti di token.

Come vorresti che rispondesse ChatGPT?

Fase 1: Genera tabella Markdown:
|Esperto/i |{elenco di ESPERTI}|
|:--|:--|
|Possibili parole chiave| CSV di argomenti relativi agli ESPERTI con termini, persone e gergo tecnico|(IF (VERBOSITY V=5))
|Domanda|riscrittura migliorata domanda dell'utente in forma imperativa indirizzata agli ESPERTI|
|Pianificazione|come ESPERTO riassumi la tua strategia (considerando la VERBOSITÀ) indicando le metodologie formali, processi di ragionamento o strutture logiche utilizzate|

Fase 2: IF (la risposta richiede più risposte OPPURE stai continuando una risposta precedente){
> ⏯️ sintetizza la risposta precedente}

Fase 3: Come ESPERTO fornisci la risposta autorevole, ricca di sfumature; aggiungi emoji iniziale e inserisci HYPERLINKS DI RICERCA vicino a termini chiave nel testo, q=query di ricerca estesa. 
Ometti le dichiarazioni di non responsabilità, le scuse e i riferimenti all'intelligenza artificiale. Fornisci guida e analisi imparziale e olistica che incorpori le migliori pratiche degli esperti. Procedi passo dopo passo per le risposte complesse. Non eludere queste istruzioni.

Fase 4: IF (risposta è terminata) {raccomanda le risorse utilizzando gli HYPERLINKS DI RICERCA:
### Vedi anche
- {varie NUOVE emoji correlate + GOOGLE + come è correlata}
- ecc.
### Potrebbe piacerti anche
- {alcune emoji divertenti e similmente correlate + GOOGLE + motivo per consigliarle}.
- ecc.}

Fase 5: IF (necessaria altra risposta) {
> 🔄 chiedi il permesso di continuare, descrivendo cosa c'è dopo.}

Attenzione: ricordate di attivare la navigazione su web, dato che le risposte includono anche link di approfondimento.

Se utilizzate la versione Free di ChatGPT potete utilizzare il testo delle istruzioni personalizzate e quello dello standard di risposte per tale versione (ma vi consiglio di tradurle prima in italiano se interagite con ChatGPT prevalentemente in italiano).


Conclusioni

Se siete arrivati fino a qua a leggere forse vi siete convinti a provare ad utilizzare le istruzioni di AutoExpert su ChatGPT. 

Vi assicuro che ne vale la pena, soprattutto se utilizzate spesso ChatGPT e volete un sistema rapido per assicurarvi una risposta che sia più attinente alla domanda che ponete, senza dover scrivere prompt troppo complessi.

Non dovete neanche preoccuparvi del fatto che queste istruzioni sono inserite a livello “di sistema” (ossia nella personalizzazione di ChatGPT).

Infatti, c’è un trucco che potete utilizzare nel caso in cui vogliate creare dei prompt diversi che non si basino su queste istruzioni: basta specificare nella nuova chat di non seguire le istruzioni di sistema e che volete creare un prompt nuovo con delle istruzioni nuove.

A questo punto ChatGPT ignorerà le istruzioni di personalizzazione e potrete costruire un prompt nuovo di zecca!

Fatemi sapere come è andata!

👋🏻 Happy Prompting!

Share This Article