← 返回列表

Colloquio AI Serie 12: Come ottimizzare il Prompt?

L'ottimizzazione del Prompt (Prompt Engineering / Optimization) è un'abilità chiave per far "ascoltare" i grandi modelli linguistici, specialmente nei sistemi RAG, dove determina direttamente se il modello rispetta fedelmente i contenuti recuperati, evita allucinazioni e rispetta il formato di output.


I. Principi fondamentali dell'ottimizzazione del Prompt

  1. Chiarezza > Complessità: istruzioni semplici e dirette sono spesso più efficaci di fancy chain-of-thought.
  2. Dare vincoli: dire esplicitamente al modello "cosa può fare e cosa non può fare".
  3. Fornire esempi: Few-shot è più stabile di Zero-shot.
  4. Verificabilità: far sì che il modello fornisca citazioni o livelli di confidenza per facilitare la valutazione a valle.
  5. Ottimizzazione iterativa: partire da una baseline, modificare una variabile per volta e confrontare i risultati.

II. Tecniche specifiche di ottimizzazione (dal semplice al complesso)

1. Impostazione del ruolo (System Prompt)

Sei un assistente clienti professionale. Puoi rispondere solo utilizzando il [Materiale di Riferimento] fornito qui sotto.
Se non conosci la risposta, di' direttamente "Nessuna informazione rilevante nel materiale", senza inventare.
  • Effetto: definire confini e tono.
  • Punti di ottimizzazione: tono (professionale/cordiale), forza dei vincoli (rigoroso/lassista).

2. Istruzioni chiare

❌ Scarso: "Rispondi alla domanda dell'utente."
✅ Buono: "Solo in base al [Materiale di Riferimento] qui sotto. Se il materiale non contiene la risposta, rispondi 'Non posso rispondere a questa domanda'."

3. Controllo del formato di output

Si prega di restituire l'output nel seguente formato JSON:
{
  "answer": "La tua risposta",
  "confidence": "alto/medio/basso",
  "sources": [1, 3]
}
  • Scopo: facilitare l'analisi, la citazione e il debug a valle.

4. Esempi Few-shot (molto efficaci)

Esempio 1:
Domanda: Quanti giorni di ferie ho?
Materiale di riferimento: Regole ferie: 1 anno 5 giorni, 10 anni 10 giorni.
Risposta: 1 anno 5 giorni, 10 anni 10 giorni.

Esempio 2:
Domanda: Come si calcola lo straordinario?
Materiale di riferimento: Giorni feriali 1,5x, weekend 2x.
Risposta: Giorni feriali 1,5x, weekend 2x.

Ora rispondi:
Domanda: {Domanda utente}
Materiale di riferimento: {Contenuto recuperato}
Risposta:
  • Suggerimento: gli esempi devono coprire diversi livelli di difficoltà, includendo un esempio di "non posso rispondere".

5. Citazione forzata

Alla fine della risposta, indica il numero della fonte con [citation:X]. Ad esempio: "I giorni di ferie sono 5[citation:1]."
Se si combinano più fonti, indicarle separatamente.

6. Impostazione della soglia di rifiuto

  • Vincolo duro: "Se il materiale di riferimento non è affatto correlato alla domanda, rispondi 'Materiale non pertinente'."
  • Vincolo morbido: combinare il punteggio di confidenza del recupero; al di sotto della soglia, attivare automaticamente il ramo di rifiuto.

7. Catena di Pensiero (Chain-of-Thought) per ragionamenti multi-hop

Domanda: Chi è il capo di Zhang San?
Passaggi: 1. Prima trova il dipartimento di Zhang San. 2. Poi trova il responsabile di quel dipartimento. 3. Dai la risposta finale.
Ragiona per passi e poi fornisci l'output.

8. Istruzioni negative (Negative Prompting)

Non inventare risposte. Non usare parole vaghe come "forse" o "probabilmente". Non produrre numeri al di fuori del materiale di riferimento.

III. Come valutare la qualità del Prompt?

Indicatore Significato Come misurarlo
Fedeltà La risposta è strettamente basata sul materiale di riferimento Manuale o RAGAS Faithfulness
Accuratezza del rifiuto Se rifiuta quando dovrebbe Calcolare sul test set senza risposta
Rispetto del formato Se l'output è JSON/citazione come richiesto Regex matching
Soddisfazione utente Se la risposta è utile Feedback online / A/B test

Suggerimento: preparare un piccolo set di test (20-50 casi limite), eseguirlo ogni volta che si modifica il prompt e registrare le modifiche.

IV. Trappole comuni e direzioni di ottimizzazione

Problema Possibile causa Metodo di ottimizzazione
Il modello ignora il materiale di riferimento e risponde da solo Istruzioni non abbastanza forti Cambiare in "Solo in base al materiale seguente" e mostrare rifiuto con few-shot
Il modello dice sempre "non lo so" Soglia di rifiuto troppo alta Abbassare la soglia o controllare la qualità del recupero
Output non conforme al JSON Istruzioni poco chiare Aggiungere esempi rigorosi di formato o usare function calling
Risposta troppo lunga/corta Nessuna specifica sulla lunghezza "Rispondi in non più di 3 frasi"
Ragionamento multi-hop errato Capacità di ragionamento insufficiente del modello Richiedere ragionamento passo-passo o passare a un modello più potente
Appaiono numeri/dati allucinati Il modello si basa sulla propria conoscenza Sottolineare "Non usare alcun numero che ricordi, guarda solo il materiale"

评论

暂无已展示的评论。

发表评论(匿名)