approfondimento

Prompt engineering: come sbloccare il potenziale dell’AI generativa



Indirizzo copiato

Cosa sono i prompt e quale ruolo svolgono nell’indirizzare i modelli di AI verso obiettivi e contesti specifici. Un prompt ben progettato può guidare il modello a generare risposte accurate, creative e rilevanti. Il prompt engineering consente di sfruttare al massimo il potenziale dei modelli di AI generativa, trasformando le loro vaste conoscenze in soluzioni pratiche per una vasta gamma di applicazioni

Aggiornato il 31 mag 2024



prompt engineering

Il prompt engineering è un campo emergente nell’ambito dell’intelligenza artificiale, incentrato sulla creazione di istruzioni e suggerimenti efficaci per guidare i modelli di AI generativa, come ChatGPT, nella produzione di output mirati e accurati. Questi modelli, addestrati su vaste quantità di dati, sono in grado di comprendere e generare testo in modo simile agli esseri umani. Tuttavia, la qualità dei loro output dipende in gran parte dalla precisione e dalla pertinenza delle istruzioni fornite, note appunto come “prompt”.

prompt OpenAI

Cos’è il prompt engineering

Poiché i modelli di AI generativa non possiedono una conoscenza intrinseca dei compiti specifici, i prompt svolgono un ruolo cruciale nell’indirizzare le loro capacità verso obiettivi e contesti specifici. Un prompt ben progettato può guidare il modello a generare risposte accurate, creative e rilevanti, mentre prompt vaghi o mal formulati possono portare a risultati insoddisfacenti o fuorvianti. In sostanza, il prompt engineering consente di sfruttare al massimo il potenziale dei modelli di AI generativa, trasformando le loro vaste conoscenze in soluzioni pratiche per una vasta gamma di applicazioni.

Perché il prompt engineering è essenziale per i professionisti dell’AI

Il prompt engineering sta diventando un’abilità fondamentale per i professionisti dell’intelligenza artificiale, in quanto consente di ottimizzare le prestazioni dei modelli AI e di adattarli a compiti e contesti specifici. Grazie a prompt ben progettati, i modelli di AI generativa possono essere sfruttati in modo più efficace per una vasta gamma di applicazioni, come la generazione di contenuti, l’analisi di dati, l’automazione di processi e persino la creazione di codice.

Inoltre, il prompt engineering gioca un ruolo cruciale nella mitigazione dei rischi associati all’uso di modelli di AI generativa, come la generazione di contenuti offensivi o fuorvianti. Attraverso l’utilizzo di prompt specifici e ben formulati, i professionisti dell’AI possono indirizzare i modelli verso output più etici e affidabili, riducendo il rischio di risultati indesiderati.

Infine, il prompt engineering è essenziale per democratizzare l’accesso all’intelligenza artificiale, consentendo a professionisti di tutti i livelli di sfruttare il potenziale dei modelli di AI generativa senza necessariamente possedere competenze di programmazione o di addestramento dei modelli. Questo apre nuove opportunità per l’innovazione e la collaborazione tra diverse discipline, favorendo l’adozione diffusa dell’AI in una vasta gamma di settori.

Ottimizzazione delle prestazioni dei modelli AI

Uno degli aspetti più importanti del prompt engineering è l’ottimizzazione delle prestazioni dei modelli di AI generativa. Attraverso la creazione di prompt mirati e specifici, è possibile indirizzare i modelli verso risultati più accurati e rilevanti, migliorando significativamente la loro efficacia in compiti specifici.

Ad esempio, nella generazione di testi creativi, l’utilizzo di prompt ben progettati può guidare il modello a produrre contenuti più originali, coerenti e coinvolgenti. Analogamente, nell’analisi di documenti o nella generazione di codice, prompt specifici possono migliorare la precisione e la pertinenza dei risultati, riducendo la necessità di interventi manuali e ottimizzando i flussi di lavoro.

Inoltre, il prompt engineering può essere utilizzato per adattare i modelli di AI generativa a domini o contesti specifici, come il settore medico, legale o finanziario. Attraverso l’utilizzo di prompt personalizzati e l’integrazione di conoscenze di dominio, i modelli possono essere ottimizzati per comprendere e gestire la terminologia e le sfumature specifiche di tali settori, migliorando ulteriormente la qualità e l’affidabilità dei loro output.

Il prompt engineering è l’arte di progettare input per modelli di linguaggio come me in modo da ottenere risposte accurate e utili. Ecco alcune delle tecniche più efficaci:

  1. Chiarezza e specificità:
    • Sii chiaro e conciso: evita ambiguità e usa un linguaggio diretto.
    • Definisci contesto e obiettivi: fornisci contesto sufficiente per guidare la risposta.
  2. Prompt step-by-step:
    • Suddividi il problema: se la domanda è complessa, suddividila in passi più piccoli e gestibili.
    • Richiedi risposte sequenziali: puoi chiedere risposte in più fasi per ottenere maggiore dettaglio.
  3. Esempi e formati:
    • Usa esempi: fornisci esempi di risposte desiderate per guidare il modello.
    • Formato specifico: specifica il formato della risposta, come elenchi puntati, tabelle, ecc.
  4. Ruoli e personaggi:
    • Assegna un ruolo: chiedi al modello di rispondere come se fosse un esperto in un determinato campo.
    • Personaggi: usa personaggi o scenari per rendere il prompt più coinvolgente.
  5. Domande chiuso-aperte:
    • Domande chiuse: usa domande a risposta chiusa per ottenere risposte precise.
    • Domande aperte: usa domande aperte per esplorare argomenti in modo più approfondito.
  6. Feedback iterativo:
    • Rifinitura: dopo una prima risposta, fornisci feedback e chiedi miglioramenti o chiarimenti.
    • Iterazioni multiple: usa più iterazioni per affinare la qualità della risposta.
  7. Controllo di coerenza:
    • Verifica coerenza: chiedi al modello di verificare la coerenza delle sue risposte con informazioni precedenti.
    • Riferimenti interni: fai riferimento a risposte precedenti per mantenere coerenza.
  8. Limitazioni e vincoli:
    • Imponi vincoli: specifica limiti di lunghezza o di argomento.
    • Condizioni: usa condizioni per guidare le risposte, come “se…, allora…”.
  9. Utilizzo di token speciali:
    • Token di inizio e fine: usa token speciali per delimitare sezioni di testo.
    • Token di contesto: usa token per fornire contesto aggiuntivo.
  10. Prompt multi-turno:
    • Conversazioni multi-turno: Progetta prompt che prevedano più scambi per costruire una conversazione più naturale e dettagliata.
  11. Prompt di controllo:
    • Controllo di qualità: chiedi al modello di auto-valutare la qualità della risposta.
    • Prompt di verifica: usa prompt di verifica per confermare l’accuratezza delle informazioni.

Queste tecniche possono essere combinate e adattate in base alle esigenze specifiche del compito o dell’applicazione. L’obiettivo è sempre quello di massimizzare la chiarezza, la pertinenza e l’utilità delle risposte ottenute dal modello.

Generazione di testi creativi e informativi

Uno dei campi in cui il prompt engineering sta dimostrando il suo potenziale è la generazione di testi creativi e informativi. Grazie alla capacità dei modelli di AI generativa di comprendere e manipolare il linguaggio naturale, è possibile utilizzare prompt ben progettati per generare una vasta gamma di contenuti, dalle storie creative alle descrizioni di prodotti, passando per articoli informativi e persino poesie.

Ad esempio, un prompt come “Scrivi una storia avvincente ambientata in una foresta incantata” può innescare la generazione di un racconto fantastico e immaginativo, ricco di dettagli e descrizioni vivide. Allo stesso modo, un prompt come “Crea una descrizione accattivante per un nuovo smartphone, evidenziandone le caratteristiche principali e i vantaggi” può portare alla generazione di un testo promozionale convincente e persuasivo.

Inoltre, il prompt engineering può essere utilizzato per generare contenuti informativi e didattici su una vasta gamma di argomenti, come la scienza, la storia o la tecnologia. Attraverso l’utilizzo di prompt mirati, i modelli di AI generativa possono essere indirizzati verso la produzione di spiegazioni chiare e comprensibili, adatte a diverse fasce di pubblico e livelli di conoscenza.

Automazione di attività complesse e ripetitive

Il prompt engineering sta rivoluzionando il modo in cui le attività complesse e ripetitive vengono gestite in diversi settori. Grazie alla capacità dei modelli di AI generativa di comprendere e interpretare istruzioni dettagliate, è possibile automatizzare una vasta gamma di processi, riducendo gli sforzi manuali e aumentando l’efficienza operativa.

Ad esempio, nel settore legale, i prompt possono essere utilizzati per generare automaticamente bozze di contratti o documenti legali, sulla base di specifiche istruzioni e modelli predefiniti. Questo consente di risparmiare tempo prezioso e di ridurre il rischio di errori, garantendo al contempo la conformità normativa e la coerenza dei documenti.

Analogamente, nel settore finanziario, il prompt engineering può essere sfruttato per automatizzare l’analisi di dati finanziari complessi e la generazione di report dettagliati, consentendo agli analisti di concentrarsi su attività a maggior valore aggiunto.

Inoltre, l’automazione basata sul prompt engineering può essere applicata in numerosi altri ambiti, come la gestione dei processi aziendali, l’elaborazione di moduli e la creazione di documentazione tecnica, contribuendo a migliorare l’efficienza e a ridurre i costi operativi.

Riduzione dei tempi e costi di sviluppo

Il prompt engineering rappresenta una soluzione efficace per ridurre i tempi e i costi associati allo sviluppo di applicazioni basate sull’intelligenza artificiale. Grazie alla capacità dei modelli di AI generativa di comprendere e interpretare istruzioni complesse, è possibile accelerare notevolmente il processo di sviluppo, evitando la necessità di codificare manualmente ogni singola funzionalità.

Ad esempio, nella creazione di chatbot o assistenti virtuali, il prompt engineering consente di generare rapidamente risposte coerenti e pertinenti, senza la necessità di programmare manualmente ogni possibile scenario o risposta. Questo riduce significativamente i tempi di sviluppo e consente di concentrarsi sulla personalizzazione e l’ottimizzazione dell’esperienza utente.

Inoltre, il prompt engineering può essere utilizzato per generare automaticamente bozze di codice o componenti software, sulla base di specifiche istruzioni e requisiti. Questo accelera il processo di sviluppo e consente ai programmatori di concentrarsi sulla revisione e l’ottimizzazione del codice, anziché sulla sua creazione da zero.

Un altro vantaggio del prompt engineering è la riduzione dei costi associati alla formazione e all’assunzione di personale specializzato. Grazie alla facilità d’uso dei modelli di AI generativa, è possibile sfruttare le loro capacità senza la necessità di investire in costose risorse umane dedicate allo sviluppo di applicazioni basate sull’intelligenza artificiale.

prompt engineering

Come usare il prompt engineering con successo

Per sfruttare al massimo il potenziale del prompt engineering, è fondamentale seguire alcune best practice e linee guida. In primo luogo, è essenziale comprendere a fondo le capacità e i limiti dei modelli di AI generativa che si intende utilizzare, al fine di creare prompt adeguati e realistici.

In secondo luogo, è importante dedicare tempo e risorse alla creazione di prompt chiari, precisi e ben strutturati. Ciò include la definizione di obiettivi specifici, l’inclusione di contesti e informazioni rilevanti, e l’utilizzo di un linguaggio chiaro e privo di ambiguità.

Inoltre, è consigliabile adottare un approccio iterativo al prompt engineering, valutando costantemente i risultati ottenuti e apportando le necessarie modifiche ai prompt per migliorarne l’efficacia. Questo processo di ottimizzazione continua è fondamentale per garantire la qualità e la rilevanza degli output generati dai modelli di AI.

Infine, è importante considerare l’integrazione del prompt engineering con altre tecnologie e strumenti di intelligenza artificiale, come i sistemi di recupero delle informazioni o le tecniche di elaborazione del linguaggio naturale. Questa integrazione può consentire di creare soluzioni più complete e sofisticate, in grado di affrontare compiti complessi e specifici.

Tecniche di prompt engineering

Prompt Zero-Shot

I grandi LLM, come GPT-4, sono regolati per seguire le istruzioni e sono addestrati su grandi quantità di dati; quindi sono in grado di eseguire alcuni compiti detti “zero-shot”. Ecco un esempio:

Prompt:

Classificare il testo in neutro, negativo o positivo. 
Testo: Penso che le vacanze siano ok. 
Sentimento:

Output:
Neutro

Si noti che nel prompt non si fornisce al modello alcun esempio di testo insieme alle relative classificazioni; l’LLM capisce già il “sentiment”. Si tratta delle capacità zero-shot.

La messa a punto delle istruzioni ha dimostrato di migliorare l’apprendimento zero-shot Wei et al. La messa a punto delle istruzioni è essenzialmente il concetto di perfezionamento dei modelli su insiemi di dati descritti tramite istruzioni. Inoltre, l’RLHF (Reinforcement learning from human feedback, apprendimento per rinforzo dal feedback umano) è stato adottato per scalare la messa a punto delle istruzioni, in cui il modello viene allineato per adattarsi meglio alle preferenze umane. Questo recente sviluppo alimenta modelli come ChatGPT.

Prompt Few-Shot

I modelli linguistici di grandi dimensioni dimostrano notevoli capacità di apprendimento zero-shot, ma non sono ancora all’altezza di compiti più complessi quando si utilizza questa impostazione. Il prompt few-shot può essere utilizzato come tecnica per consentire l’apprendimento in contesto, in cui forniamo dimostrazioni nel prompt per guidare il modello verso prestazioni migliori. Le dimostrazioni servono come condizionamento per gli esempi successivi in cui vorremmo che il modello generasse una risposta.

Ecco un esempio di prompt few-shot presentato da Brown et al. Il compito consiste nell’utilizzare correttamente una nuova parola in una frase.

Prompt:

Il "whatpu" è un piccolo animale peloso originario della Tanzania. Un esempio di frase che utilizza la parola whatpu è:Eravamo in viaggio in Africa e abbiamo visto questi simpaticissimi whatpu.Fare un "farduddle" significa saltare su e giù molto velocemente. Un esempio di frase che usa la parola farduddle è:

Output:

Quando abbiamo vinto la partita, abbiamo iniziato a fare farduddle tutti insieme.

Possiamo osservare che il modello ha in qualche modo imparato a svolgere il compito fornendogli un solo esempio (cioè, 1-shot). Per compiti più difficili, possiamo sperimentare l’aumento delle dimostrazioni (ad esempio, 3-shot, 5-shot, 10-shot, ecc.).

Ecco qualche altro consiglio sulle dimostrazioni quando si fa few-shot:

  • lo spazio delle etichette e la distribuzione del testo di input specificato dalle dimostrazioni sono entrambi importanti (indipendentemente dal fatto che le etichette siano corrette per i singoli input);
  • anche il formato utilizzato gioca un ruolo fondamentale nelle prestazioni, anche se si utilizzano solo etichette casuali, è molto meglio che non averne affatto;
  • ulteriori risultati mostrano che anche la selezione di etichette casuali da una vera distribuzione di etichette aiuta (invece che da una distribuzione uniforme).

Proviamo alcuni esempi. Innanzitutto un esempio con etichette casuali (cioè le etichette negativo e positivo sono assegnate in modo casuale agli input):

Prompt:

E' fantastico! // NegativoQuesto è brutto! // PositivoWow, quel film era fantastico! // PositivoChe spettacolo orribile! //

Output:

Negativo

Si ottiene ancora la risposta corretta, anche se le etichette sono state generate casualmente. Si noti che abbiamo mantenuto anche il formato. In effetti, con ulteriori esperimenti, sembra che i nuovi modelli GPT stiano diventando più robusti anche nei confronti dei formati casuali. Esempio:

Prompt:

Positivo Questo è fantastico! Questo è brutto! NegativoWow, questo film era fantastico!PositivoChe spettacolo orribile! --

Output:

Negativo

Non c’è coerenza nel formato di cui sopra, ma il modello ha comunque previsto l’etichetta corretta. Dobbiamo condurre un’analisi più approfondita per confermare se questo vale per compiti diversi e più complessi, comprese diverse varianti di prompt.

Limiti di un prompt few-shot

Il prompt standard few-shot funziona bene per molti compiti, ma non è ancora una tecnica perfetta, soprattutto quando si tratta di compiti di ragionamento più complessi. Mostriamo perché questo è il caso.

La somma dei numeri dispari di questo gruppo è un numero pari: 15, 32, 5, 13, 82, 7, 1. D: 

Se si riprova, il modello produce il seguente risultato:

Sì, i numeri dispari di questo gruppo si sommano a 107, che è un numero pari.

Questa non è la risposta corretta, che non solo evidenzia i limiti di questi sistemi, ma anche la necessità di un prompt engineering più avanzato.

Proviamo ad aggiungere alcuni esempi per vedere se la richiesta a few-shot migliora i risultati.

Prompt:

La somma dei numeri dispari di questo gruppo è un numero pari: 4, 8, 9, 15, 12, 2, 1.R: La risposta è Falsa.La somma dei numeri dispari di questo gruppo è un numero pari: 17,  10, 19, 4, 8, 12, 24.R: La risposta è CorrettaLa somma dei numeri dispari di questo gruppo è un numero pari: 16,  11, 14, 4, 8, 13, 24.R: La risposta è CorrettaLa somma dei numeri dispari di questo gruppo è un numero pari: 17,  9, 10, 12, 13, 4, 2.R: La risposta è Falsa.La somma dei numeri dispari di questo gruppo è un numero pari: 15, 32, 5, 13, 82, 7, 1. R: 

Output:

La risposta è Corretta

Neanche così funziona. Sembra che un prompt few-shot non sia sufficiente per ottenere risposte affidabili per questo tipo di problemi di ragionamento. L’esempio precedente fornisce informazioni di base sul compito. Se si guarda più da vicino, il tipo di compito che abbiamo introdotto comporta alcune fasi di ragionamento in più. In altre parole, potrebbe essere utile scomporre il problema in fasi e mostrarlo al modello. Più recentemente, il chain-of-thought (CoT) prompting è stato diffuso per affrontare compiti più complessi di ragionamento aritmetico, di senso comune e simbolico.

Nel complesso, sembra che fornire esempi sia utile per risolvere alcuni compiti. Quando il prompt zero-shot e quello few-shot non sono sufficienti, potrebbe significare che quanto appreso dal modello non è sufficiente per svolgere bene il compito. Da qui si consiglia di iniziare a pensare a una messa a punto dei modelli o a sperimentare tecniche di prompt più avanzate.

Prompt Chain-of-Thought (CoT)

prompt engineering
Fonte immagine: Wei et al.

Introdotto in Wei et al., il prompt a catena di pensieri (CoT) consente di ottenere capacità di ragionamento complesse attraverso fasi di ragionamento intermedie. Si può combinare con il prompt few-shot per ottenere risultati migliori su compiti più complessi che richiedono un ragionamento prima di rispondere.

Prompt:

La somma dei numeri dispari di questo gruppo corrisponde ad un numero pari: 4, 8, 9, 15, 12, 2, 1.R: Sommando tutti i numeri dispari (9, 15, 1) si ottiene 25. La risposta è Falsa.La somma dei numeri dispari di questo gruppo è un numero pari: 17, 10, 19, 4, 8, 12, 24.R: La somma di tutti i numeri dispari (17, 19) risulta 36. La risposta è Corretta.La somma dei numeri dispari di questo gruppo è un numero pari: 16,  11, 14, 4, 8, 13, 24.R: La somma di tutti i numeri dispari (11, 13) risulta 24. La risposta è Corretta.La somma dei numeri dispari di questo gruppo è un numero pari:: 17,  9, 10, 12, 13, 4, 2.R: La somma di tutti i numeri dispari (17, 9, 13) risulta 39. La risposta è Falsa.I numeri dispari di questo gruppo si sommano in un numero pari.: 15, 32, 5, 13, 82, 7, 1. R:

Output:

La somma di numeri dispari (15, 5, 13, 7, 1) risulta 41. La risposta è Falsa.

Possiamo vedere un risultato perfetto quando forniamo la fase di ragionamento. In effetti, possiamo risolvere questo compito fornendo ancora meno esempi, cioè un solo esempio sembra sufficiente:

Prompt:

La somma dei numeri dispari in questo gruppo è un numero pari: 4, 8, 9, 15, 12, 2, 1.R: Sommando tutti i numeri dispari (9, 15, 1) si ottiene 25. La risposta è Falsa.La somma dei numeri dispari in questo gruppo è un numero pari: 15, 32, 5, 13, 82, 7, 1. R:

Output:

La somma dei numeri dispari (15, 5, 13, 7, 1) è 41. La risposta è Falsa.

Si tenga presente che si tratta di una capacità emergente che si manifesta con modelli linguistici sufficientemente grandi.

Prompt Zero-shot CoT

prompt engineering
Fonte immagine: Kojima et al.

Un’idea emersa più di recente è quella della zero-shot CoT (Kojima et al. 2022) che consiste essenzialmente nell’aggiungere la frase “Pensiamo passo dopo passo” al prompt originale. Proviamo un problema semplice e vediamo come si comporta il modello:

Prompt:

Sono andato al mercato e ho comprato 10 mele. Ho dato 2 mele al vicino e 2 al riparatore. Poi sono andato a comprare altre 5 mele e ne ho mangiata una. Quante mele mi sono rimaste?

Output:

11 mele

La risposta è errata. Proviamo ora con il prompt speciale.

Prompt:

Sono andato al mercato e ho comprato 10 mele. Ho dato 2 mele al vicino e 2 all'operaio. Poi sono andato a comprare altre 5 mele e ne ho mangiata una. Quante mele mi sono rimaste?Pensiamo passo dopo passo.

Output:

Innanzitutto, si è partiti da 10 mele.Hai dato via 2 mele al vicino e 2 all'operaio, quindi ti sono rimaste 6 mele.Poi hai comprato altre 5 mele, per cui ora ne hai 11.Infine, hai mangiato 1 mela, quindi ti sono rimaste 10 mele.

Questo semplice prompt è molto efficace nello svolgere questo compito. Dimostra di essere particolarmente utile quando non si hanno molti esempi da utilizzare nel prompt.

Chain-of-Thought automatico (Auto-CoT)

Quando si applica il prompt a catena di pensieri tramite spiegazioni, il processo comporta la creazione manuale di esempi efficaci e diversi. Questo sforzo manuale potrebbe portare a soluzioni non ottimali. Zhang et al. propongono un approccio per eliminare gli sforzi manuali sfruttando gli LLM con il prompt “Pensiamo passo dopo passo” per generare catene di ragionamento per le dimostrazioni una per una. Questo processo automatico può comunque portare a errori nelle catene generate. Per mitigare gli effetti degli errori, è importante la diversità delle spiegazioni. Questo lavoro propone Auto-CoT, che campiona domande diverse e genera catene di ragionamento per costruire le spiegazioni.

L’Auto-CoT si compone di due fasi principali:

  • Fase 1): suddivisione (clustering) delle domande: suddividere le domande di un dato insieme di dati in gruppi (cluster)
  • Fase 2): campionamento: selezionare una domanda rappresentativa da ogni cluster e generare la relativa catena di ragionamento utilizzando Zero-Shot-CoT con semplici euristiche

Semplici euristiche potrebbero essere la lunghezza delle domande (ad esempio, 60 token) e il numero di fasi del ragionamento (ad esempio, 5 fasi del ragionamento). Questo incoraggia il modello a utilizzare dimostrazioni semplici e accurate.

Il processo è illustrato qui di seguito:

prompt engineering
Fonte immagine: Zhang et al

Il codice di Auto-CoT è disponibile qui.

Creazione di prompt efficaci e informativi

La creazione di prompt efficaci e informativi è un aspetto cruciale del prompt engineering. Un prompt ben progettato deve essere in grado di fornire al modello di AI generativa tutte le informazioni necessarie per generare output di alta qualità, evitando al contempo ambiguità o informazioni ridondanti.

Innanzitutto, è importante definire chiaramente l’obiettivo del prompt, specificando il tipo di output desiderato e il contesto in cui verrà utilizzato. Questo aiuterà a indirizzare il modello verso la generazione di risultati pertinenti e coerenti.

In secondo luogo, è fondamentale includere nel prompt tutte le informazioni rilevanti e necessarie per il compito specifico. Ciò può includere dati, specifiche, requisiti o qualsiasi altra informazione che possa essere utile al modello per comprendere appieno il contesto e le aspettative.

Inoltre, è importante strutturare il prompt in modo chiaro e logico, utilizzando un linguaggio semplice e privo di ambiguità. L’utilizzo di esempi, analogie o illustrazioni può aiutare il modello a comprendere meglio il compito richiesto e a generare output più accurati.

Infine, è consigliabile testare e ottimizzare costantemente i prompt, valutando i risultati ottenuti e apportando le necessarie modifiche per migliorarne l’efficacia. Questo processo iterativo è fondamentale per garantire la creazione di prompt sempre più efficaci e informativi.

Valutazione e ottimizzazione iterativa dei risultati

Il prompt engineering non è un processo statico, ma richiede una valutazione e un’ottimizzazione costante dei risultati ottenuti. Attraverso un approccio iterativo, è possibile affinare progressivamente i prompt e migliorare la qualità degli output generati dai modelli di AI.

In primo luogo, è fondamentale stabilire criteri chiari e oggettivi per valutare l’efficacia dei prompt e dei risultati ottenuti. Questi criteri possono includere la rilevanza, la coerenza, la correttezza e la qualità complessiva degli output generati.

In seguito, è necessario analizzare attentamente i risultati ottenuti e identificare eventuali lacune o aree di miglioramento. Questa analisi può essere condotta manualmente o attraverso l’utilizzo di strumenti automatizzati di valutazione, a seconda della complessità del compito e della quantità di dati da analizzare.

Una volta identificate le aree di miglioramento, è possibile apportare modifiche mirate ai prompt, ad esempio riformulando le istruzioni, aggiungendo o rimuovendo informazioni contestuali, o modificando la struttura complessiva del prompt.

Questo processo di ottimizzazione iterativa richiede pazienza e dedizione, ma è fondamentale per garantire la creazione di prompt sempre più efficaci e per sfruttare appieno il potenziale dei modelli di AI generativa.

prompt engineering

Casi d’uso reali del prompt engineering


Secondo l’ultima indagine di McKinsey sull’AI, le organizzazioni stanno già iniziando ad apportare modifiche alle loro pratiche di assunzione che riflettono le loro ambizioni di IA. Ciò include l’assunzione di prompt engineer.

L’indagine indica due cambiamenti importanti. In primo luogo, le organizzazioni che utilizzano l’AI stanno assumendo per ruoli di prompt engineering: il 7% degli intervistati le cui organizzazioni hanno adottato l’AI sta assumendo in questa categoria. In secondo luogo, le organizzazioni che utilizzano l’AI stanno assumendo molti meno ingegneri per il software legato all’AI rispetto al 2022: il 28% delle organizzazioni ha dichiarato di aver assunto per questi ruoli nel 2023, rispetto al 39% del 2022.

Il prompt engineering sta trovando applicazione in una vasta gamma di settori e contesti, dimostrando il suo potenziale nel risolvere problemi complessi e nell’automatizzare attività ripetitive. Ecco alcuni casi d’uso reali che illustrano l’impatto del prompt engineering:

Nell’ambito dello sviluppo di applicazioni software, il prompt engineering viene utilizzato per generare automaticamente bozze di codice o componenti software, accelerando notevolmente il processo di sviluppo e riducendo i costi associati.

Nel settore legale, i prompt vengono impiegati per generare automaticamente bozze di contratti o documenti legali, garantendo la conformità normativa e riducendo il rischio di errori.

Nel campo del marketing e della comunicazione, il prompt engineering consente di creare contenuti persuasivi e coinvolgenti, come descrizioni di prodotti, copy pubblicitarie o articoli informativi.

Nel settore dell’istruzione, i prompt vengono utilizzati per creare materiali didattici personalizzati, adattati alle esigenze e al livello di conoscenza degli studenti, favorendo un apprendimento più efficace ed efficiente.

Questi sono solo alcuni esempi delle innumerevoli applicazioni del prompt engineering, che sta rivoluzionando il modo in cui le aziende e le organizzazioni affrontano le sfide e sfruttano il potenziale dell’intelligenza artificiale.

Il prompt engineering nel settore bancario


Per fare un esempio del potenziale potere del prompt engineering, prendiamo in considerazione il settore bancario. Le banche hanno molto valore da guadagnare dalla Gen AI. Secondo le stime di McKinsey, gli strumenti di intelligenza artificiale potrebbero creare un valore derivante dall’aumento della produttività fino al 4,7% del fatturato annuale del settore. Ciò si traduce in quasi 340 miliardi di dollari in più all’anno! Il prompt engineering ha un ruolo nell’aiutare le banche a catturare questo valore. Ecco come.

Supponiamo che una grande banca voglia creare le proprie applicazioni utilizzando la gen AI per migliorare la produttività dei relationship manager (RM). Gli RM passano molto tempo a esaminare documenti di grandi dimensioni, come le relazioni annuali e le trascrizioni delle chiamate agli utili, per rimanere aggiornati sulle priorità di un cliente. La banca decide di costruire una soluzione che acceda a un modello di base di intelligenza artificiale attraverso un’API (o interfaccia di programmazione delle applicazioni, che è il codice che aiuta due software a comunicare tra loro).

Lo strumento analizza i documenti e può fornire rapidamente risposte sintetiche alle domande poste dagli RM. Per assicurarsi che gli RM ricevano la risposta più accurata possibile, la banca li addestra all’ingegnerizzazione immediata. Naturalmente, la banca deve anche stabilire processi di verifica per i risultati del modello, poiché è noto che alcuni modelli hanno allucinazioni o forniscono informazioni false spacciate per vere.

Non si tratta solo di un esempio ipotetico. Nel settembre 2023, Morgan Stanley ha lanciato un assistente AI che utilizza GPT-4, con l’obiettivo di aiutare decine di migliaia di gestori patrimoniali a trovare e sintetizzare enormi quantità di dati dalla base di conoscenza interna dell’azienda. Il modello combina ricerca e creazione di contenuti, in modo che i gestori patrimoniali possano trovare e personalizzare le informazioni per qualsiasi cliente in qualsiasi momento.

Una banca europea ha sviluppato un esperto virtuale di ambiente, società e governance basato sulla gen-AI. Il modello risponde a domande complesse basate su prompt, identifica la fonte di ogni risposta ed estrae informazioni da immagini e tabelle.

In questi esempi, ipotetici e non, quanto migliore è il prompt, tanto migliore è il risultato.

prompt engineering

Generazione automatica di codice

Uno dei casi d’uso più promettenti del prompt engineering è la generazione automatica di codice. Grazie alla capacità dei modelli di AI generativa di comprendere e interpretare istruzioni complesse, è possibile utilizzare prompt ben progettati per generare automaticamente bozze di codice o componenti software.

Questo approccio offre numerosi vantaggi rispetto allo sviluppo tradizionale di software. In primo luogo, consente di accelerare notevolmente il processo di sviluppo, riducendo i tempi necessari per la scrittura del codice e consentendo ai programmatori di concentrarsi sulla revisione e l’ottimizzazione del codice generato.

Inoltre, la generazione automatica di codice basata sul prompt engineering può contribuire a ridurre il rischio di errori e bug, grazie alla capacità dei modelli di AI di generare codice coerente e conforme alle best practice di programmazione.

Articoli correlati

Articolo 1 di 4