Ottimizzare l'output del modello con la progettazione dei prompt

Completato

Il modo più accessibile per ottimizzare le prestazioni di un modello consiste nell'ingegneria dei prompt. La progettazione dei prompt è il processo di progettazione e affinamento delle richieste per migliorare la qualità, l'accuratezza e la pertinenza delle risposte generate da un modello linguistico. Non richiede un'infrastruttura aggiuntiva o dati di training ed è possibile iniziare subito a sperimentare.

Informazioni sui componenti del prompt

Quando si interagisce con un modello linguistico, la qualità della domanda influisce direttamente sulla qualità della risposta. Un prompt ben costruito consente al modello di comprendere cosa serve e generare una risposta più utile.

Le richieste di modelli di completamento della chat in genere includono i componenti seguenti:

  • Messaggio di sistema: istruzioni che definiscono il comportamento, il ruolo e i vincoli del modello.
  • Messaggio utente: domanda o input dell'utente.
  • Messaggio di assistente: risposte del modello precedenti, usate nelle conversazioni a più turni.
  • Esempi: coppie di input/output di esempio che illustrano il formato di risposta previsto.

La struttura e la combinazione di questi componenti determinano in modo efficace la risposta del modello.

Progettare messaggi di sistema efficaci

Un messaggio di sistema è un set di istruzioni fornite al modello per guidare le risposte. I messaggi di sistema vengono in genere visualizzati per primi nella conversazione e fungono da set di istruzioni di livello più alto. È possibile usarli per:

  • Definire il ruolo e i limiti dell'assistente.
  • Impostare il tono e lo stile di comunicazione.
  • Specificare i formati di output, ad esempio i formati JSON o i punti elenco.
  • Aggiungere vincoli di sicurezza e qualità per lo scenario in uso.

Un messaggio di sistema può essere semplice come:

You are a helpful AI assistant.

Oppure può includere regole dettagliate e requisiti di formattazione. Ad esempio, l'applicazione chat dell'agenzia di viaggi può usare:

You are a friendly travel advisor for Margie's Travel.
Answer only questions related to travel, hotels, and trip planning.
Use a warm, conversational tone.
If you don't have enough information to answer, ask a clarifying question.
Format hotel recommendations as a bulleted list with the hotel name, location, and price range.

Importante

Un messaggio di sistema influenza il modello, ma non garantisce la conformità. È consigliabile testare e iterare sui messaggi del sistema e di sovrapporli con altre mitigazioni, ad esempio il filtro e la valutazione dei contenuti.

Quando si progetta un messaggio di sistema, seguire questo elenco di controllo:

  1. Iniziare con il ruolo dell'assistente: indicare il ruolo e il risultato previsto per una richiesta tipica.
  2. Definire i limiti: elencare gli argomenti, le azioni e i tipi di contenuto che l'assistente deve evitare.
  3. Specificare il formato di output: se è necessario un formato specifico, impostarlo in modo semplice e mantenerlo coerente.
  4. Aggiungi un criterio "quando non sicuro": indicare al modello quale to do quando la richiesta dell'utente è ambigua, fuori ambito o quando il modello non dispone di informazioni.

Applicare i modelli di prompt

I prompt efficaci usano modelli che consentono al modello di produrre risposte migliori. Ecco alcuni modelli comuni che è possibile usare:

Modello persona

Indicare al modello di assumere una prospettiva o un ruolo specifico. Ad esempio, chiedere al modello di rispondere come un esperto di marketing produce risultati diversi rispetto a non usare alcuna persona.

Nessun utente Con persona
Messaggio di sistema Nessuno Sei un esperto di marketing che scrive per clienti tecnici.
Prompt utente Scrivere una descrizione di una frase di un prodotto CRM. Scrivere una descrizione di una frase di un prodotto CRM.
risposta Un prodotto CRM è uno strumento software progettato per gestire le interazioni di un'azienda con i clienti. Esperienza di gestione delle relazioni con i clienti senza problemi con CRM, progettata per semplificare le operazioni e favorire la crescita delle vendite con analisi affidabili.

Pattern del modello di formato

Specificare un modello o una struttura nel prompt per ottenere l'output in un formato specifico. Ad esempio, se è necessaria una risposta strutturata su un hotel:

Format the result to show:
- Hotel name
- Location
- Star rating
- Price range per night

Questo modello garantisce risposte coerenti e organizzate che sono facili da analizzare nell'applicazione.

Modello di catena di pensiero

Chiedere al modello di spiegarne il ragionamento passo dopo passo. Questa tecnica, denominata catena di pensiero, riduce la probabilità di risultati imprecisi e semplifica la verifica della logica del modello.

Ad esempio, invece di chiedere "Quale hotel è migliore per una famiglia di quattro?", è possibile richiedere:

Which hotel is best for a family of four? Take a step-by-step approach: 
consider room size, amenities for children, location, and price.

Una tecnica correlata consiste nell'suddividere l'attività in passaggi secondari espliciti prima che il modello risponda, anziché chiedergli di ragionare per tutto in una sola volta. Ad esempio, è possibile chiedere al modello di estrarre i fatti chiave da un passaggio e quindi in una richiesta di completamento chiedergli di rispondere a una domanda basata su tali fatti. La scomposizione del lavoro in questo modo riduce gli errori in attività complesse e in più parti.

Annotazioni

La richiesta a catena di pensieri è una tecnica per i modelli non deduttivi. I modelli di ragionamento, come i modelli o-series, gestiscono internamente la logica dettagliata.

Modello di apprendimento con pochi esempi

Fornire uno o più esempi dell'input e dell'output desiderati per consentire al modello di identificare il modello desiderato. Questa tecnica è denominata apprendimento con pochi scatti (o una sola ripresa per un singolo esempio). Quando non vengono forniti esempi, si parla di apprendimento zero-shot.

Ad esempio, per classificare le richieste dei clienti:

Classify the following customer messages:

Message: "I need to change my flight to Rome"
Category: Booking change

Message: "What's the weather like in Bali in March?"
Category: Travel information

Message: "Can I get a refund for my cancelled tour?"
Category:

Il modello apprende il modello di classificazione dagli esempi e completa correttamente l'ultima voce.

Usare sintassi chiara e delimitatori chiari

Quando il prompt include più sezioni, ad esempio istruzioni, testo di origine ed esempi, usare delimitatori come ---, intestazioni Markdown o tag XML per separarli. I limiti chiari consentono al modello di distinguere le istruzioni dal contenuto e ridurre la probabilità di interpretazione errata.

Suggerimento

I modelli possono essere soggetti a distorsioni di recency, ovvero il testo vicino alla fine di una richiesta può avere maggiore influenza rispetto al testo all'inizio. Se il modello non segue le istruzioni in modo coerente, provare a ripetere l'istruzione chiave alla fine del prompt.

Configurare i parametri del modello

Oltre al testo delle richieste, è possibile modificare i parametri del modello che controllano il modo in cui il modello genera risposte:

  • Temperatura: controlla la casualità dell'output. Un valore più alto (ad esempio, 0,7) produce risposte più creative e diverse, mentre un valore inferiore (ad esempio, 0,2) produce risposte più mirate e deterministiche. Usare valori inferiori per le attività effettive e valori più elevati per quelli creativi.
  • Top_p: controlla anche la casualità, ma in modo diverso. Limita il modello a un subset dei token successivi più probabili. Ad esempio, un top_p valore pari a 0,9 indica che il modello considera solo i primi 90% di token probabili.

Suggerimento

La raccomandazione generale è quella di regolare la temperatura o top_p, non entrambe contemporaneamente.

Per lo scenario dell'agenzia di viaggi, è possibile usare una temperatura bassa (0,2) quando si rispondono a domande concrete sui servizi alberghieri, ma una temperatura più elevata (0,7) quando si generano suggerimenti per itinerari di viaggio creativi.

Quando l'ingegneria del prompt è sufficiente

La progettazione dei prompt è il punto di partenza giusto per qualsiasi sforzo di ottimizzazione del modello. È efficace quando è necessario:

  • Guida il tono, il formato e il comportamento del modello.
  • Specificare istruzioni specifiche per un'attività.
  • Iterare rapidamente sui risultati senza modificare l'infrastruttura.
  • Mantenere bassi i costi, in quanto non è necessario alcun training o storage di dati aggiuntivi.

Tuttavia, la progettazione dei prompt presenta limiti. Se il modello non ha access alle informazioni necessarie (ad esempio il catalogo hotel dell'azienda) o se non riesce a mantenere in modo coerente un comportamento specifico nonostante istruzioni dettagliate, è necessario prendere in considerazione strategie aggiuntive.