Panoramica delle strategie di prompt

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à linguistiche. 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 ingegneria dei prompt:

Diagramma del 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 Modello 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".
  1. Comprendi cosa chiede il problema.
  2. Capire dove lo studente è bloccato.
  3. Fornisci un suggerimento per il passaggio successivo del problema.
Componenti facoltativi
Istruzioni di sistema

Direttive tecniche o ambientali che potrebbero 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 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 il codice HTML e CSS necessario 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 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 opzionali. 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:

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 migliorare il rendimento del prompt.

Problemi di scrittura

  • Errori ortografici:controlla le parole chiave che definiscono l'attività (ad esempio, sumarize anziché summarize), i termini tecnici o i nomi di entità, poiché gli errori ortografici possono influire negativamente sul rendimento.
  • Grammatica:se una frase è difficile da analizzare, contiene frammenti ininterrotti, ha soggetti e verbi non corrispondenti o risulta strutturalmente goffa, il modello potrebbe non comprendere correttamente il prompt.
  • Punteggiatura:controlla l'uso di virgole, punti, virgolette e altri separatori, poiché una punteggiatura errata può indurre il modello a interpretare in modo errato il prompt.
  • Uso di gergo non definito:evita di utilizzare termini, acronimi o inizialismi specifici del dominio come se avessero un significato universale, a meno che non siano definiti esplicitamente nel prompt.
  • Chiarezza:se ti chiedi quale sia l'ambito, quali siano i passaggi specifici da seguire o quali siano le ipotesi implicite, è probabile che il prompt non sia chiaro.
  • Ambiguità:evita di utilizzare qualificatori soggettivi o relativi che non hanno una definizione concreta e misurabile. Fornisci invece vincoli oggettivi (ad esempio, "scrivi un riassunto di massimo tre frasi" anziché "scrivi un breve riassunto").
  • Informazioni chiave mancanti: se l'attività richiede la conoscenza di un documento, una policy aziendale, una cronologia utente o un set di dati specifico, assicurati che queste informazioni siano incluse in modo esplicito nel prompt.
  • Scelta delle parole errata:controlla il prompt per individuare frasi inutilmente complesse, vaghe o prolisse, in quanto potrebbero confondere il modello.
  • Revisione secondaria:se il modello continua a funzionare male, chiedi a un'altra persona di rivedere il prompt.

Problemi con le istruzioni e gli esempi

  • Manipolazione palese:rimuovi dal prompt il linguaggio che non rientra nell'attività principale e che tenta di influenzare il rendimento utilizzando appelli emotivi, lusinghe o pressione artificiale. Mentre i modelli di base di prima generazione hanno mostrato miglioramenti in alcune circostanze con istruzioni come "se non rispondi correttamente, succederanno cose molto brutte", le prestazioni dei modelli di base non miglioreranno più e in molti casi peggioreranno.
  • Istruzioni ed esempi in conflitto:verifica la presenza di contraddizioni logiche o incongruenze tra le istruzioni o tra un'istruzione e un esempio.
  • Istruzioni ed esempi ridondanti: esamina il prompt e gli esempi per verificare se la stessa istruzione o lo stesso concetto viene ripetuto più volte in modi leggermente diversi senza aggiungere nuove informazioni o sfumature.
  • Istruzioni ed esempi non pertinenti:verifica che tutte le istruzioni e gli esempi siano essenziali per l'attività principale. Se eventuali istruzioni o esempi possono essere rimossi senza diminuire la capacità del modello di svolgere l'attività principale, potrebbero essere irrilevanti.
  • Utilizzo di esempi "few-shot": se l'attività è complessa, richiede un formato specifico o ha un tono sfumato, assicurati che siano presenti esempi concreti e illustrativi che mostrino un input di esempio e l'output corrispondente.
  • Mancanza di specifiche del formato di output:evita di lasciare che il modello indovini la struttura dell'output. Utilizza invece un'istruzione chiara ed esplicita per specificare il formato e mostrare la struttura dell'output negli esempi few-shot.
  • Definizione del ruolo mancante:se vuoi chiedere al modello di agire in un ruolo specifico, assicurati che questo ruolo sia definito nelle istruzioni di sistema.

Problemi di progettazione di prompt e sistemi

  • Attività non specificata:assicurati che le istruzioni del prompt forniscano un percorso chiaro per la gestione dei casi limite e degli input imprevisti e forniscano istruzioni per la gestione dei dati mancanti anziché presupporre che i dati inseriti saranno sempre presenti e ben formati.
  • Attività al di fuori delle funzionalità del modello: evita di utilizzare prompt che chiedono al modello di eseguire un'attività per la quale è nota una limitazione fondamentale.
  • Troppe attività:se il prompt chiede al modello di eseguire diverse azioni cognitive distinte in un unico passaggio (ad esempio, 1. Riassumi, 2. Estrai entità, 3. Traduci e 4. scrivere una bozza di email), è probabile che stia cercando di fare troppo. Suddividi le richieste in prompt separati.
  • Formato dati non standard: quando gli output del modello devono essere leggibili automaticamente o seguire un formato specifico, utilizza uno standard ampiamente riconosciuto come JSON, XML, Markdown o YAML che può essere analizzato da librerie comuni. Se il tuo caso d'uso richiede un formato non standard, valuta la possibilità di chiedere al modello di generare l'output in un formato comune e poi utilizzare il codice per convertire l'output.
  • Ordine errato della catena di pensiero (CoT):evita di fornire esempi che mostrino il modello che genera la risposta finale strutturata prima di aver completato il ragionamento passo passo.
  • Riferimenti interni in conflitto:evita di scrivere un prompt con logica non lineare o condizioni che richiedono al modello di mettere insieme istruzioni frammentate provenienti da più punti diversi del prompt.
  • Rischio di prompt injection: verifica se esistono misure di salvaguardia esplicite relative all&#39input utentee non attendibile inserito nel prompt, in quanto può rappresentare un grave rischio per la sicurezza.

Passaggi successivi