Strategie di progettazione dei prompt

La progettazione di prompt è il processo di creazione di prompt, o richieste in linguaggio naturale, che generano risposte accurate e di alta qualità da un modello linguistico.

Questa pagina introduce concetti di base, strategie e best practice per iniziare a progettare prompt in modo da ottenere il massimo dai modelli di IA di Gemini.

Guide ai prompt specifici per argomento

Cerchi strategie di prompt più specifiche? Consulta le nostre altre guide ai prompt su:

Google AI Studio ospita anche una galleria di prompt destinada a mostrare in modo interattivo molti dei concetti condivisi in questa guida.

Istruzioni chiare e specifiche

Un modo efficace ed efficiente per personalizzare il comportamento del modello è fornirgli istruzioni chiare e specifiche. Le istruzioni possono essere sotto forma di domande, attività passo passo o essere complesse come la mappatura dell'esperienza e del modo di pensare di un utente.

Input

L'input è il testo obbligatorio nel prompt a cui vuoi che il modello fornisca una risposta. Gli input possono essere una domanda a cui il modello risponde (input di domanda), un'attività eseguita dal modello (input di attività), un'entità su cui il modello opera (input di entità) o un input parziale che il modello completa o prosegue (input di completamento).

Tipo di input Prompt Output generato
Domanda

    What's a good name for a flower shop that specializes in selling bouquets of
    dried flowers? Create a list of 5 options with just the names.

    Here are 10 names for a flower shop specializing in dried flowers:

    1. Everlasting Blooms
    2. Dried & Delightful
    3. The Petal Preserve
    4. Whispers of Wildflowers
    5. Forever Blooms
    
Attività
    Give me a simple list of just the things that I must bring on a camping trip. The list should have 5 items.
    1. **Tent:** Your shelter from the elements.
    2. **Sleeping Bag:** Stay warm and comfortable.
    3. **Sleeping Pad:** Insulation and cushioning for a good night's sleep.
    4. **Headlamp or Flashlight:** Light for nighttime activities.
    5. **First Aid Kit:** Be prepared for minor injuries.
Entità

    Classify the following items as [large, small]:
Elephant
Mouse
Snail

Here's the classification:

* **Elephant:** Large
* **Mouse:** Small
* **Snail:** Small
    

Completamento dell'input parziale

I modelli linguistici generativi funzionano come uno strumento avanzato di completamento automatico. Quando fornisci contenuti parziali, il modello può fornire il resto dei contenuti o ciò che ritiene essere una continuazione di questi contenuti come risposta. Se includi esempi o contesto, il modello può tenerli conto.

L'esempio seguente fornisce un prompt con un'istruzione e un input di entità:

For the given order, return a JSON object that has the fields cheeseburger, hamburger, fries, or
drink, with the value being the quantity.

Order: A burger and a drink.
  
{
  "cheeseburger": 0,
  "hamburger": 1,
  "fries": 0,
  "drink": 1
}
  

Anche se il modello ha eseguito la richiesta, scrivere le istruzioni in linguaggio naturale talvolta può essere complicato e lascia molto all'interpretazione del modello. Ad esempio, il menu di un ristorante potrebbe contenere molti elementi. Per ridurre le dimensioni della risposta JSON, probabilmente è meglio omettere gli articoli che non sono stati ordinati. In questo caso, puoi fornire un esempio e un prefisso di risposta e lasciare che il modello lo completi:

Valid fields are cheeseburger, hamburger, fries, and drink.
Order: Give me a cheeseburger and fries
Output:
```
{
  "cheeseburger": 1,
  "fries": 1
}
```
Order: I want two burgers, a drink, and fries.
Output:
  
```
{
  "hamburger": 2,
  "drink": 1,
  "fries": 1
}
```
  

Tieni presente che "cheeseburger" è stato escluso dall'output perché non faceva parte dell'ordine.

Vincoli

Specifica eventuali vincoli per la lettura del prompt o la generazione di una risposta. Puoi indicare al modello cosa fare e cosa non fare. Ad esempio, puoi specificare un vincolo nel prompt sulla lunghezza del riepilogo:

Summarize this text in one sentence:
Text: A quantum computer exploits quantum mechanical phenomena to perform calculations exponentially
faster than any modern traditional computer. At very tiny scales, physical matter acts as both
particles and as waves, and quantum computing uses specialized hardware to leverage this behavior.
The operating principles of quantum devices is beyond the scope of classical physics. When deployed
at scale, quantum computers could be used in a wide variety of applications such as: in
cybersecurity to break existing encryption methods while helping researchers create new ones, in
meteorology to develop better weather forecasting etc. However, the current state of the art quantum
computers are still largely experimental and impractical.
    

      Exploiting quantum mechanical phenomena, quantum computers can perform calculations exponentially faster than traditional computers for potential applications like cybersecurity and meteorology, although they are currently largely experimental and impractical.
    

Formato della risposta

Puoi fornire istruzioni che specificano il formato della risposta. Ad esempio, puoi chiedere di formattare la risposta come tabella, elenco puntato, elevator pitch, parole chiave, frase o paragrafo. La seguente istruzione di sistema indica al modello di adottare un tono più colloquiale nella risposta:

    All questions should be answered comprehensively with details, unless the user requests a concise response specifically.
  
    What is a smart way to make a business that sells DVD's in 2025?
  
Starting a business selling DVDs in 2025 presents significant challenges due to the overwhelming dominance of digital streaming and on-demand services; a "smart" approach would therefore require a highly specialized niche, a strong value proposition beyond just the disc, and likely a focus on community or collector markets rather than mainstream consumption.

Here's a breakdown of what a smart DVD business in 2025 would likely entail:

1. Extreme Niche Specialization: You cannot compete with streaming libraries. Your business must focus on what digital doesn't offer easily or at all. This could include:

    * Out-of-Print & Rare Titles: Sourcing films or TV shows that have never been released digitally or are currently unavailable on major streaming platforms.
    ....
  

Formattare le risposte con la strategia di completamento

Anche la strategia di completamento può aiutarti a formattare la risposta. Nel seguente esempio, il modello viene invitato a creare uno schema di un saggio:

Create an outline for an essay about hummingbirds.
  
Here is a possible outline for an essay about hummingbirds:

I. Introduction
A. Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
B. Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds.
C. Thesis Statement: State the main point of the essay, which could be about the remarkable adaptations, behaviors, and ecological importance of hummingbirds.

II. Appearance and Identification
.....
  

Il prompt non ha specificato il formato per lo schema e il modello ha scelto un formato per te. Per fare in modo che il modello restituisca un riassunto in un formato specifico, puoi aggiungere il testo che rappresenta l'inizio del riassunto e lasciare che il modello lo completi in base al pattern che hai avviato.

Create an outline for an essay about hummingbirds.
I. Introduction
   *
  
Okay, here is an outline for an essay about hummingbirds, starting from the introduction you provided:

I. Introduction
* Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
* Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds, and their general characteristics.
* Thesis Statement: State the main point of the essay, focusing on the remarkable adaptations, behaviors, and ecological significance that make hummingbirds extraordinary.
.....
  

Prompt zero-shot e prompt few-shot

Puoi includere nel prompt degli esempi che mostrano al modello cosa si intende per risposta corretta. Il modello tenta di identificare pattern e relazioni dagli esempi e li applica durante la generazione di una risposta. I prompt che contengono alcuni esempi sono chiamati prompt few-shot, mentre quelli che non forniscono esempi sono chiamati prompt zero-shot. I prompt few-shot vengono spesso utilizzati per regolare la formattazione, la formulazione, l'ambito o il modello generale delle risposte del modello. Utilizza esempi specifici e vari per aiutare il modello a restringere il campo e generare risultati più accurati.

Ti consigliamo di includere sempre esempi con pochi esempi nei prompt. I prompt senza esempi con pochi esempi hanno maggiori probabilità di essere meno efficaci. In effetti, puoi rimuovere le istruzioni dal prompt se gli esempi sono abbastanza chiari per mostrare l'attività da svolgere.

Il seguente prompt zero-shot chiede al modello di scegliere la spiegazione migliore.

Please choose the best explanation to the question:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Explanation1 is the better explanation because it provides more detail on the
process, including how ice crystals combine and grow into snowflakes as they
fall through the atmosphere.
  

Se il tuo caso d'uso richiede che il modello produca risposte concise, puoi includere nel prompt esempi che danno la preferenza alle risposte concise.

Il prompt seguente fornisce due esempi che mostrano la preferenza per le spiegazioni più brevi. Nella risposta, puoi vedere che gli esempi hanno indotto il modello a scegliere la spiegazione più breve (Explanation2) rispetto a quella più lunga (Explanation1), come faceva in precedenza.

Below are some examples showing a question, explanation, and answer format:

Question: Why is the sky blue?
Explanation1: The sky appears blue because of Rayleigh scattering, which causes
shorter blue wavelengths of light to be scattered more easily than longer red
wavelengths, making the sky look blue.
Explanation2: Due to Rayleigh scattering effect.
Answer: Explanation2

Question: What is the cause of earthquakes?
Explanation1: Sudden release of energy in the Earth's crust.
Explanation2: Earthquakes happen when tectonic plates suddenly slip or break
apart, causing a release of energy that creates seismic waves that can shake the
ground and cause damage.
Answer: Explanation1

Now, Answer the following question given the example formats above:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Answer: Explanation2
  

Numero ottimale di esempi

Modelli come Gemini possono spesso rilevare schemi utilizzando alcuni esempi, anche se potrebbe essere necessario sperimentare il numero di esempi da fornire nel prompt per ottenere i risultati migliori. Allo stesso tempo, se includi troppi esempi, il modello potrebbe iniziare a overfit la risposta agli esempi.

Pattern e anti-pattern

L'utilizzo di esempi per mostrare al modello un pattern da seguire è più efficace dell'utilizzo di esempi per mostrare al modello un antipattern da evitare.

Pattern escluso:

Don't end haikus with a question:
Haiku are fun
A short and simple poem
Don't you enjoy them?
  

Modello positivo:

Always end haikus with an assertion:
Haiku are fun
A short and simple poem
A joy to write
  

Formato coerente

Assicurati che la struttura e la formattazione degli esempi con pochi esempi siano uguali per evitare risposte con formati indesiderati. Uno degli scopi principali dell'aggiunta di esempi con pochi scatti nei prompt è mostrare al modello il formato della risposta. Pertanto, è essenziale garantire un formato coerente per tutti gli esempi, prestando particolare attenzione ai tag XML, agli spazi bianchi, ai caratteri di fine riga e agli elementi di separazione degli esempi.

Aggiungi contesto

Puoi includere in un prompt le istruzioni e le informazioni di cui il modello ha bisogno per risolvere un problema, anziché presumere che il modello disponga di tutte le informazioni richieste. Queste informazioni contestuali aiutano il modello a comprendere i vincoli e i dettagli di ciò che gli chiedi di fare.

Nell'esempio seguente viene chiesto al modello di fornire indicazioni per la risoluzione dei problemi relativi a un router:

What should I do to fix my disconnected wifi? The light on my Google
Wifi router is yellow and blinking slowly.
  
  A yellow blinking light on your Google Wifi router usually indicates a problem
  with the internet connection. Here are some steps to troubleshoot and fix the
  issue:
  1. Restart your router and modem:
    - Unplug your modem from the power outlet and wait for 30 seconds.
    - Plug your modem back in and wait for it to fully boot up.
    - Unplug your Google Wifi router and wait for 30 seconds.
    - Plug your Google Wifi router back in and wait for it to fully boot up.
.....
  

La risposta sembra contenere informazioni generiche per la risoluzione dei problemi non specifiche per il router o per lo stato delle spie LED.

Per personalizzare la risposta per il router specifico, puoi aggiungere al prompt la guida alla risoluzione dei problemi del router come contesto a cui fare riferimento quando fornisci una risposta.

Answer the question using the text below. Respond with only the text provided.
Question: What should I do to fix my disconnected wifi? The light on my Google Wifi router is yellow and blinking slowly.

Text:
Color: Slowly pulsing yellow
What it means: There is a network error.
What to do:
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.

Color: Fast blinking yellow
What it means: You are holding down the reset button and are factory resetting this device.
What to do:
If you keep holding down the reset button, after about 12 seconds, the light will turn solid yellow. Once it is solid yellow, let go of the factory reset button.

Color: Solid yellow
What it means: Router is factory resetting.
What to do:
This can take up to 10 minutes. When it's done, the device will reset itself and start pulsing white, letting you know it's ready for setup.

Color: Solid red
What it means: Something is wrong.
What to do:
Critical failure. Factory reset the router. If the light stays red, contact Wifi customer support.
  
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.
  

Aggiungi prefissi

Un prefisso è una parola o una frase che aggiungi ai contenuti del prompt e che può avere diversi scopi, a seconda di dove lo inserisci:

  • Prefisso di input:l'aggiunta di un prefisso agli indicatori di input indica al modello le parti semanticamente significative dell'input. Ad esempio, i prefissi "English:" e "French:" delimitano due lingue diverse.
  • Prefisso di output:anche se l'output viene generato dal modello, puoi aggiungere un prefisso per l'output nel prompt. Il prefisso di output fornisce al modello informazioni su cosa è previsto come risposta. Ad esempio, il prefisso di output "JSON:" indica al modello che l'output deve essere in formato JSON.
  • Prefisso di esempio: nei prompt few-shot, l'aggiunta di prefissi agli esempi fornisce le etichette che il modello può utilizzare per generare l'output, il che semplifica l'analisi dei contenuti dell'output.

Nell'esempio seguente, "Testo:" è il prefisso di input e "La risposta è:" è il prefisso di output.

Classify the text as one of the following categories.
- large
- small
Text: Rhino
The answer is: large
Text: Mouse
The answer is: small
Text: Snail
The answer is: small
Text: Elephant
The answer is:
  
The answer is: large
  

Suddividere i prompt in componenti

Per i casi d'uso che richiedono prompt complessi, puoi aiutare il modello a gestire questa complessità suddividendo le cose in componenti più semplici.

  1. Suddividi le istruzioni:anziché avere molte istruzioni in un prompt, crea un prompt per istruzione. Puoi scegliere quale prompt elaborare in base all'input dell'utente.

  2. Concatena i prompt:per le attività complesse che richiedono più passaggi sequenziali, rivedi ogni passaggio come prompt e concatena i prompt in una sequenza. In questa catena sequenziale di prompt, l'output di un prompt nella sequenza diventa l'input del prompt successivo. L'output dell'ultimo prompt nella sequenza è l'output finale.

  3. Risposte aggregate:l'aggregazione viene utilizzata quando vuoi eseguire diverse attività parallele su parti diverse dei dati e aggregare i risultati per produrre l'output finale. Ad esempio, puoi chiedere al modello di eseguire un'operazione sulla prima parte dei dati, un'altra sul resto dei dati e aggregare i risultati.

Sperimenta con i parametri del modello

Ogni chiamata inviata a un modello include valori parametro che controllano il modo in cui il modello genera una risposta. Il modello può generare risultati diversi per valori parametro diversi. Sperimenta diversi valori parametro per ottenere i valori migliori per l'attività. I parametri disponibili per i vari modelli possono variare. I parametri più comuni sono:

  1. Token di output massimi:specifica il numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.

  2. Temperatura:la temperatura controlla il grado di casualità nella selezione dei token. La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati topP e topK. Le temperature più basse sono ideali per prompt che richiedono risposte più deterministiche o meno aperte, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0 è deterministica, il che significa che viene sempre selezionata la risposta con la probabilità più alta.

  3. topK: il parametro topK cambia il modo in cui il modello seleziona i token per l'output. Un valore topK pari a 1 indica che il token selezionato è il più probabile tra tutti i token nel vocabolario del modello (chiamato anche decodifica greedy), mentre un valore topK pari a 3 indica che il token successivo viene selezionato tra i tre più probabili utilizzando la temperatura. Per ogni fase di selezione dei token, vengono campionati i topK token con le probabilità più alte. I token vengono poi ulteriormente filtrati in base a topP e il token finale viene selezionato utilizzando il campionamento con temperatura.

  4. topP: il parametro topP cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile al meno probabile finché la somma delle loro probabilità non corrisponde al valore topP. Ad esempio, se i token A, B e C hanno una probabilità di 0,3, 0,2 e 0,1 e il valore di topP è 0,5, il modello seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato. Il valore predefinito di topP è 0,95.

  5. stop_sequences: imposta una sequenza di interruzione per indicare al modello di interrompere la generazione di contenuti. Una sequenza di interruzione può essere qualsiasi sequenza di caratteri. Cerca di evitare di utilizzare una sequenza di caratteri che potrebbe comparire nei contenuti generati.

Strategie di iterazione dei prompt

A volte, la progettazione dei prompt può richiedere alcune iterazioni prima di ottenere in modo coerente la risposta che stai cercando. Questa sezione fornisce alcune indicazioni su cosa puoi provare quando esegui l'iterazione dei prompt:

  1. Utilizza frasi diverse: l'utilizzo di parole o frasi diverse nei prompt spesso genera risposte diverse dal modello, anche se tutte significano la stessa cosa. Se non ottieni i risultati previsti dal prompt, prova a riformularlo.

    Version 1:
    How do I bake a pie?
    
    Version 2:
    Suggest a recipe for a pie.
    
    Version 3:
    What's a good pie recipe?
      

  2. Passa a un'attività analoga: se non riesci a far sì che il modello segua le tue istruzioni per un'attività, prova a fornirgli istruzioni per un'attività analoga che ottenga lo stesso risultato.

    Questo prompt indica al modello di classificare un libro utilizzando categorie predefinite:

    Which category does The Odyssey belong to:
    thriller
    sci-fi
    mythology
    biography
      
        The Odyssey belongs to the category of **mythology**. 
    
        Here's why:
    
        * **Mythology:** The Odyssey tells the story of Odysseus, a hero from Greek mythology, and his
        journey home after the Trojan War. It features gods, monsters, and supernatural events common to
        Greek mythology.
    .....
      

    La risposta è corretta, ma il modello non è rimasto nei limiti delle opzioni. Inoltre, vuoi che il modello risponda solo con una delle opzioni anziché con una frase completa. In questo caso, puoi riformulare le istruzioni come una domanda a scelta multipla e chiedere al modello di scegliere un'opzione.

    Multiple choice problem: Which of the following options describes the book The Odyssey?
    Options:

    • thriller
    • sci-fi
    • mythology
    • biography
    The correct answer is mythology. 
    

  3. Modifica l'ordine dei contenuti del prompt: l'ordine dei contenuti nel prompt può talvolta influire sulla risposta. Prova a cambiare l'ordine dei contenuti e osserva come influisce sulla risposta.

    Version 1:
    [examples]
    [context]
    [input]
    
    Version 2:
    [input]
    [examples]
    [context]
    
    Version 3:
    [examples]
    [input]
    [context]
    

Risposte di riserva

Una risposta di riserva è una risposta restituita dal modello quando il prompt o la risposta attivano un filtro di sicurezza. Un esempio di risposta di riserva è: "Non posso aiutarti perché sono solo un modello linguistico".

Se il modello risponde con una risposta di riserva, prova ad aumentare la temperatura.

Cose da evitare

  • Evita di fare affidamento su modelli per generare informazioni oggettive.
  • Da usare con cautela per problemi di matematica e logica.

Modelli generativi sotto il cofano

Lo scopo di questa sezione è rispondere alla domanda: le risposte dei modelli generativi sono casuali o deterministiche?

La risposta breve è sì a entrambe le domande. Quando chiedi un prompt a un modello generativo, viene generata una risposta text in due fasi. Nella prima fase, il modello generativo elabora il prompt di input e genera una distribuzione di probabilità sui possibili token (parole) che potrebbero comparire successivamente. Ad esempio, se fornisci il prompt con il testo di input "Il cane ha saltato sopra il ... ", il modello generativo produrrà un array di parole successive probabili:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Questo processo è deterministico; un modello generativo produrrà la stessa distribuzione ogni volta che viene inserito lo stesso testo del prompt.

Nella seconda fase, il modello generativo converte queste distribuzioni in risposte di testo effettive tramite una delle diverse strategie di decodifica. Una strategia di decodifica semplice potrebbe selezionare il token più probabile a ogni passo temporale. Questo procedura sarebbe sempre deterministica. Tuttavia, puoi scegliere di generare una risposta campionando in modo casuale la distribuzione restituita dal modello. Questo processo sarebbe stocastico (casuale). Controlla il grado di casualità consentito in questo processo di decodifica impostando la temperatura. Con una temperatura pari a 0, vengono selezionati solo i token più probabili e non c'è alcuna casualità. Al contrario, una temperatura elevata inserisce un elevato grado di casualità nei token selezionati dal modello, portando a risposte del modello più impreviste e sorprendenti.

Passaggi successivi