Panoramica delle strategie di prompt

Sebbene non esista un modo giusto o sbagliato di progettare un prompt, esistono strategie comuni che puoi utilizzare per influenzare le risposte del modello. Test e valutazioni rigorosi rimangono fondamentali per ottimizzare 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 le relazioni tra le unità linguistiche. Quando ricevono del testo (il prompt), i modelli linguistici possono prevedere ciò che probabilmente verrà dopo, come un sofisticato strumento di completamento automatico. Pertanto, quando progetti i prompt, considera i diversi fattori che possono influenzare ciò che viene previsto dal modello.

Flusso di lavoro del prompt engineering

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

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

Diagramma del flusso di lavoro del prompt engineering

Come creare un prompt efficace

Sono due gli 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 all'attività. Queste informazioni possono includere istruzioni, esempi, informazioni contestuali e così via. Per maggiori dettagli, consulta Componenti di un prompt.

  • Struttura:

    Anche se nel prompt vengono fornite tutte le informazioni richieste, fornire la struttura delle informazioni aiuta il modello ad analizzare le informazioni. Aspetti come l'ordinamento, l'etichettatura e l'utilizzo dei delimitatori possono influire sulla qualità delle risposte. Per un esempio di struttura dei prompt, consulta Esempio di modello di prompt.

Componenti di un prompt

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

Componente Descrizione Esempio
Scopo Gli obiettivi che vuoi raggiungere con il modello. Fornisci informazioni specifiche e includi eventuali obiettivi generali. Chiamato anche "missione" o "obiettivo". Il tuo obiettivo è aiutare gli studenti con problemi di matematica senza fornire direttamente loro la risposta.
Istruzioni Istruzioni dettagliate su come eseguire questa operazione. Chiamato anche "attività", "passi" o "indicazioni stradali".
  1. Cerca di capire cosa chiede il problema.
  2. Cerca di capire dove è bloccato lo studente.
  3. Suggerimento per il passaggio successivo del problema.
Componenti facoltativi
Istruzioni di sistema

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

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

Sei un esperto di programmazione e sei specializzato nel rendering del codice per le interfacce front-end. Quando descriviamo un componente di un sito web che voglio creare, restituisci i codici HTML e CSS necessari per farlo. Non fornire spiegazioni per questo codice. Offri anche alcuni suggerimenti per la progettazione dell'interfaccia utente.
Utente tipo Chi o come funziona il modello. Chiamato anche "ruolo" o "visione". Qui lavori come insegnante di matematica per aiutare gli studenti a fare i compiti.
Vincoli Limitazioni relative a ciò che il modello deve rispettare quando genera una risposta, incluse quelle che può o non può fare. Definite anche "barriere", "confini" o "controlli". Non fornire la risposta direttamente allo studente. Fornisci invece suggerimenti sul passaggio successivo per la risoluzione del problema. Se lo studente si è perso completamente, fornisci i passaggi dettagliati per risolvere il problema.
Tono Il tono della risposta. Puoi anche influenzare lo stile e il tono specificando un 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à da svolgere. Chiamato anche "background", "documenti" o "dati di input". Una copia del programma 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 "campioni". input: Sto cercando di calcolare quante palline da golf possono inserire in una scatola che ha un volume di un metro cubo. Ho convertito un metro cubo in centimetri cubi e lo 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 inserite in uno spazio con un'efficienza perfetta. I tuoi calcoli prendono in considerazione l'efficienza massima di compressione delle sfere.
Passaggi per ragionare Chiedi al modello di spiegarne il ragionamento. Questo a volte può migliorare la capacità di ragionamento del modello. È chiamato anche "processo di riflessione". Spiega passo dopo passo il tuo ragionamento.
Formato della risposta Il formato in cui vuoi che sia la risposta. Ad esempio, puoi indicare al modello di generare la risposta in formato JSON, tabella, Markdown, paragrafo, elenco puntato, parole chiave, presentazione breve e così via. Chiamato anche "struttura", "presentazione" o "layout". Formatta la risposta in Markdown.
Riepilogo Ripetizione concisa dei punti chiave del prompt, in particolare i vincoli e il formato di risposta, alla fine del prompt. Non rivelare la risposta e fornire indizi. Formatta sempre la risposta in formato Markdown.
Misure di protezione Le domande sono basate sulla missione del bot. Chiamate anche "regole di sicurezza". N/A

A seconda delle attività specifiche da svolgere, puoi scegliere di includere o escludere alcuni dei componenti facoltativi. Puoi anche modificare l'ordine dei componenti e verificare in che modo questo può influire sulla risposta.

Modello di prompt di esempio

Il seguente modello di prompt mostra un esempio di come potrebbe essere 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:

Passaggi successivi