Prompt Engineering 🤖

Prompt Engineering 🤖

Se trovi questo articolo troppo complesso o vuoi una guida più semplice e introduttiva, leggi anche 👉 AI generative for Dummies

Benvenuti nel magico mondo del Prompt Engineering! 🎩✨
Qui esploreremo come interagire con i modelli di linguaggio in modo efficace, con tanti esempi pratici. Preparatevi a diventare maestri nell’arte di “parlare” con l’AI.

Vantaggi del Prompt Engineering

Un prompt engineering efficace offre numerosi vantaggi:

  • Prestazioni migliorate: prompt ben strutturati generano output più accurati, pertinenti e informativi.
  • Riduzione dei bias e delle risposte dannose: controllando gli input, si può mitigare il rischio di output inappropriati.
  • Maggiore controllo e prevedibilità: puoi influenzare il comportamento dell’AI e ottenere risposte coerenti.
  • Esperienza utente migliorata: prompt chiari rendono l’interazione più intuitiva e soddisfacente.

Il prompt engineering non è solo una competenza tecnica, ma rappresenta una leva strategica per l’innovazione e la competitività aziendale. Integrare il prompt engineering nei workflow e nei processi decisionali permette di:

  • Creare un vantaggio competitivo sfruttando al meglio le potenzialità dell’AI generativa.
  • Scalare l’adozione dell’AI in tutta l’azienda, adattando i prompt ai diversi casi d’uso e reparti.
  • Promuovere un’AI affidabile, sicura e in linea con gli obiettivi di business.
  • Massimizzare il valore di business e il ROI, ottimizzando le risposte dell’AI per processi critici e customer experience.

La scelta del foundation model più adatto e la progettazione di prompt efficaci sono elementi chiave per garantire risultati di qualità e favorire l’adozione responsabile dell’AI.

Temperature

La “temperature” è un parametro fondamentale che controlla la creatività e la variabilità delle risposte generate dall’AI. Un valore basso (ad esempio 0.1) rende l’output più deterministico e prevedibile, ideale per compiti dove è richiesta precisione o coerenza. Un valore alto (ad esempio 0.9) aumenta la creatività e la varietà delle risposte, utile per brainstorming, generazione di idee o scrittura creativa. Sperimentare con diversi valori di temperature permette di adattare il comportamento del modello alle esigenze specifiche del task.

Esempio di prompt:

1
Genera un titolo per un articolo tecnico su Kubernetes.

Risposta con temperature 0.1:

1
Introduzione a Kubernetes: Guida Completa

Risposta con temperature 0.9:

1
Kubernetes: Orchestrazione Magica per i Tuoi Container

Top-K e Top-P

Questi parametri influenzano la selezione delle parole che l’AI può generare, controllando la diversità e la qualità dell’output.

  • Top-K limita la scelta alle K parole più probabili: un valore basso rende la risposta più prevedibile, mentre un valore alto aumenta la varietà.
  • Top-P (nucleus sampling) considera solo le parole la cui probabilità cumulativa raggiunge la soglia P, permettendo una selezione più flessibile e naturale rispetto a Top-K.

Questi parametri sono particolarmente utili per bilanciare creatività e coerenza, soprattutto in compiti di generazione testuale complessa.

Esempio di prompt:

1
Completa la frase: Il cloud computing è…

Risposta con top-k 1:

1
una tecnologia per la gestione dei dati.

Risposta con top-p 0.9:

1
una rivoluzione nella gestione delle risorse IT.

General Prompting / Zero Shot

Il “zero shot” consiste nel chiedere all’AI di svolgere un compito senza fornire esempi o spiegazioni aggiuntive. È la modalità più semplice e diretta di interazione, ma può produrre risultati meno precisi se il compito è ambiguo o complesso. È utile per richieste generiche, domande dirette o quando si vuole testare la conoscenza generale del modello.

Esempio di prompt:

1
Spiega cos'è il cloud computing.

Risposta:

1
Il cloud computing è un modello di erogazione di servizi informatici tramite Internet, che consente di accedere a risorse come server, storage e applicazioni senza doverle possedere fisicamente.

Fornire Esempi: One-shot & Few-shot

Questi approcci prevedono di fornire uno (one-shot) o più (few-shot) esempi di domanda e risposta all’AI, per guidarla verso il tipo di output desiderato. Sono particolarmente efficaci per compiti specifici, stili di risposta particolari o quando si vuole ridurre l’ambiguità. Più esempi si forniscono, maggiore sarà la capacità del modello di adattarsi al contesto e produrre risposte coerenti con le aspettative.

Fornire uno o più esempi aiuta il modello a replicare lo stile, la struttura e il formato desiderato. Più esempi = maggiore coerenza.

Gli esempi sono fondamentali per:

  • Guidare il modello verso il tipo di risposta atteso.
  • Ridurre l’ambiguità, soprattutto in compiti complessi o poco comuni.
  • Ottenere output più pertinenti, coerenti e in linea con le aspettative.

Come strutturare gli esempi

  1. Presenta chiaramente il formato domanda/risposta.
  2. Mantieni coerenza nello stile e nella struttura degli esempi.
  3. Inserisci esempi rappresentativi del task che vuoi svolgere.

Esempio pratico (one-shot)

1
2
Esempio: Qual è la capitale della Francia? Risposta: Parigi
Domanda: Qual è la capitale della Germania?

Risposta:

1
Berlino

Esempio pratico (few-shot)

1
2
3
4
5
6
7
8
9
Esempio 1: 
Domanda: Qual è la capitale della Francia?
Risposta: Parigi

Esempio 2:
Domanda: Qual è la capitale della Germania?
Risposta: Berlino

Domanda: Qual è la capitale dell’Italia?

Risposta attesa:

1
Roma

Consigli

  • Gli esempi dovrebbero essere semplici, chiari e direttamente collegati al compito richiesto.
  • Se vuoi uno stile particolare (formale, informale, tecnico, ecc.), assicurati che gli esempi lo riflettano.
  • Puoi usare esempi anche per mostrare formati di output specifici (liste, JSON, tabelle, ecc.).

Quando usare gli esempi

  • Quando il compito è ambiguo o può essere interpretato in modi diversi.
  • Quando desideri un output con uno stile o formato preciso.
  • Per compiti di classificazione, estrazione, generazione di testo strutturato o traduzione.

Fornire esempi è una delle strategie più efficaci per migliorare la qualità delle risposte dell’AI e ottenere risultati più prevedibili e controllabili.

System Prompting

Il system prompt serve a impostare il comportamento generale dell’AI, definendo il tono, lo stile, il ruolo o le regole da seguire durante la conversazione. È come fornire un briefing iniziale che orienta tutte le risposte successive. Questa tecnica è fondamentale per ottenere coerenza, rispetto delle policy aziendali o per simulare ruoli specifici (ad esempio, assistente, esperto, tutor).

Esempio di prompt:

1
Rispondi in modo formale e dettagliato alla seguente domanda: Quali sono i vantaggi dell'energia solare?

Risposta:

1
L'energia solare offre numerosi vantaggi, tra cui la riduzione delle emissioni di CO2, la diminuzione dei costi energetici a lungo termine e la possibilità di produrre energia in modo sostenibile e rinnovabile.

Role Prompting

Con il role prompting si assegna all’AI un ruolo specifico (ad esempio, insegnante, consulente, recruiter) per ottenere risposte più mirate e pertinenti.

Vantaggi del role prompting:

  • Elicitare competenze specifiche
  • Adattare lo stile della risposta
  • Stimolare risposte creative
  • Ottenere risposte più pertinenti e personalizzate
  • Migliorare la contestualizzazione rispetto al pubblico di riferimento
  • Simulare diversi punti di vista o ruoli professionali
  • Guidare il livello di dettaglio e il linguaggio utilizzato

Esempio di prompt:

1
Sei un insegnante di matematica. Spiega il teorema di Pitagora a uno studente delle scuole medie.

Risposta:

1
Il teorema di Pitagora afferma che in un triangolo rettangolo la somma dei quadrati dei cateti è uguale al quadrato dell'ipotenusa. In formula: a² + b² = c².

Indicare il ruolo da interpretare permette di ottenere risposte più adatte al contesto, ma attenzione a:

  • Bias
  • Risposte stereotipate
  • Output fuori tema

Contextual Prompting

Fornire dettagli e contesto aggiuntivo all’AI migliora notevolmente la qualità delle risposte. Specificare informazioni come il livello di conoscenza dell’utente, lo scenario d’uso o le preferenze di output aiuta il modello a comprendere meglio la richiesta e a generare risposte più pertinenti, chiare e utili.

Esempio di prompt:

1
L'utente è un principiante e vuole sapere come funziona una rete Wi-Fi. Spiega in modo semplice.

Risposta:

1
Una rete Wi-Fi permette ai dispositivi di collegarsi a Internet senza fili. Basta avere un router Wi-Fi che trasmette il segnale e un dispositivo (come uno smartphone o un computer) che si connette a quel segnale.

Step-back Prompting

Questa tecnica consiste nel chiedere all’AI di rivedere, riflettere o migliorare una risposta già fornita. È particolarmente utile per problemi complessi, ambigui o quando si desidera una seconda opinione. Permette di ottenere risposte più complete, approfondite e di stimolare l’autocorrezione del modello.

Esempio di prompt:

1
Rivedi la tua risposta alla domanda: Quali sono i benefici dell'attività fisica? Aggiungi eventuali aspetti importanti che hai tralasciato.

Risposta:

1
Oltre ai benefici già menzionati, l'attività fisica aiuta anche a migliorare la qualità del sonno, rafforza il sistema immunitario e contribuisce al benessere mentale riducendo lo stress.

Chain of Thought (CoT)

La tecnica Chain of Thought incoraggia l’AI a “pensare ad alta voce”, esplicitando i passaggi logici e il ragionamento che portano alla risposta finale. È particolarmente efficace per problemi di logica, matematica, ragionamento complesso o per spiegare processi decisionali. Aiuta a rendere trasparente il processo di generazione della risposta e facilita la verifica della correttezza.

Esempio di prompt:

1
In una fattoria ci sono 3 mucche e 4 galline. Quanti animali ci sono in totale? Spiega il ragionamento passo passo.

Risposta:

1
2
3
4
1. Nella fattoria ci sono 3 mucche.
2. Ci sono anche 4 galline.
3. Per trovare il numero totale di animali, sommo il numero di mucche e di galline: 3 + 4 = 7.
4. Quindi, nella fattoria ci sono 7 animali in totale.

Richiedi esplicitamente che il modello espliciti i passaggi logici (es. “spiega passo passo” o “let’s think by step”) per ottenere ragionamenti più trasparenti e verificabili.

Tree of Thoughts (ToT)

Simile al Chain of Thought, ma qui l’AI esplora più percorsi di ragionamento o soluzioni alternative, come un albero decisionale. Questa tecnica permette di valutare diverse strategie, confrontare approcci e scegliere la soluzione più efficace tra quelle proposte. È utile per brainstorming, analisi di problemi complessi e decision making.

Esempio di prompt:

1
Un negozio online vuole aumentare le vendite. Quali strategie alternative può adottare? Spiega i possibili percorsi decisionali.

Risposta:

1
2
3
4
5
6
7
1. Migliorare la user experience del sito per facilitare la navigazione e l’acquisto.
2. Offrire sconti o promozioni temporanee per incentivare gli acquisti.
3. Investire in campagne di marketing mirate sui social media.
4. Ampliare il catalogo prodotti per attrarre nuovi clienti.
5. Implementare un programma fedeltà per aumentare la fidelizzazione.
6. Analizzare i dati di vendita per identificare i prodotti più richiesti e ottimizzare le scorte.
Ciascuna di queste strategie può essere approfondita e combinata con le altre per massimizzare l’efficacia.

ReAct (Reason & Act)

La tecnica ReAct combina il ragionamento (Reason) con l’azione (Act): l’AI analizza il problema, esplicita il processo di pensiero e propone una soluzione concreta. È particolarmente utile per compiti pratici, troubleshooting, assistenza clienti e automazione di processi decisionali.

Esempio di prompt:

1
Un utente trova un errore di calcolo nel totale di una fattura generata da un software gestionale. Analizza il problema e suggerisci una soluzione, spiegando i passaggi.

Risposta:

1
2
1. Analisi: L'errore potrebbe essere dovuto a un arrotondamento scorretto, a un'impostazione errata dell'aliquota IVA o a un bug nella funzione di somma degli articoli.
2. Azione: Suggerisco di verificare i parametri di configurazione dell'IVA e di controllare il codice che calcola il totale. Se il problema persiste, consiglia di aggiornare il software o contattare il supporto tecnico con una descrizione dettagliata dell'errore.

Meta Prompting e Automatic Prompt Engineering

Meta Prompting e Automatic Prompt Engineering sono tecniche avanzate che sfruttano l’AI per generare, ottimizzare o suggerire prompt più efficaci, automatizzando la creazione di istruzioni e facilitando la sperimentazione di nuove strategie di prompting. In pratica, si utilizzano prompt che hanno come obiettivo la generazione di altri prompt, permettendo di scalare la progettazione, adattare rapidamente le richieste a diversi casi d’uso e migliorare la qualità delle interazioni.

Questo approccio meta è particolarmente utile per:

  • Automatizzare la creazione di prompt per task ripetitivi o complessi.
  • Ottimizzare i processi di prompting, testando rapidamente varianti e strategie.
  • Personalizzare i prompt in base al pubblico, al contesto o agli obiettivi specifici.
  • Semplificare la sperimentazione e il raffinamento continuo delle istruzioni.

Esempio pratico

Prompt per generare un prompt efficace:

1
Devo spiegare il concetto di blockchain a un gruppo di studenti delle scuole superiori. Suggerisci un prompt efficace per ottenere una spiegazione semplice, chiara e coinvolgente, con esempi pratici.

Risposta generata dall’AI:

1
Spiega cos'è la blockchain in modo semplice e chiaro, utilizzando esempi pratici e un linguaggio adatto a studenti delle scuole superiori. Assicurati di rendere il concetto interessante e facile da comprendere.

In questo modo, l’AI non solo supporta la generazione di contenuti, ma diventa anche uno strumento per progettare prompt migliori, accelerando il processo di prompt engineering e migliorando la qualità delle risposte ottenute.

Code Prompting

Il code prompting comprende tutte le tecniche per generare, spiegare, tradurre, ottimizzare o revisionare codice tramite prompt. È uno degli ambiti più potenti dell’AI generativa, utile per sviluppatori, studenti e chiunque lavori con il software. Permette di automatizzare task ripetitivi, accelerare la scrittura di codice, individuare bug e migliorare la qualità del software.

Prompts per Scrivere Codice

1
Scrivi una funzione per calcolare la somma di un array.

Risposta:

1
2
3
function sommaArray(arr) {
  return arr.reduce((a, b) => a + b, 0);
}

Prompts per Spiegare Codice

1
Spiega cosa fa questa funzione: function sommaArray(arr) { return arr.reduce((a, b) => a + b, 0); }

Risposta:

1
Questa funzione calcola la somma di tutti gli elementi in un array usando il metodo reduce.

Prompts per Tradurre Codice

1
Traduci questa funzione da JavaScript a Go: function sommaArray(arr) { return arr.reduce((a, b) => a + b, 0); }

Risposta:

1
In Go, la funzione sarebbe: func sommaArray(arr []int) int { sum := 0; for _, v := range arr { sum += v }; return sum }

Prompts per Debugging e Code Review

1
Trova bug in questa funzione: function divide(a, b) { return a / b; }

Risposta:

1
La funzione non gestisce il caso in cui b sia uguale a zero, il che causerebbe un errore di divisione per zero. Per migliorare la funzione, aggiungi un controllo che restituisca un messaggio di errore se b è zero.

Dare Direzione

Guidare esplicitamente lo stile e il tono dell’output è fondamentale per ottenere risposte più pertinenti. Puoi:

  • Richiedere uno stile specifico (es. “scrivi nello stile di Steve Jobs”).
  • Estrarre prima le regole stilistiche da un testo e poi usarle come base per la richiesta.
  • Inserire direttamente nel prompt informazioni su stile, regole o formati desiderati (prompt più lungo = maggiori costi).

Esempio:

1
Scrivi una presentazione nello stile di Steve Jobs.

Oppure:

1
Analizza il seguente testo e identifica le regole stilistiche. Poi, scrivi un nuovo testo seguendo le stesse regole.

Specificare il Formato dell’Output (Specify Format)

Indicare chiaramente il formato di output desiderato aiuta a ottenere dati strutturati e facilmente riutilizzabili (JSON, YAML, CSV, elenchi puntati, ecc.). Se l’output deve essere interpretato da un programma, specifica di restituire solo la struttura dati.

Per ottenere risultati ancora più precisi e coerenti, puoi fornire uno schema dettagliato del formato desiderato, ad esempio un JSON Schema. In questo modo, l’AI seguirà la struttura specificata, riducendo ambiguità e facilitando l’integrazione automatica dell’output nei tuoi sistemi.

Esempio:

1
Restituisci la risposta in formato JSON con i seguenti campi: titolo, autore, data.

Esempio con JSON Schema:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Restituisci la risposta in formato JSON seguendo questo schema:
{
  "type": "object",
  "properties": {
    "titolo": { "type": "string" },
    "autore": { "type": "string" },
    "data": { "type": "string", "format": "date" }
  },
  "required": ["titolo", "autore", "data"]
}

Formati comuni:

  • Liste
  • Liste gerarchiche
  • JSON
  • YAML
  • CSV
  • Schemi strutturati (es. JSON Schema)

Valutare la Qualità (Evaluate Quality)

Ripetere il task con varianti del prompt permette di valutare quale formulazione produce i risultati migliori secondo criteri come:

  • Costo
  • Latenza
  • Numero di chiamate
  • Performance
  • Classificazione
  • Ragionamento
  • Allucinazioni
  • Sicurezza
  • Rifiuti
  • Robustezza ad attacchi
  • Similarità

Contestualizzare le Scelte

Quando chiedi all’AI di effettuare una scelta, specifica sempre il contesto per ottenere risposte più pertinenti e utili.

Estrarre Caratteristiche (Features Extraction)

Puoi chiedere all’AI di estrarre caratteristiche come tono, lunghezza, vocabolario, struttura o contenuto da un testo, e poi generare nuovo testo con le stesse feature.

Esempio:

1
Analizza il testo e identifica tono, lunghezza e vocabolario. Genera un nuovo testo con le stesse caratteristiche.

Sintesi e Riassunti (Summarization)

Richiedere un riassunto aiuta a:

  • Rientrare nei limiti di lunghezza
  • Ridurre i costi
  • Migliorare le performance
  • Aumentare la flessibilità

Puoi specificare il tipo di sintesi (breve, dettagliata, per esperti, per principianti, ecc.).

Least to Most

Tecnica che consiste nel partire da una descrizione basilare e migliorare progressivamente l’output aggiungendo dettagli con una sequenza di prompt. Utile per:

  • Esplorazione progressiva
  • Flessibilità
  • Migliore comprensione
  • Apprendimento collaborativo

Sfide:

  • Dipendenza dalle conoscenze generate in precedenza
  • Dipendenza dai prompt precedenti

Criteri di Valutazione (Criteria Evaluation)

Definire criteri chiari per valutare la qualità delle risposte dell’AI è fondamentale per migliorare l’efficacia del prompt engineering e garantire risultati affidabili. Alcuni criteri comuni includono:

  • Accuratezza: la risposta è corretta dal punto di vista fattuale e tecnico?
  • Pertinenza: la risposta è coerente con la domanda e il contesto fornito?
  • Chiarezza: la risposta è espressa in modo comprensibile, senza ambiguità?
  • Completezza: la risposta copre tutti gli aspetti richiesti dalla domanda?
  • Consistenza: la risposta mantiene uno stile e un tono coerenti con le istruzioni?
  • Formato: la risposta rispetta il formato richiesto (ad esempio, elenco, JSON, testo breve)?
  • Originalità: la risposta evita ripetizioni e fornisce valore aggiunto rispetto a risposte generiche?

Puoi creare una checklist o una griglia di valutazione per confrontare facilmente le risposte generate e identificare le aree di miglioramento. Valutare sistematicamente l’output dell’AI aiuta a raffinare i prompt e a ottenere risultati sempre più precisi e utili.

Strategie e Best Practice per Prompt Efficaci

Un prompt efficace nasce da una combinazione di strategie e buone pratiche. Ecco i punti fondamentali da seguire:

  • Definisci obiettivi e scopi chiari: spiega in modo esplicito cosa vuoi ottenere dal modello, specificando il risultato atteso e il contesto della richiesta.
  • Fornisci contesto e informazioni di base: più dettagli fornisci, più l’AI sarà in grado di generare risposte pertinenti e precise. Includi dati, riferimenti, ruoli o scenari utili.
  • Fornisci esempi (few-shot): guida l’output mostrando esempi concreti di domande e risposte, così il modello potrà imitare lo stile e la struttura desiderata.
  • Sii specifico sull’output: indica chiaramente il formato, la lunghezza, il tono o il tipo di risposta che desideri ricevere, per evitare ambiguità.
  • Progetta con semplicità: mantieni i prompt chiari, diretti e privi di ambiguità. Prompt semplici riducono il rischio di fraintendimenti da parte del modello.
  • Usa istruzioni chiare invece di vincoli: preferisci istruzioni dirette e positive a restrizioni complesse o negative, che potrebbero confondere l’AI.
  • Controlla la lunghezza massima dei token: imposta limiti per evitare risposte troppo lunghe, incomplete o fuori tema, soprattutto in contesti dove la sintesi è importante.
  • Sperimenta e ripeti: prova diverse formulazioni, osserva i risultati e affina i prompt iterativamente per migliorare la qualità dell’output.
  • Sfrutta il Chain-of-Thought: chiedi all’AI di spiegare i passaggi del ragionamento, così da ottenere risposte più trasparenti e verificabili.
  • Usa variabili nei prompt: rendi i prompt dinamici e riutilizzabili, inserendo variabili che puoi sostituire in base al contesto o all’utente.
  • Sperimenta con formati e stili: prova diversi stili di scrittura, formati di input e output per trovare quello più adatto al tuo caso d’uso.
  • Lavora con schemi: struttura i dati e le risposte secondo schemi predefiniti (ad esempio, elenchi puntati, tabelle, JSON) per facilitare la comprensione e l’elaborazione automatica.
  • Documenta i tentativi: annota i prompt utilizzati e i risultati ottenuti, così da poter migliorare nel tempo e condividere le best practice con il team.

Esempio (non ottimale):

1
Dove posso trovare informazioni?

Esempio (ottimizzato):

1
Sei un assistente per studenti universitari. Il tuo compito è consigliare tre siti web affidabili dove trovare articoli scientifici di informatica. Fornisci la risposta in un elenco puntato, includendo una breve descrizione di ciascun sito e spiegando perché è utile per la ricerca accademica. Mantieni un tono professionale e sintetico.

Prompt Engineering come processo iterativo

Il prompt engineering non è un’attività statica, ma un processo iterativo che richiede sperimentazione, test e raffinamento continuo. Non esistono regole fisse: la flessibilità e l’adattabilità sono fondamentali per ottenere risultati ottimali.

  • Iterazione: prova diverse formulazioni di prompt, osserva i risultati e affina le istruzioni per migliorare la precisione e la pertinenza dell’output.
  • Riduzione della complessità: mantieni i prompt chiari e concisi, evitando istruzioni troppo lunghe o complesse che potrebbero confondere il modello.
  • Adattamento: adatta il prompt in base al contesto e agli obiettivi specifici, sfruttando il feedback dell’AI per migliorare progressivamente.

Esempio pratico

Prompt generico:

1
Dove acquistare una maglietta?

Prompt ingegnerizzato:

1
Sei un assistente alle vendite per un'azienda di abbigliamento. Un utente, con sede in Alabama, Stati Uniti, ti chiede dove acquistare una maglietta. Rispondi con i tre punti vendita più vicini che attualmente vendono una maglietta.

Risultato: il modello fornirà una risposta più pertinente e personalizzata, dimostrando come il raffinamento del prompt migliori la qualità dell’output.

Tecniche e approcci avanzati di Prompt Engineering

Prompt Decomposition

Questa tecnica consiste nel suddividere un compito complesso in una serie di prompt più semplici e sequenziali. In questo modo, l’AI può affrontare ogni passaggio in modo più preciso, riducendo il rischio di errori e migliorando la qualità delle risposte finali. È particolarmente utile per processi articolati, analisi dettagliate o workflow multi-step.

Esempio:

1
2
1. Elenca i passaggi per configurare un server web.
2. Per ogni passaggio, spiega i dettagli tecnici.

Verifier Prompt

Questa tecnica prevede di chiedere all’AI di valutare la correttezza o la completezza di una risposta generata in precedenza. È utile per aumentare l’affidabilità delle informazioni, individuare errori o ottenere una seconda opinione automatica prima di utilizzare l’output.

Esempio:

1
Questa risposta è corretta? Se no, spiega perché e correggila.

Comparison Prompt

Con questo approccio si chiede all’AI di generare più alternative per una stessa richiesta e poi confrontarle, selezionando la migliore o spiegando i criteri di scelta. È ideale per brainstorming, valutazione di opzioni o selezione di soluzioni ottimali.

Esempio:

1
Genera due possibili titoli per un articolo e scegli il più efficace spiegando la scelta.

Extraction Prompt

Serve per estrarre dati strutturati o informazioni specifiche da testi non strutturati. È molto usato per data mining, analisi di documenti, generazione di dataset o automazione di processi di raccolta dati.

Esempio:

1
Estrai tutti i nomi di linguaggi di programmazione dal seguente testo.

Rewrite Prompt

Consente di chiedere all’AI di riscrivere un testo cambiando stile, tono, livello di formalità o adattandolo a un pubblico diverso. È utile per localizzazione, adattamento di contenuti, semplificazione o personalizzazione della comunicazione.

Esempio:

1
Riscrivi questo testo in tono formale.

Completion Prompt

Questa tecnica consiste nel fornire un testo parziale e chiedere all’AI di completarlo in modo coerente e pertinente. È utile per generare contenuti, continuare storie, completare frasi o suggerire finali.

Esempio:

1
Completa la frase: Nel futuro del lavoro, l’intelligenza artificiale…

Classification Prompt

Permette di chiedere all’AI di assegnare una categoria, etichetta o valutazione a un testo, dato o contenuto. È molto usato per sentiment analysis, categorizzazione automatica, moderazione di contenuti e analisi qualitative.

Analisi del Sentimento (Sentiment Analysis)

Per ottenere risultati affidabili nella classificazione del sentiment:

  • Specifica chiaramente le classi di sentiment: ad esempio, positivo, negativo, neutrale.
  • Pre-elabora il testo: rimuovi emoji, hashtag, punteggiatura eccessiva; usa solo minuscole e correggi eventuali errori ortografici.
  • Attenzione a sarcasmo e ironia: questi elementi possono portare a valutazioni errate, quindi, se possibile, chiedi all’AI di segnalare eventuali casi dubbi.

Esempio:

1
Classifica questa recensione come positiva, neutra o negativa. Prima di rispondere, rimuovi emoji, hashtag e punteggiatura eccessiva dal testo. Se rilevi sarcasmo o ironia, segnalalo.

Question Generation

Consente di generare domande a partire da un testo dato, utile per creare quiz, test di comprensione, esercizi didattici o per stimolare la riflessione su un argomento.

Esempio:

1
Genera 3 domande di comprensione sul seguente testo.

Explanation Prompt

Questa tecnica invita l’AI a spiegare il ragionamento dietro una risposta o una scelta, rendendo il processo decisionale più trasparente e comprensibile. È utile per didattica, audit, validazione e formazione.

Esempio:

1
Spiega perché hai scelto questa soluzione.

Self-Consistency

Consiste nel generare più risposte allo stesso prompt e selezionare quella più coerente o frequente. Questo approccio aumenta l’affidabilità dell’output, riduce la variabilità e aiuta a identificare la soluzione più robusta tra quelle proposte dal modello.

Prompt Chaining e Task Decomposition

Prompt Chaining e Task Decomposition sono tecniche complementari che consistono nel suddividere un compito complesso in una sequenza di prompt più semplici e collegati tra loro, dove l’output di ciascun passaggio diventa l’input per il successivo. Questo approccio permette di affrontare workflow articolati, guidare il modello passo dopo passo e migliorare la qualità, la coerenza e il controllo sull’output finale. Esplicitare la richiesta di procedere per fasi (ad esempio, con istruzioni come “let’s think by step” o “procedi per passi”) aiuta a gestire ogni singolo step in modo più preciso e a ridurre la complessità complessiva del task.

Esempio pratico:

1
2
1. Elenca i passaggi per configurare un server web.
2. Per ogni passaggio, spiega i dettagli tecnici.

In questo modo, il modello prima genera una lista di passaggi e poi, in un secondo prompt, approfondisce ciascun punto, garantendo maggiore chiarezza e completezza.

Retrieval Augmented Generation (RAG)

Arricchisce i prompt con informazioni recuperate da fonti esterne, database o documenti, migliorando l’accuratezza e l’aggiornamento delle risposte. È fondamentale per casi d’uso che richiedono dati aggiornati o conoscenze specialistiche non presenti nel modello.

Automatic Reasoning and Tool-use

Integra l’uso di strumenti esterni (come calcolatrici, API, database) nei prompt, permettendo all’AI di risolvere problemi che richiedono calcoli, accesso a dati in tempo reale o operazioni tecniche avanzate.

Prompt Attivo e Prompt Directional Stimulus

Queste tecniche guidano attivamente il modello verso un certo tipo di risposta o ragionamento, specificando la direzione desiderata, il ruolo o il punto di vista da assumere. Sono utili per ottenere risposte più mirate e controllate.

Reflexion

Consiste nel chiedere all’AI di riflettere sulle proprie risposte, individuare eventuali errori o miglioramenti e correggersi autonomamente. Migliora la qualità, la precisione e la consapevolezza dell’output.

Multimodal CoT

Applica il chain-of-thought anche a input multimodali (testo, immagini, dati strutturati), permettendo ragionamenti più ricchi e articolati su informazioni di natura diversa.

Prompt Injection, Prompt Leaking, Jailbreaking

Rappresentano rischi e abusi legati alla manipolazione dei prompt, come l’inserimento di istruzioni dannose, la fuga di informazioni sensibili o l’aggiramento di restrizioni. È fondamentale progettare prompt sicuri e validare sempre l’input utente.

Meta-prompting

Consiste nell’usare prompt che generano altri prompt, utile per automatizzare la creazione di istruzioni, ottimizzare processi complessi o costruire sistemi di prompting dinamici.

Program-Aided Language Models

Questa tecnica combina codice e linguaggio naturale nei prompt, sfruttando la capacità del modello di eseguire codice o ragionamenti computazionali per affrontare compiti avanzati.

Function Calling

Permette di far eseguire funzioni specifiche al modello tramite prompt strutturati, integrando capacità di calcolo, automazione o azioni precise all’interno delle risposte.

Context-caching

Consente di riutilizzare contesti già processati per ottimizzare le interazioni successive, mantenere coerenza nelle conversazioni e ridurre i costi computazionali.

Errori comuni da evitare nel Prompt Engineering

Anche chi ha esperienza può incorrere in errori che compromettono la qualità delle risposte dell’AI. Ecco i più frequenti e come evitarli:

  • Prompt troppo vaghi o generici: domande poco specifiche portano a risposte altrettanto generiche o fuori tema.

    • Soluzione: specifica sempre il contesto, il ruolo, il formato e l’obiettivo della risposta.
  • Prompt troppo complessi o lunghi: istruzioni articolate o con troppe richieste confuse possono disorientare il modello.

    • Soluzione: suddividi i compiti in più prompt semplici e sequenziali (decomposizione).
  • Ambiguità e mancanza di chiarezza: termini ambigui o istruzioni poco chiare generano risposte incoerenti.

    • Soluzione: usa un linguaggio diretto, evita doppisensi e chiarisci sempre cosa ti aspetti.
  • Non specificare il formato dell’output: senza indicazioni, l’AI può restituire risposte in formati diversi da quelli desiderati.

    • Soluzione: indica sempre se vuoi una lista, un testo breve, una tabella, codice, ecc.
  • Dimenticare il pubblico o il livello di conoscenza: risposte troppo tecniche o troppo semplici rispetto al destinatario.

    • Soluzione: specifica il livello di conoscenza dell’utente (principiante, esperto, ecc.).
  • Non fornire esempi quando utili: senza esempi, il modello può fraintendere il tono, lo stile o la struttura desiderata.

    • Soluzione: aggiungi esempi (few-shot) per guidare l’output.
  • Ignorare i limiti di lunghezza: prompt o risposte troppo lunghe possono essere troncate o incomplete.

    • Soluzione: imposta limiti di token e chiedi risposte concise se necessario.
  • Non iterare o non testare: fermarsi al primo tentativo spesso non porta al risultato ottimale.

    • Soluzione: sperimenta, testa e affina i prompt in modo iterativo.
  • Non documentare i prompt e i risultati: senza traccia dei tentativi, è difficile migliorare o condividere le best practice.

    • Soluzione: annota prompt, risposte e risultati per costruire una base di conoscenza.
  • Trascurare la sicurezza: prompt mal progettati possono esporre a rischi di injection, leaking o comportamenti indesiderati.

    • Soluzione: valida sempre l’input utente e limita le istruzioni potenzialmente pericolose.

Tenere a mente questi errori comuni e le relative soluzioni ti aiuterà a ottenere risposte più pertinenti, sicure e di qualità dall’AI.

Risorse utili per approfondire

Ecco alcune fonti autorevoli per esplorare ulteriormente il prompt engineering, con guide, whitepaper e approfondimenti pratici:

Queste risorse ti aiuteranno a rimanere aggiornato sulle ultime novità e ad applicare le migliori pratiche nel tuo lavoro quotidiano.

Ultimo aggiornamento il