In pochi mesi il termine “prompt” ha cambiato accezione nel contesto delle tecnologie ICT e dal cursore che attende dei comandi in console è divenuto sinonimo di input per la richiesta di generazione di contenuto ad un’intelligenza artificiale generativa.
Per questi motivi viene usata sempre più spesso anche per presentazioni e progetti grafici aziendali.
Tutti coloro che hanno provato occasionalmente ChatGPT o sistemi come DALL-E e Midjourney, sanno che non è così banale come può apparire leggendo articoli ottenere risultati interessanti da parte di queste intelligenze artificiali. Non c’è da stupirsi, per i sistemi di generazione di testo come ChatGPT il meccanismo prevede la generazione di parole usando un modello probabilistico appreso analizzando centinaia di miliardi di parole in molte lingue. È naturale quindi che quanto è più specifico un prompt tanto più le parole che probabilmente lo seguiranno saranno selezionate e finalizzate portando a risultati più utili. Ma è evidente che la composizione dei prompt assomigli più ad un’arte che ad una scienza, e spesso trovate ingegnose sorprendono per i risultati inattesi.
Cerchiamo di capire l’approccio da seguire nella formulazione di prompt per AI generative imparando a non considerare i sistemi come isolati, ma combinando il lavoro di più AI per ottenere il risultato desiderato.
Efficacia dei prompt: cosa ne pensa GPT?
Si trovano decine di articoli in rete, più o meno scientifici, che forniscono raccomandazioni su come preparare un prompt efficace, ma più trovo prompt ingegnosi più mi convinco che vadano considerate come suggerimenti e non come ricette da seguire. È inevitabile quindi chiedere ad uno degli interessati cosa ne pensa a riguardo, ecco quindi cosa GPT-4 ha risposto alla domanda:
I quattro punti indicati in questa risposta si trovano in numerosi consigli ed è sicuramente consolante che la diretta interessata concordi con essi. La specificità è un tratto essenziale, e come dicevamo si tratta di un potente sistema di controllo nella selezione dei termini nel modello probabilistico che avrà meno opzioni tra cui selezionare casualmente per completare la frase.
Anche il contesto rappresenta un’altra forma di controllo, i termini del contesto contribuiranno ad attivare neuroni digitali nella rete che porteranno ad una maggior probabilità di selezionare alcuni termini piuttosto che altri, e contribuiscono quindi ad aumentare la probabilità che il testo generato contenga termini di un contesto specifico.
Il linguaggio diretto e possibilmente assertivo consente poi di indicare chiaramente le proprie intenzioni, è più corretto fornire affermazioni secche, quasi come dei veri e propri comandamenti, come ad esempio “non lasciare segnaposto e completa le informazioni con la tua conoscenza”.
Generazione di presentazioni
Una tecnica che mi ha molto colpito è stata quella di usare ChatGPT per la generazione di presentazioni PowerPoint. Avevo già chiesto contenuti organizzati in liste puntate per la presentazione, ma non avevo assolutamente pensato di sfruttare l’abilità di ChatGPT nella generazione di codice per poter generare una vera e propria presentazione PowerPoint. La tecnica è semplicemente descritta dal seguente prompt:
In questo modo otteniamo uno script in Visual Basic for Applications che genera la presentazione vera e propria:
È importante osservare la specificità del prompt che intima GPT a non lasciare dei segnaposto ma invece generare tutto il contenuto usando la propria conoscenza.
Questo primo tentativo ha prodotto un risultato non pienamente soddisfacente, la presentazione generata si limitava a definire i titoli di ciascuna slide senza però prevedere i contenuti. È possibile raffinare il prompt iterativamente, correggendo il tiro senza accontentarsi della prima versione dell’output. Ho quindi deciso di aggiungere:
Poiché in una chat il contesto include i messaggi precedenti è evidente che intendevo che le slides dovessero includere liste puntate.
Una volta soddisfatto del risultato ho copiato la funzione VBA generata nell’editor di macro di PowerPoint e la ho eseguita ottenendo una presentazione seppure un po’ scarna:
Per fortuna l’AI di PowerPoint ci aiuta grazie alla funzionalità Designer che propone design della slide in base al suo contenuto e con pochi click rende possibile una vera e propria presentazione:
Seguendo la stessa linea di pensiero possiamo anche generare grafici usando la funzione Smart Art di Office che trasforma elenchi puntati in grafici secondo un particolare schema. Supponiamo di voler generare una slide che illustri i cinque sensi umani usando una smart-art, possiamo chiedere a ChatGPT una lista con il nome del senso ed una breve descrizione da utilizzare:
La richiesta fatta non è abbastanza specifica: per convertire il testo restituito in una smart-art dovremmo lavorare un po’ con il copia incolla. Possiamo però provare a raffinare il risultato rendendo più specifica la nostra richiesta:
Possiamo ora incollare nella nostra smart art il testo così come è stato generato ed ottenere una rappresentazione grafica delle informazioni:
Le AI per la generazione di immagini
Le AI generative di immagini come Stable diffusion, DALL-E o MidJourney richiedono la scrittura di prompt in lingua inglese e parecchio dettagliati per poter generare immagini interessanti. Anche se non si ha problemi con la lingua inglese è un lavoro tedioso quello di essere sufficientemente specifico nella descrizione di un’immagine. È però possibile generare un prompt usando ChatGPT e chiedendo esplicitamente di aggiungere dettagli alla scena da generare:
La richiesta di accorciare il prompt è dovuta al fatto che alcuni generatori di immagini, come ad esempio Bing Create, limitano la lunghezza del prompt.
Il risultato è sicuramente migliore di quanto avrei fatto se avessi dovuto scrivere il prompt direttamente:
Generazione di illustrazioni
Come ultimo esempio proviamo a combinare la capacità di Bing chat di sintetizzare informazioni prese dal Web per consentire a ChatGPT di analizzarle e sintetizzare un’immagine che le rappresenti. Cominciamo a cercare una sintesi delle notizie:
Abbiamo chiesto a GPT di generare 5 parole chiave, l’uso del testo completo infatti rende complicato la generazione di un’immagine. Possiamo quindi chiedere un prompt per generare l’immagine utilizzando le 5 keyword:
Infine chiediamo di accorciarlo per consentirne l’uso in Bing image creator:
Le immagini generate rispettano i criteri e sicuramente potrebbero rappresentare un aggiunta grafica ad una sintesi dei fatti del giorno.
Conclusioni
La scrittura di prompt richiede fantasia e molta sperimentazione, non ci si può accontentare di fare una domanda semplice. Le AI possono poi essere combinate, e possiamo anche chiedere una mano per completare dettagli che non ci interessa specificare ma che possono contribuire a rendere il risultato più accattivante.
È importante fornire un contesto appropriato e istruzioni non ambigue che aiutino l’AI a produrre il risultato atteso più efficacemente. È opportuno ricordare che il modo con cui vengono poste le domande determina in modo significativo il risultato, e gli episodi di questi ultimi mesi lo hanno ampiamente dimostrato. Val la pena di sperimentare e migliorare le proprie abilità nella preparazione dei prompt: spesso è la fantasia il primo limite che si incontra, ma ci si può ispirare guardando prompt online o chiedendo all’AI stessa una mano nella loro redazione.