Panoramica delle strategie di prompt

Sebbene non esista un modo giusto o sbagliato per progettare un prompt, esistono strategie comuni che che puoi utilizzare per influenzare le risposte del modello. Test e valutazioni rigorosi rimangono fondamentali per ottimizzando le prestazioni del modello.

I modelli linguistici di grandi dimensioni (LLM) vengono addestrati su grandi quantità di dati di testo per apprendere i pattern e relazioni tra le unità di lingua. Quando ricevono del testo (il prompt), i modelli linguistici possono per prevedere ciò che probabilmente verrà dopo, come un sofisticato strumento di completamento automatico. Pertanto, quando progettando i prompt, considera i diversi fattori che possono influenzare ciò che un modello prevede a questo punto.

Flusso di lavoro di progettazione dei prompt

Il prompt engineering è un processo iterativo basato su test che può migliorare le prestazioni del modello. Quando crei i prompt, è importante definire chiaramente gli obiettivi e i risultati attesi ciascun prompt e testarlo sistematicamente per identificare le aree di miglioramento.

Il seguente diagramma mostra il flusso di lavoro di prompt engineering:

Diagramma del flusso di lavoro di prompt engineering

Come creare un prompt efficace

Ci sono due aspetti di un prompt che influiscono sulla sua efficacia: contenuti e struttura.

  • Content:

    Per completare un'attività, il modello ha bisogno di tutte le informazioni pertinenti associate l'attività. Queste informazioni possono includere istruzioni, esempi, informazioni contestuali e così via attiva. Per maggiori dettagli, vedi Componenti di un prompt.

  • Struttura:

    Anche quando nel prompt vengono fornite tutte le informazioni richieste, le informazioni consente al modello di analizzare le informazioni. ad esempio l'ordinamento, l'etichettatura e l'uso di delimitatori possono tutti influenzare la qualità delle risposte. Per un esempio di struttura dei prompt, vedi Esempio di modello di prompt.

Componenti di un prompt

La tabella seguente mostra i componenti essenziali e facoltativi di un prompt:

Componente Descrizione Esempio
Obiettivo Obiettivi che vuoi ottenere con il modello. Sii specifico e includi qualsiasi informazione generale degli obiettivi. Chiamato anche "missione" o "goal". Il tuo obiettivo è aiutare gli studenti con problemi di matematica senza fornire direttamente risposta.
Istruzioni Istruzioni passo passo su come eseguire l'attività in questione. Chiamato anche "attività", "passi" o "indicazioni stradali".
  1. Comprendi cosa chiede il problema.
  2. Comprendi il punto in cui lo studente è bloccato.
  3. Fornisci un suggerimento per il passaggio successivo del problema.
Componenti facoltativi
Istruzioni di sistema

Direttive tecniche o ambientali che possono comportare il controllo o l'alterazione del per un insieme di attività. Per molte API del modello, le istruzioni di sistema sono specificate in parametro dedicato.

Le istruzioni di sistema sono disponibili solo in Gemini 1.5 Pro.

Sei un esperto di programmazione specializzato nel rendering del codice per interfacce front-end. Quando Descrivi 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. Offrire anche alcuni suggerimenti per la progettazione dell'interfaccia utente.
Utente tipo Chi o come sta agendo il modello. Chiamato anche "ruolo" o "visione". Sei un tutor di matematica che aiuta gli studenti a fare i compiti di matematica.
Vincoli Le restrizioni sugli elementi che il modello deve rispettare quando genera una risposta, compresi i il modello può e non può fare. Chiamati anche "barriere", "confini", o "controlli". Non fornire la risposta direttamente allo studente. Fornisci invece suggerimenti nel passaggio successivo per risolvere il problema. Se lo studente è completamente smarrito, fornisci i passaggi dettagliati per risolvere il problema.
Tono Il tono della risposta. Puoi anche influenzare lo stile e il tono specificando una utente tipo. Chiamato anche "stile", "voce" o "umore". Rispondi in modo informale e tecnico.
Contesto Qualsiasi informazione a cui il modello deve fare riferimento per eseguire l'attività in questione. Chiamato anche "sfondo", "documenti" o "dati di input". Una copia dei programmi delle lezioni di matematica dello studente.
Esempi di few-shot Esempi di come dovrebbe apparire la risposta per un determinato prompt. Chiamati anche "esemplari" o "samples". input: Sto cercando di calcolare quante palline da golf possono stare in una scatola che ha un volume di un metro cubo. Ho convertito un metro cubo in centimetri cubi e diviso per il volume di una pallina da golf in centimetri cubici, ma il sistema dice che la mia risposta è sbagliato.
output: Le palline da golf sono sfere e non possono essere imballate in uno spazio con efficienza operativa. I tuoi calcoli tengono conto dell'efficienza massima dell'imballaggio di sfere.
Passaggi di ragionamento Spiega al modello il suo ragionamento. Questo a volte può migliorare il ragionamento del modello funzionalità. Chiamato anche "passi del pensiero". Spiega il tuo ragionamento passo dopo passo.
Formato della risposta Il formato della risposta. Ad esempio, puoi dire al modello genera la risposta in JSON, tabella, Markdown, paragrafo, elenco puntato, parole chiave, elevatore proposta musicale 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 della risposta alla fine del prompt. Non rivelare la risposta ma fornire suggerimenti. Formatta sempre la risposta in Formato Markdown.
Misure di protezione Basa le domande sulla missione del bot. Chiamati anche "regole di sicurezza". N/D

A seconda delle attività specifiche, puoi scegliere di includere o escludere alcune delle componenti facoltativi. Puoi anche modificare l'ordine dei componenti e controllare in che modo la risposta.

Modello di prompt di esempio

Il seguente modello di prompt mostra un esempio di come potrebbe essere un prompt ben strutturato come:

      <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:

Passaggi successivi