Tecniche di prompt engineering

Autori:

Vrunda Gadesha

AI Advocate | Technical Content Author

Le tecniche di prompt engineering sono strategie utilizzate per progettare e strutturare prompt, query di input o istruzioni, fornite ai modelli AI, in particolare ai modelli linguistici di grandi dimensioni (LLM) come GPT-4 di OpenAI, Google Gemini o IBM® Granite. Queste tecniche mirano a guidare i sistemi di AI generativa (gen AI) a produrre risposte accurate, pertinenti e contestualmente appropriate, consentendo agli utenti di ottenere gli output desiderati in modo efficace.

I modelli linguistici di grandi dimensioni, basati su algoritmi avanzati di machine learning, sono in grado di comprendere e generare testo simile a quello umano. Il prompt engineering utilizza questa capacità creando input che aiutano il modello a svolgere attività complesse, come il riepilogo, la traduzione, la scrittura creativa o la risoluzione dei problemi, con maggiore precisione. Sperimentando diverse strutture di prompt, gli utenti possono influenzare il comportamento degli LLM per ottimizzarne le prestazioni in diverse applicazioni.

Poiché l'AI generativa continua a svolgere un ruolo chiave in vari domini, la comprensione delle tecniche di prompt engineering è diventata essenziale per sbloccare il suo pieno potenziale e personalizzare i modelli AI al fine di soddisfare esigenze specifiche in modo efficiente.

Comprendere i prompt

Un prompt è l'input fornito a un modello AI, come un modello linguistico di grandi dimensioni, per generare una risposta. Serve come meccanismo principale per guidare il comportamento del modello, definire il compito e impostare il contesto per l'interazione. La progettazione di un prompt influisce in modo significativo sulla qualità e sulla pertinenza dell'output, rendendo essenziale la scelta del tipo di prompt giusto per attività specifiche.

Per ottenere i migliori risultati dai modelli AI, è essenziale comprendere i vari modi in cui i prompt possono essere strutturati per adattarsi ad attività e obiettivi diversi. Esistono tre modi principali per strutturare il prompt: istruzioni dirette, istruzioni aperte e istruzioni specifiche per l'attività.

Le istruzioni dirette sono comandi chiari e specifici che dicono all'AI esattamente cosa fare. Questi prompt sono ideali per le attività semplici in cui l'utente ha una chiara aspettativa per l'output. I prompt diretti si basano sulla capacità del modello di analizzare istruzioni esplicite e generare risposte che si allineano strettamente al comando. Più dettagliate sono le istruzioni, più è probabile che l'output soddisfi le aspettative.

Esempio:

Write a poem about nature.

In questo caso, l'AI conosce il formato esatto [una poesia] e l'argomento [la natura] per generare il testo.

Le istruzioni aperte sono meno restrittive e incoraggiano l'AI a esplorare idee più ampie o a fornire risposte creative e interpretative. Queste istruzioni sono utili per il brainstorming, la narrazione o le discussioni esplorative in cui l'utente apprezza la varietà e l'originalità dell'output. I prompt aperti attingono alle funzionalità generative del modello senza imporre vincoli. Il modello si basa sui dati di addestramento per dedurre l'approccio migliore al prompt, che può produrre risultati diversi o inaspettati.

Esempio:

Tell me about the universe.

Qui l'AI ha la libertà di decidere quali aspetti dell'universo discutere, come origine, struttura o teorie scientifiche.

Le istruzioni specifiche per l'attività sono progettate per attività precise e orientate agli obiettivi, come traduzioni, riassunti o calcoli. Questi prompt sono spesso formulati con chiarezza e possono includere contesto o esempi aggiuntivi per garantire risposte accurate. I prompt specifici per l'attività utilizzano la comprensione di attività specifiche da parte del modello.. Possono incorporare tecniche di prompting come generazione di prompt few-shot (fornendo esempi) o generazione di prompt zero-shot (senza fornire esempi ma basandosi sulle conoscenze pre-addestrate del modello).

Esempio: 

Translate this text into French: ‘Hello.’

Il modello comprende sia l'attività di traduzione linguistica sia il testo di input specifico, producendo l'output desiderato: "Bonjour".

Comprendendo questi tipi di prompt e le sfumature tecniche alla base, gli utenti possono creare prompt in grado di guidare efficacemente i modelli AI, ottimizzando la qualità e la pertinenza delle risposte. 

Pensa oltre i prompt e considera il contesto completo 

Resta aggiornato sulle ultime novità del settore, sugli strumenti di AI e sulle tendenze emergenti nel prompt engineering con la Think Newsletter. Inoltre, avrai accesso a nuovi articoli esplicativi, tutorial e insight, direttamente nella tua casella di posta. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

Tecniche chiave di prompt engineering

Per massimizzare l'efficacia dei modelli AI, il prompt engineering utilizza una varietà di tecniche su misura per compiti e obiettivi diversi. Di seguito sono riportate diverse tecniche chiave, ognuna spiegata con esempi di prompt progettati per ottenere risultati specifici. 

Per dimostrare l'efficacia di varie tecniche di prompt engineering, consideriamo un solo compito come caso d'uso principale, ovvero spiegare il cambiamento climatico. L'attività è strutturata come segue: 

Explain the concept of climate change, its causes, and its effects in a way that is accessible to a general audience.

Ogni tecnica affronta l'attività in modo diverso, offrendo diversi livelli di guida, complessità e metodologia. Di seguito, esploriamo come queste tecniche possono essere applicate a questo caso d'uso, con prompt personalizzati per evidenziarne le capacità uniche.

Generazione di prompt zero-shot

La generazione di prompt zero-shot implica che al modello venga chiesto di eseguire un'attività senza fornire esempi o indicazioni precedenti. Si basa interamente sulle conoscenze preaddestrate dell'AI per interpretare e rispondere al prompt.[1]

Esempio di prompt:

Explain the concept of climate change, its causes, and its effects in simple terms.

Al modello non vengono forniti esempi precedenti o contesti aggiuntivi e deve basarsi esclusivamente sulle sue conoscenze pre-addestrate per generare l'output.

Generazione di prompt few-shot

La generazione di prompt few-shot include un piccolo numero di esempi all'interno del prompt per dimostrare l'attività al modello. Questo approccio aiuta il modello a comprendere meglio il contesto e l'output atteso.[2]

Esempio di prompt:

Here are some examples of how to explain complex topics:

- Topic: Photosynthesis
- Explanation: Photosynthesis is the process by which plants convert sunlight, water, and carbon dioxide into energy and oxygen.
- Topic: Gravity
- Explanation: Gravity is the force that pulls objects toward each other, like how the Earth pulls us to its surface.

Now explain: Climate Change.

Fornendo alcuni esempi su come spiegare altri argomenti, il modello si basa sul tono e sul livello di semplicità previsti per la spiegazione del cambiamento climatico.

Prompt Chain of thought (CoT)

Il prompt CoT incoraggia il modello a ragionare su un problema passo dopo passo, scomponendolo in componenti più piccoli per arrivare a una conclusione logica.[3]

Esempio di prompt:

Step 1: Define what climate change is.
Step 2: Explain the causes of climate change.
Step 3: Describe its effects on the planet.

Now, follow these steps to explain climate change.

Il modello è incoraggiato a pensare passo dopo passo, suddividendo la spiegazione in parti più piccole e logiche per una maggiore chiarezza.

Meta prompt

Il meta prompting implica che venga chiesto al modello di generare o perfezionare i propri prompt per eseguire meglio l'attività. Questa tecnica può migliorare la qualità dell'output utilizzando la capacità del modello di dirigersi in modo autonomo.[4]

Esempio di prompt:

Create a prompt that will help you explain climate change, its causes, and its effects in simple terms

Il modello genera il proprio prompt prima di tentare di spiegare l'argomento, migliorando potenzialmente la pertinenza e la qualità dell'output.

Autoconsistenza

L'autoconsistenza utilizza più generazioni indipendenti del modello per identificare la risposta più coerente o accurata. È particolarmente utile per compiti che richiedono ragionamento o interpretazione.[5]

Esempio di prompt:

Provide three different explanations of climate change, its causes, and its effects. Then identify the most coherent and clear explanation

Il modello produce più risposte indipendenti e seleziona quella più consistente o coerente come output finale.

Generare prompt di conoscenza

Questa tecnica consiste nel chiedere al modello di generare conoscenze di base prima di affrontare il compito principale, migliorando la sua capacità di produrre risposte informate e accurate.[6]

Esempio di prompt:

Before explaining climate change, first list the key scientific principles related to it. Once done, use these principles to explain the concept, its causes, and its effects.

Il modello genera innanzitutto conoscenze di base (ad esempio, gas serra, riscaldamento globale) per fornire una spiegazione più informata.

Concatenamento dei prompt

Il concatenamento dei prompt implica il collegamento di più prompt, in cui l'output di un prompt funge da input per il successivo. Questa tecnica è ideale per i processi in più fasi.

Esempio di prompt:

What is climate change? Provide a brief definition.

Prompt successivo in base alla risposta precedente:

What are the primary causes of climate change?

Prompt successivo in base alla risposta precedente: 

What are the effects of climate change on the environment and human life?

L'attività è suddivisa in una catena di prompt più piccoli, con l'output di ogni passaggio che alimenta quello successivo per una spiegazione più strutturata.

Prompt Tree of thoughts

Il prompt Tree of thoughts incoraggia il modello a esplorare più rami del ragionamento o delle idee prima di arrivare a un output finale.[7][8]

Esempio di prompt:

List three possible ways to explain climate change to a general audience. For each method, describe its advantages and disadvantages. Then choose the best explanation and elaborate on it

Il modello esplora diversi approcci alla spiegazione e seleziona quello più efficace, fornendo un output ben strutturato.

Retrieval Augmented Generation (RAG)

La retrieval-augmented generation (RAG) combina il recupero di informazioni esterne con l'AI generativa per produrre risposte basate su conoscenze aggiornate o specifiche del dominio.[9]

Esempio di prompt:

Using the global temperature datasets from NASA GISS (GISTEMP) dataset on climate science, explain climate change, its causes, and its effects in simple terms.

Il modello combina le sue capacità generative con la conoscenza esterna per produrre una spiegazione informata.

Ragionamento automatico e uso degli strumenti

Questa tecnica integra le capacità di ragionamento con strumenti esterni o application programming interface (API), consentendo al modello di utilizzare risorse come calcolatori o motori di ricerca.[10]

Esempio di prompt:

Use the provided climate data to calculate the global temperature rise over the last century, and then explain how this relates to climate change, its causes, and its effects.

Il modello integra il ragionamento con strumenti esterni (ad esempio calcolatori o API) per analizzare i dati e fornire una spiegazione basata sui dati.

Prompt engineer automatico

Questo metodo prevede l'utilizzo dell'AI stessa per generare e ottimizzare i prompt per attività specifiche, automatizzando il processo di creazione di istruzioni efficaci.

Esempio di prompt:

Generate a prompt that will help explain climate change, its causes, and effects. Then use the generated prompt to provide the explanation.

Il modello automatizza la creazione di un prompt ottimizzato per migliorare la qualità della risposta.

Prompt attivo

Il prompt attivo regola dinamicamente il prompt in base agli output intermedi del modello, perfezionando l'input per ottenere risultati migliori.[11]

Prompt iniziale

Explain climate change, its causes, and its effects in simple terms.

Prompt di follow-up

Add more detail about the causes of climate change, focusing on human activities.

Il prompt si evolve dinamicamente in base all'output intermedio, perfezionando la risposta nel corso delle iterazioni.

Directional stimulus prompting

Il directional stimulus prompting (DSP) utilizza segnali direzionali per spingere il modello verso un tipo specifico di risposta o prospettiva.[12]

Esempio di prompt:

Explain the concept of climate change from an environmentalist’s perspective, focusing on the need for immediate action.

Il modello viene spinto verso una prospettiva o un tono specifici, influenzando la spiegazione.

Modelli linguistici assistiti da programma (PALM)

PALM integra le funzionalità di programmazione per aumentare le capacità di ragionamento e di calcolo del modello.[13]

Esempio di prompt:

Write Python code to visualize the increase in global temperatures over time. Then explain how this data relates to climate change, its causes, and its effects.

Il modello combina la programmazione con la generazione di linguaggi per fornire sia una visualizzazione che una spiegazione.

ReAct

ReAct combina prompt di ragionamento e azione, incoraggiando il modello a pensare in modo critico e ad agire in base al suo ragionamento.[14]

Esempio di prompt:

Analyze the following climate data and identify key trends. Based on your analysis, explain the concept of climate change, its causes, and its effects.

Questo esempio illustra come il modello può combinare il ragionamento analitico con insight fruibili.

Riflessione

La riflessione consente al modello di valutare i suoi output precedenti e di perfezionarli per una maggiore accuratezza o coerenza.[15]

Esempio di prompt:

Here is my first attempt at explaining climate change: [Insert initial output]. Review this explanation and improve it for clarity and accuracy.

Il modello riflette sull'output precedente e lo migliora iterativamente.

Multimodal chain of thought (multimodal CoT)

Questa tecnica integra il ragionamento chain of thought attraverso più modalità, come testo, immagini o audio.[16]

Esempio di prompt:

Analyze this infographic on global warming trends, then explain climate change, its causes, and its effects step by step

Il modello integra il ragionamento attraverso più modalità (testo e immagini) per fornire una spiegazione completa.

Prompt grafici

Il prompt grafico utilizza le strutture basate sui grafici per organizzare e ragionare attraverso relazioni complesse tra concetti o punti dati.

Esempio di prompt:

Using the provided graph of CO₂ emissions over time, explain how it relates to climate change, its causes, and its effects.

Il modello utilizza il ragionamento basato su grafici per collegare i punti dati e generare una spiegazione approfondita.

Possiamo quindi vedere come diverse tecniche di prompt engineering possono essere applicate a una singola attività. Utilizzando la stessa attività con metodi come zero-shot, few-shot, chain of thought e tree of thoughts, possiamo vedere come ogni tecnica struttura l'attività in modo diverso e guida l'AI a produrre risposte uniche. Questi esempi dimostrano la flessibilità e la creatività del prompt engineering nel risolvere una serie di sfide. I lettori sono incoraggiati a provare questi esempi di prompt con diversi modelli AI o applicazioni, come i modelli IBM Granite, ChatGPT di OpenAI, Bard di Google, Claude di Anthropic, Cohere o Jurassic di AI21 Labs. Ciò consente agli utenti di vedere come variano gli output e a trovare ciò che funziona meglio per le loro esigenze.

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Sfide delle tecniche di prompt engineering

Sebbene le tecniche di prompt engineering siano potenti, introducono diverse sfide. Creare prompt efficaci che producano costantemente output accurati può essere difficile, soprattutto per attività che richiedono ragionamenti complessi, comprensione del buon senso o risposte sfumate. L'allucinazione è un altro problema comune, in cui i modelli AI generano informazioni imprecise o completamente inventate. Affidarsi a modelli strutturati o perfezionare il modello può aiutare a mitigare alcuni di questi problemi, tuttavia la progettazione di prompt che funzionino in diversi scenari rimane un processo basato su tentativi. Inoltre, bilanciare le funzionalità generali dell'intelligenza artificiale con obiettivi specifici può essere difficile, in particolare per attività specializzate o specifiche del dominio.

Applicazioni delle tecniche di prompt engineering

Le tecniche di prompt engineering hanno una vasta gamma di applicazioni in vari campi. Nei chatbot, aiutano a perfezionare le risposte generate per migliorare le interazioni degli utenti in tempo reale. Per gli sviluppatori, i prompt possono aiutare a generare frammenti di codice o creare tutorial dettagliati per concetti di programmazione. Nella formazione, possono semplificare le spiegazioni o risolvere un problema di matematica con un ragionamento dettagliato. Le aziende utilizzano il prompt engineering per il processo decisionale, generando output dell'AI approfonditi e personalizzati in base a scenari specifici. Su larga scala, queste tecniche sono utilizzate nella creazione di contenuti, nel supporto clienti e nei workflow automatizzati, rendendo i sistemi AI più efficienti e adattabili a diverse attività.

Il futuro delle tecniche di prompt engineering

Il futuro del prompt engineering risiede nel progresso dell'elaborazione del linguaggio naturale per contribuire a garantire risposte più accurate e pertinenti in diverse applicazioni. Via via che i modelli AI si evolvono, la loro capacità di ragionamento migliorerà, consentendo loro di gestire attività più complesse con prompt minimi. Possiamo anche aspettarci lo sviluppo di strumenti e framework più intelligenti per automatizzare e ottimizzare la creazione di prompt, rendendo le interazioni con l'AI più intuitive, efficienti e personalizzate per gli utenti in vari domini.

Riepilogo

Le tecniche di prompt engineering sono essenziali per ottimizzare le interazioni con l'AI e sbloccare tutto il potenziale dei modelli linguistici di grandi dimensioni. Utilizzando approcci strutturati come zero-shot, few-shot, chain of thought e tree of thoughts, queste tecniche consentono all'AI di affrontare un'ampia gamma di attività, dai chatbot al processo decisionale e alla formazione. Nonostante sfide come le allucinazioni e la progettazione di prompt efficaci, le applicazioni del prompt engineering continuano a espandersi in tutti i domini, fornendo output dell'AI più intelligenti e personalizzati. Con il progredire dei progressi nell'elaborazione del linguaggio naturale e nelle capacità di ragionamento, il futuro del prompt engineering promette un'efficienza e un'adattabilità ancora maggiori. I lettori sono incoraggiati a sperimentare queste tecniche su diversi modelli AI per esplorarne le funzionalità e perfezionare i risultati.

Soluzioni correlate
IBM® watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi AI
Prossimi passi

Attraverso l'AI, IBM Concert scopre insight di importanza chiave sulle operazioni e fornisce raccomandazioni specifiche per migliorare le applicazioni. Scopri come Concert può migliorare il tuo business.

Esplora Concert Esplora le soluzioni di automazione dei processi aziendali
Note a piè di pagina

[1] Wei, J., Bosma, M., Zhao, V.Y., Guu, K., Yu, A.W., Lester, B., Du, N., Dai, A.M. and Le, Q.V., 2021. Finetuned language models are zero-shot learners. arXiv preprint arXiv:2109.01652.

[2] Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M.A., Lacroix, T., Rozière, B., Goyal, N., Hambro, E., Azhar, F. and Rodriguez, A., 2023. Llama: modelli linguistici di base aperti ed efficienti. arXiv preprint arXiv:2302.13971.

[3] Wei, J., Wang, X., Schuurmans, D., Bosma, M., Xia, F., Chi, E., Le, Q.V. and Zhou, D., 2022. Chain-of-thought prompting elicits reasoning in large language models. Advances in neural information processing systems, 35, pp.24824-24837.

[4] Zhang, Y., Yuan, Y. and Yao, A.C.C., 2023. Meta prompting for ai systems. arXiv prestampa arXiv:2311.11482.

[5] Wang, X., Wei, J., Schuurmans, D., Le, Q., Chi, E., Narang, S., Chowdhery, A. and Zhou, D., 2022. Self-consistency improves chain of thought reasoning in language models. arXiv preprint arXiv:2203.11171.

[6] Liu, J., Liu, A., Lu, X., Welleck, S., West, P., Bras, R.L., Choi, Y. and Hajishirzi, H., 2021. Generated knowledge prompting for commonsense reasoning. arXiv preprint arXiv:2110.08387.

[7] Yao, S., Yu, D., Zhao, J., Shafran, I., Griffiths, T., Cao, Y. and Narasimhan, K., 2023. Tree of thoughts: Deliberate problem solving with large language models. Advances in neural information processing systems, 36, pp.11809-11822.

[8] Long, J., 2023. Large language model guided tree-of-thought. arXiv preprint arXiv:2305.08291.

[9] Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W.T., Rocktäschel, T. and Riedel, S., 2020. Retrieval-augmented generation for knowledge-intensive nlp tasks. Advances in neural information processing systems, 33, pp.9459-9474.

[10] Paranjape, B., Lundberg, S., Singh, S., Hajishirzi, H., Zettlemoyer, L. and Ribeiro, M.T., 2023. Art: Automatic multi-step reasoning and tool-use for large language models. arXiv preprint arXiv:2303.09014.

[11] Diao, S., Wang, P., Lin, Y., Pan, R., Liu, X. and Zhang, T., 2023. Active prompting with chain-of-thought for large language models. arXiv preprint arXiv:2302.12246.

[12] Li, Z., Peng, B., He, P., Galley, M., Gao, J. and Yan, X., 2023. Guiding large language models via directional stimulus prompting. Advances in Neural Information Processing Systems, 36, pp.62630-62656

[13] Gao, L., Madaan, A., Zhou, S., Alon, U., Liu, P., Yang, Y., Callan, J. and Neubig, G., 2022. Pal: program-aided language models. arXiv. arXiv preprint arXiv:2211.10435.

[14] Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K. and Cao, Y., gennaio 2023. React: Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR).

[15] Shinn, N., Cassano, F., Gopinath, A., Narasimhan, K. and Yao, S., 2023. Reflexion: Language agents with verbal reinforcement learning. Advances in Neural Information Processing Systems, 36, pp.8634-8652.

[16] Zhang, Z., Zhang, A., Li, M., Zhao, H., Karypis, G. and Smola, A., 2023. Multimodal chain-of-thought reasoning in language models. arXiv preprint arXiv:2302.00923.

[17] Liu, Z., Yu, X., Fang, Y. and Zhang, X., aprile 2023. Graphprompt: Unifying pre-training and downstream tasks for graph neural networks. In Proceedings of the ACM web conference 2023 (pp. 417-428).