Questa guida fornisce una panoramica delle strategie comuni per la progettazione dei prompt e un elenco di controllo per la risoluzione dei problemi.
Anche se non esiste un modo giusto o sbagliato per progettare un prompt, ci sono strategie comuni che puoi utilizzare per influenzare le risposte del modello. Test e valutazioni rigorosi rimangono fondamentali per ottimizzare il rendimento del modello.
I modelli linguistici di grandi dimensioni (LLM) vengono addestrati su grandi quantità di dati testuali per apprendere i pattern e le relazioni tra le unità di linguaggio. Quando viene fornito un testo (il prompt), i modelli linguistici possono prevedere cosa è probabile che venga dopo, come uno strumento di completamento automatico sofisticato. Pertanto, quando progetti i prompt, considera i diversi fattori che possono influenzare ciò che un modello prevede che accadrà successivamente.
Flusso di lavoro di prompt engineering
Il prompt engineering è un processo iterativo e basato su test che può migliorare le prestazioni del modello. Quando crei prompt, è importante definire chiaramente gli obiettivi e i risultati attesi per ogni prompt e testarli sistematicamente per identificare le aree di miglioramento.
Il seguente diagramma mostra il flusso di lavoro di prompt engineering:

Come creare un prompt efficace
Esistono due aspetti di un prompt che influiscono in modo determinante sulla sua efficacia: contenuto e struttura.
- Content:
Per completare un'attività, il modello ha bisogno di tutte le informazioni pertinenti associate all'attività. Queste informazioni possono includere istruzioni, esempi, informazioni contestuali e così via. Per maggiori dettagli, vedi Componenti di un prompt.
- Struttura:
Anche quando tutte le informazioni richieste vengono fornite nel prompt, la struttura delle informazioni aiuta il modello a analizzarle. Elementi come l'ordine, l'etichettatura e l'utilizzo di delimitatori possono influire sulla qualità delle risposte. Per un esempio di struttura del prompt, consulta Template di prompt di esempio.
Componenti di un prompt
La tabella seguente mostra i componenti essenziali e facoltativi di un prompt:
Componente | Descrizione | Esempio |
---|---|---|
Obiettivo | Cosa vuoi che ottenga il modello. Sii specifico e includi eventuali obiettivi generali. Chiamata anche "missione" o "obiettivo". | Il tuo obiettivo è aiutare gli studenti con i problemi di matematica senza fornire direttamente la risposta. |
Istruzioni | Istruzioni passo passo su come eseguire l'attività in questione. Chiamati anche "attività", "passaggi" o "indicazioni". |
|
Componenti facoltativi | ||
Istruzioni di sistema | Direttive tecniche o ambientali che possono comportare il controllo o l'alterazione del comportamento del modello in una serie di attività. Per molte API di modelli, le istruzioni di sistema vengono specificate in un parametro dedicato. Le istruzioni di sistema sono disponibili in Gemini 2.0 Flash e nei modelli successivi. |
Sei un esperto di programmazione specializzato nel rendering del codice per le interfacce front-end. Quando descrivo un componente di un sito web che voglio creare, restituisci l'HTML e il CSS necessari per farlo. Non fornire una spiegazione per questo codice. Offri anche alcuni suggerimenti per la progettazione dell'interfaccia utente. |
Utente tipo | Chi o cosa interpreta il modello. Chiamata anche "ruolo" o "visione". | Sei un tutor di matematica e il tuo compito è aiutare gli studenti con i compiti di matematica. |
Vincoli | Limitazioni a cui il modello deve attenersi durante la generazione di una risposta, incluso ciò che il modello può e non può fare. Chiamate anche "guardrail", "confini" o "controlli". | Non dare direttamente la risposta allo studente. Fornisci invece suggerimenti nel passaggio successivo per risolvere il problema. Se lo studente è completamente bloccato, forniscigli i passaggi dettagliati per risolvere il problema. |
Tono | Il tono della risposta. Puoi anche influenzare lo stile e il tono specificando una persona. Chiamato anche "stile", "tono" o "atmosfera". | Rispondi in modo informale e tecnico. |
Contesto | Qualsiasi informazione a cui il modello deve fare riferimento per svolgere l'attività in questione. Chiamati anche "sfondo", "documenti" o "dati di input". | Una copia dei programmi delle lezioni di matematica dello studente. |
Esempi few-shot | Esempi di come dovrebbe apparire la risposta per un determinato prompt. Chiamati anche "esempi" o "campioni". | input: Sto cercando di calcolare quante palline da golf possono entrare in una scatola che
ha un volume di un metro cubo. Ho convertito un metro cubo in centimetri cubi e
l'ho diviso per il volume di una pallina da golf in centimetri cubi, ma il sistema dice che la mia risposta è
sbagliata.output: Le palline da golf sono sfere e non possono essere impacchettate in uno spazio con un'efficienza perfetta. I tuoi calcoli tengono conto della massima efficienza di impacchettamento delle sfere. |
Passaggi del ragionamento | Chiedi al modello di spiegare il suo ragionamento. A volte questo può migliorare la capacità di ragionamento del modello. Chiamati anche "passaggi di ragionamento". | Spiega il tuo ragionamento passo dopo passo. |
Formato della risposta | Il formato in cui vuoi che venga visualizzata la risposta. Ad esempio, puoi chiedere al modello di restituire la risposta in formato JSON, tabella, Markdown, paragrafo, elenco puntato, parole chiave, elevator pitch e così via. Chiamato anche "struttura", "presentazione" o "layout". | Formatta la risposta in Markdown. |
Riepilogo | Ripetizione concisa dei punti chiave del prompt, in particolare dei vincoli e del formato della risposta, alla fine del prompt. | Non rivelare la risposta, ma fornisci invece degli indizi. Formatta sempre la risposta in formato Markdown. |
Misure di protezione | Ancora le domande alla missione del bot. Chiamate anche "regole di sicurezza". | N/D |
A seconda delle attività specifiche da svolgere, potresti scegliere di includere o escludere alcuni dei componenti facoltativi. Puoi anche modificare l'ordine dei componenti e verificare in che modo ciò può influire sulla risposta.
Modello di prompt di esempio
Il seguente modello di prompt mostra un esempio di come potrebbe apparire un prompt ben strutturato:
<OBJECTIVE_AND_PERSONA> You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to... </OBJECTIVE_AND_PERSONA> <INSTRUCTIONS> To complete the task, you need to follow these steps: 1. 2. ... </INSTRUCTIONS> ------------- Optional Components ------------ <CONSTRAINTS> Dos and don'ts for the following aspects 1. Dos 2. Don'ts </CONSTRAINTS> <CONTEXT> The provided context </CONTEXT> <OUTPUT_FORMAT> The output format must be 1. 2. ... </OUTPUT_FORMAT> <FEW_SHOT_EXAMPLES> Here we provide some examples: 1. Example #1 Input: Thoughts: Output: ... </FEW_SHOT_EXAMPLES> <RECAP> Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc. </RECAP> |
Best practice
Le best practice per la progettazione dei prompt includono quanto segue:
- Fornisci istruzioni chiare e specifiche
- Includi esempi few-shot
- Assegnare un ruolo
- Aggiungere informazioni contestuali
- Utilizzare le istruzioni di sistema
- Prompt strutturali
- Chiedere al modello di spiegare il suo ragionamento
- Suddividere le attività complesse
- Sperimentare con i valori dei parametri
- Strategie di iterazione dei prompt
Elenco di controllo per la salute del prompt
Se un prompt non funziona come previsto, utilizza il seguente elenco di controllo per identificare potenziali problemi e migliorarne il rendimento.
Problemi di scrittura
- Errori ortografici:controlla che non ci siano errori ortografici nelle parole chiave (ad esempio, riassumere anziché riassumere), nei termini tecnici o nei nomi delle entità, in quanto possono peggiorare il rendimento.
- Grammatica:assicurati che le frasi siano grammaticalmente corrette e facili da analizzare. Evita frasi troppo lunghe, errori di concordanza tra soggetto e verbo o strutture goffe che possono confondere il modello.
- Punteggiatura:verifica che la punteggiatura, ad esempio virgole, punti e virgolette, sia utilizzata correttamente, in quanto una punteggiatura errata può portare a un'interpretazione errata.
- Terminologia indefinita: definisci eventuali termini tecnici, acronimi o sigle specifici del dominio. Non dare per scontato che il modello le conosca.
- Chiarezza: se l'ambito, i passaggi richiesti o i presupposti di base del prompt sono ambigui, il modello potrebbe fraintendere l'attività. Assicurati che tutte le istruzioni siano esplicite.
- Ambiguità: sostituisci i qualificatori soggettivi (come "breve") con vincoli oggettivi e misurabili (come "in tre frasi o meno").
- Informazioni fondamentali mancanti:includi tutto il contesto necessario. Se l'attività si basa su un documento, una norma o un set di dati specifico, fornisci queste informazioni nel prompt.
- Scelta delle parole errata:utilizza un linguaggio chiaro e conciso. Evita frasi troppo complesse, vaghe o prolisse che potrebbero confondere il modello.
- Revisione secondaria:se il rendimento del modello non migliora, chiedi a un collega di rivedere il prompt. Un punto di vista nuovo può spesso individuare problemi che potresti non aver notato.
Problemi con le istruzioni e gli esempi
- Manipolazione palese:evita di cercare di influenzare il modello con appelli emotivi, lusinghe o minacce (ad esempio, "molto dipende da questo"). Anche se a volte funzionava con i modelli precedenti, può peggiorare le prestazioni nei modelli attuali.
- Istruzioni ed esempi in conflitto:controlla il prompt per individuare eventuali contraddizioni. Assicurati che le istruzioni non siano in conflitto tra loro o con gli esempi forniti.
- Istruzioni ed esempi ridondanti: rimuovi le informazioni ridondanti. Evita di ripetere la stessa istruzione o lo stesso concetto, a meno che non aggiunga nuove informazioni o sfumature.
- Istruzioni ed esempi non pertinenti:assicurati che tutte le istruzioni e gli esempi siano pertinenti all'attività principale. Rimuovi quelli che possono essere omessi senza influire sulle prestazioni del modello.
- Utilizzo di esempi "few-shot": per attività complesse, formati specifici o toni sfumati, fornisci esempi concreti few-shot che dimostrino il pattern input-output desiderato.
- Mancanza della specifica del formato di output:definisci esplicitamente il formato di output desiderato. Non far indovinare il modello. Rafforza il formato negli esempi few-shot.
- Definizione del ruolo mancante:se il modello deve adottare un ruolo o una persona specifica, definiscilo chiaramente nelle istruzioni di sistema.
Problemi di progettazione di prompt e sistemi
- Attività non specificata:specifica come gestire i casi limite, gli input imprevisti e i dati mancanti. Non dare per scontato che tutti i dati forniti siano completi e ben formati.
- Attività al di fuori delle funzionalità del modello:assicurati che l'attività rientri nelle funzionalità note del modello. Evita di chiedergli di eseguire attività per le quali presenta limitazioni fondamentali.
- Troppe attività: evita di chiedere al modello di eseguire troppe attività distinte in un unico prompt (ad esempio, riassumere, estrarre entità e tradurre). Suddividi i flussi di lavoro complessi in una serie di prompt più semplici.
- Formato dati non standard:per gli output leggibili automaticamente, utilizza un formato standard analizzabile come JSON, XML, Markdown o YAML. Se hai bisogno di un formato personalizzato, chiedi al modello di generare prima un formato standard, poi convertilo con il tuo codice.
- Ordine errato della catena di pensiero (CoT): quando utilizzi la catena di pensiero (CoT), assicurati che gli esempi mostrino il ragionamento passo passo prima della risposta finale, non dopo.
- Riferimenti interni in conflitto: struttura il prompt in modo logico. Evita la logica non lineare o le istruzioni sparse che costringono il modello a ricomporre l'attività da diverse parti del prompt.
- Rischio di prompt injection: proteggiti dal prompt injection. Quando inserisci l'input utente non attendibile in un prompt, assicurati di aver implementato misure di sicurezza esplicite.
Passaggi successivi
- Esplora esempi di prompt nella galleria dei prompt.
- Scopri come ottimizzare i prompt per l'utilizzo con i modelli Google utilizzando lo strumento di ottimizzazione dei prompt di Vertex AI (anteprima).
- Scopri di più sulle best practice per l'AI responsabile e sui filtri di sicurezza di Vertex AI.