News

PROMPT chi parla?? Alla scoperta delle tecniche di prompt engineering - Tecniche a prompt singolo

Scritto da Redazione | 3 feb 2025

 

Nell'era dell'intelligenza artificiale, ogni interazione tra l'uomo e la macchina inizia con una domanda fondamentale che ci poniamo: PROMPT: chi parla?  Nel momento in cui alziamo il telefono per rispondere a una chiamata, la prima domanda che ci poniamo è spesso: Chi parla? Questa semplice curiosità racchiude un principio fondamentale delle interazioni umane e, oggi, anche di quelle con l'intelligenza artificiale. Sapere chi c'è dall'altra parte è cruciale per orientare la conversazione, calibrare il tono e scegliere le parole giuste. Lo stesso principio si applica al prompting: quando comunichiamo con un'AI, il modo in cui formuliamo le nostre richieste – il nostro prompt – determina il tipo di risposta che riceveremo.

Immaginate di rispondere a una chiamata da un numero sconosciuto. Se non conoscete l'identità del chiamante, la conversazione potrebbe diventare vaga o persino frustrante. Lo stesso accade quando diamo istruzioni poco chiare a un modello di intelligenza artificiale: il risultato è un output generico, impreciso o poco utile. È qui che entra in gioco l'arte del prompting. Dare istruzioni precise e ben strutturate non solo aiuta l’AI a comprendere il contesto, ma la guida verso una risposta più accurata e soddisfacente.

In un mondo in cui l’AI gioca un ruolo sempre più importante nelle nostre vite, trattarla come un interlocutore significa riconoscere che la qualità della comunicazione dipende da noi. Come quando parliamo con un essere umano, dobbiamo adattare il nostro linguaggio, fornire dettagli pertinenti e anticipare possibili ambiguità. Solo così possiamo trasformare una semplice interazione in uno scambio produttivo e creativo.

Capire chi parla non riguarda solo l’identità dell’altro, ma anche la nostra capacità di costruire un dialogo significativo. Con un prompt ben pensato, possiamo sbloccare il pieno potenziale dell’intelligenza artificiale, creando connessioni che rispecchiano le nostre intenzioni e i nostri obiettivi.

Il prompting è l'arte di dare voce alle nostre idee, ponendole in dialogo con sistemi intelligenti, capaci di comprendere e rispondere. È una competenza che non riguarda solo la tecnologia, ma anche la creatività e la comunicazione. Ma che cosa vuol dire PROMPT e cosa intendiamo quando parliamo di PROMPT engineering? Oggi nel nostro mitico blog affrontiamo questo argomento che in qualche modo coinvolge tutti noi che proviamo ad avere un primo approccio con strumenti AI come ad esempio CHATGPT. Partiamo dunque dai basic:

 

Cos'è il Prompting?

Il prompting è il processo attraverso cui formuliamo input testuali per ottenere risposte rilevanti dai modelli di intelligenza artificiale. La sua efficacia dipende dalla capacità di creare un messaggio chiaro, contestualizzato e stimolante, in grado di guidare l'AI verso risultati utili e precisi.

Ad esempio, se chiediamo semplicemente nell'interazione con un modello di AI: "Che cos'è un albero?" otteniamo una risposta verosimilmente generica. Ma se formuliamo il prompt come: "Descrivi un albero dal punto di vista di una formica che vive sulle sue radici", invitiamo l'AI a fornire una risposta più creativa e profonda.

La maggior parte degli utenti tende a interagire con i modelli di AI nella modalità GIGO. Nel mondo del prompting, il concetto di GIGO (Garbage In, Garbage Out) descrive un'interazione appunto superficiale che risulta in un prompt formulato in modo ambiguo o errato che porta inevitabilmente a risposte di scarsa qualità o inutili. Facendo l'esempio citato prima, è un po come interagiamo quando a chiamarci è un numero sconosciuto.

Un prompt come "Racconta qualcosa" non offre alcun contesto e genererà una risposta generica. Al contrario, un prompt più chiaro e dettagliato, come "Descrivi le caratteristiche di un albero visto dal punto di vista di una formica", guiderà l'AI a produrre un output più pertinente e interessante. La qualità del prompting è quindi direttamente correlata alla qualità del risultato.

Ma che dettaglio dare e come darlo per ottenere risposte che possono essere realmente utili? Soprattutto è sempre necessario dare dettagli? La risposta è dipende da quello che è il risultato che vuoi ottenere. Vediamo quindi ora insieme alcune tra le diverse tecniche di prompting che esistono e in quali contesti è meglio utilizzarle, a seconda del risultato che vuoi ottenere.

 

Overview sulle tecniche di prompt engineering

 

Le tecniche di prompt engineering possono essere riassunte in questa mappa concettuale che prevede tre categorie principali:

  1. Tecniche  a  Prompt Singolo : Tecniche che si concentrano sull'utilizzo di un unico prompt per ottenere una risposta diretta. 
  2. Tecniche  a  Prompt Multiplo : Tecniche che prevedono l'uso di prompt multipli o interazioni iterative.
  3. LLM con Tool esterni: Tecniche che integrano il modello linguistico (LLM, Large Language Model) con strumenti esterni, come database o calcolatori.

In questo articolo ci occuperemo delle tecniche a prompt singolo, con la promessa di raccontarvi le altre nei prossimi appuntamenti all'insegna dell'AI e del prompting.

  

TECNICHE A PROMPT SINGOLO

1. Tecnica zero shot prompting 

La tecnica di zero-shot prompting consiste nel fornire al modello una semplice richiesta senza esempi espliciti di input e output. L'idea è sfruttare la capacità del modello di interpretare il linguaggio naturale per rispondere in modo pertinente basandosi solo sulle informazioni fornite nel prompt.

E' una tecnica tipicamente usata per compiti diretti o quando si vuole testare rapidamente le capacità del modello.

Come applicarla?

Per applicare questa tecnica ti basterà fornire una richiesta chiara: Scrivi il prompt in modo che il modello capisca esattamente cosa vuoi. Usa un linguaggio semplice e diretto.

Evita dettagli superflui: Poiché non stai fornendo esempi, concentrati sull'essere specifico con poche parole.

Specifiche opzionali: Indica il formato desiderato (ad esempio, una lista, un paragrafo, ecc.).

Quando usarla?

Compiti semplici: Quando il compito è chiaro e non richiede contesto aggiuntivo come ad Esempio in caso di : traduzioni, generazione di titoli, definizioni di concetti.

Velocità e immediatezza: Se hai bisogno di un risultato rapido senza dover preparare esempi.

Testare le capacità del modello: Per vedere come il modello interpreta e risponde a richieste generali.

Richieste con contesto esplicito: Quando il contesto è già chiaro nel prompt stesso.

 Per compiti più complessi o quando si richiedono risultati altamente personalizzati, il few-shot prompting è spesso più efficace. Lo zero-shot resta una soluzione eccellente per ottenere risposte rapide in ambiti non particolarmente intricati. Vediamo dunque ora il FEW shot prompting.

2. Tecnica prompt engineering Few SHOT prompting

 

Il Few SHOT prompting consiste nel fornire al modello uno o più esempi di input e output per insegnargli il formato, il contesto o il tipo di risposta desiderata. Dopo aver visto questi esempi, il modello applica il ragionamento a un nuovo input simile.

Un output possibile a questo approccio few shot prompting contenuto nell'esempio sopra è: "Vacanze low-cost: 8 consigli per pianificare senza spendere troppo!"

 

Come applicarla?

Ti basterà seguire questi semplici step:

Scegliere esempi chiari e rappresentativi: usa esempi pertinenti e semplici da comprendere per il modello, ricordati che gli esempi devono essere abbastanza vari per coprire più casi possibili.

Mantieni la coerenza tra esempi e sincerati di formattare gli esempi in modo uniforme per evitare confusione.

Non eccedere con il numero di esempi, ti basteranno  2-5 esempi, a seconda della lunghezza del contesto disponibile e del modello.

Usa esempi progressivi Includi casi che mostrano una progressione di difficoltà per aiutare il modello a generalizzare.

 

VANTAGGI E SVANTAGGI DEL FEW SHOT PROMPTING

 

Differenza tra la tecnica ZERO SHOT e FEW SHOT.

 

3. Tecnica COT (chain of thoughts)

Tra le tecniche più promettenti per migliorare la capacità di ragionamento logico dei modelli di AI, spicca il Chain-of-Thought Prompting (CoT). Questo approccio non si limita a fornire risposte immediate, ma guida il modello attraverso un percorso sequenziale di pensiero, simulando il processo di ragionamento umano.

Il Chain-of-Thought Prompting è una tecnica di prompt engineering che spinge l'AI a elaborare risposte attraverso una sequenza logica e articolata di passaggi. Questo approccio è particolarmente utile per problemi complessi che richiedono più di una semplice risposta diretta.

Esempio:

  • Prompt tradizionale: "Qual è la somma di 123 e 456?"
    Risposta: 579

  • Prompt CoT: "Qual è la somma di 123 e 456? Spiega il processo passo per passo."
    Risposta: "1. Scrivi il problema: 123 + 456. 2. Somma le unità: 3 + 6 = 9. 3. Somma le decine: 2 + 5 = 7. 4. Somma le centinaia: 1 + 4 = 5. La risposta è 579."

STANDARD PROMPTING VS CHAIN OF THOUGHTS PROMPTING

Questo esempio dimostra come il CoT scomponga un problema complesso in passi comprensibili, migliorando sia la precisione della risposta che la sua utilità didattica. Il CoT ha un enorme potenziale nell'educazione, in quanto incoraggia l'apprendimento attivo e il pensiero.Il CoT, per esempio, è ideale per spiegare concetti matematici complessi, come equazioni, geometria o algebra, ma anche nelle scienze e nelle discipline umanistiche.

 "Spiega passo dopo passo come calcolare l'area di un triangolo dato il valore della base e dell'altezza."
Questo tipo di prompt aiuta gli studenti a comprendere il procedimento anziché limitarsi a memorizzare formule.

""Descrivi il processo passo per passo della fotosintesi."
Risposte articolate aiutano gli studenti a visualizzare il flusso logico degli eventi.

"Spiega passo dopo passo le cause e le conseguenze della Rivoluzione Industriale."

Come applicarla?
 
Che parole inserire nel prompt per guidare il modello verso il COT? In qualche modo gli esempi sopra ce lo stanno suggerendo.
 

COT attraverso l'esplicita richiesta di ragionamento sequenziale:

"Risolvi il problema passo dopo passo."
"Spiega ogni passaggio logico prima di fornire la risposta finale."
"Descrivi il tuo ragionamento in modo dettagliato."

 

COT attraverso domande guida multi-step:

"Quali sono i passaggi necessari per arrivare a questa soluzione?"
"Analizza i dati e costruisci un ragionamento che porti alla conclusione."

 

COT attraverso Frasi orientate alla trasparenza:

"Mostra il processo logico che utilizzi per giungere a una risposta."
"Dettaglia i tuoi calcoli o la tua analisi prima di fornire la conclusione."

 

Inviti a una spiegazione articolata:

"Prima di dare la risposta finale, ragiona sul problema passo dopo passo."
"Dividi il problema in piccoli passi e affrontali uno alla volta."

 VANTAGGI E SVANTAGGI DEL COT PROMPTING

 

4. Tecnica prompt engineering Program Aided Lang  (PAL)

E' una tecnica di prompt engineering che combina l'uso del linguaggio naturale con l'assistenza della programmazione. In questa tecnica, il modello non solo genera risposte, ma fornisce soluzioni esplicite sotto forma di codice o istruzioni programmatiche per risolvere problemi.

Questa tecnica, diversamente dalle precedenti, è particolarmente utile per figure professionali che lavorano a cavallo tra il linguaggio naturale e la programmazione come ad esempio data scientist, data analyst, sviluppatori software, DevOps Engineer, Ingegneri di Machine learning e AI, professionisti di automazione e robotics.. insomma delle figure che hanno una base di conoscenza tecnica e lavorano in ambiti che richiedono la generazione di codice o l'automazione. In particolare, il PAL è ideale per chi vuole accelerare lo sviluppo, automatizzare compiti complessi o fornire soluzioni tecniche in modo rapido ed efficace.

Questa tecnica si adatta a chiunque lavori con codice.

Vediamo alcuni esempi pratici di applicazione della tecnica PAL, per farci un'idea.

VANTAGGI E SVANTAGGI DELLA TECNICA PAL

 

Come applicarla?

 Per applicare la tecnica PAL in modo efficace, è fondamentale seguire un processo strutturato che includa una buona definizione del problema, la specificazione del linguaggio di programmazione, e la verifica del codice generato.

 

step 1. Definisci chiaramente il problema

Inizia formulando una descrizione precisa del compito che vuoi automatizzare o risolvere. È importante specificare:

  • Lo scopo del codice (cosa deve fare).
  • I dati di input (se ci sono) e il formato.
  • I requisiti o vincoli specifici (linguaggio, efficienza, leggibilità).

Esempio:

Voglio un programma che:
- Legga un file CSV contenente dati finanziari.
- Calcoli il totale delle spese mensili.
- Generi un report con il totale spese per ogni mese.

 

step 2. Specifica il linguaggio di programmazione

Indica chiaramente il linguaggio che desideri utilizzare (es. Python, JavaScript, SQL, ecc.), soprattutto se il modello supporta più linguaggi.

Esempio:

"Scrivi uno script in Python per analizzare i dati di un file CSV e calcolare il totale delle spese mensili."

 

step 3. Richiedi commenti e spiegazioni

Per facilitare la comprensione del codice generato, puoi chiedere che vengano inclusi commenti esplicativi.

Esempio:

Scrivi un programma Python che conti le parole uniche in un file di testo. Includi commenti per spiegare ogni passaggio.

 

step 4. Testa il codice generato

Una volta ottenuto il codice dal modello, eseguilo per verificarne la correttezza. Testa il programma con dati di esempio e assicurati che soddisfi i requisiti specificati.

step 5. Fornisci feedback iterativo

Se il codice non è corretto o manca di dettagli, fornisci un feedback al modello e chiedi miglioramenti. Questo processo iterativo è essenziale per ottenere risultati ottimali.

Esempio:

Il tuo script manca di un controllo per i file vuoti. Puoi aggiungere questa funzionalità?
 

 

Oggi concludiamo questa sessione didattica dell LFM university volta a condividere delle pillole sulle tecniche del prompt engineering, nello specifico del prompt singolo.

Rimanete sintonizzati perchè nei prossimi appuntamenti condivideremo le altre tecniche.