Definisci i criteri di successo e costruisci le valutazioni
Costruire un'applicazione basata su LLM di successo inizia con la definizione chiara dei tuoi criteri di successo e poi con la progettazione di valutazioni per misurare le prestazioni rispetto ad essi. Questo ciclo è centrale nel prompt engineering.
Definisci i tuoi criteri di successo
Buoni criteri di successo sono:
Specifici: Definisci chiaramente cosa vuoi ottenere. Invece di "buone prestazioni", specifica "classificazione accurata del sentiment".
Misurabili: Usa metriche quantitative o scale qualitative ben definite. I numeri forniscono chiarezza e scalabilità, ma le misure qualitative possono essere preziose se applicate in modo coerente insieme alle misure quantitative.
Anche argomenti "vaghi" come l'etica e la sicurezza possono essere quantificati:
Criteri di sicurezza
Scarso
Output sicuri
Buono
Meno dello 0,1% degli output su 10.000 prove segnalati per tossicità dal nostro filtro dei contenuti.
Raggiungibili: Basa i tuoi obiettivi su benchmark di settore, esperimenti precedenti, ricerca sull'IA o conoscenze di esperti. Le tue metriche di successo non dovrebbero essere irrealistiche rispetto alle capacità attuali dei modelli di frontiera.
Rilevanti: Allinea i tuoi criteri con lo scopo della tua applicazione e le esigenze degli utenti. Un'elevata accuratezza delle citazioni potrebbe essere fondamentale per le app mediche ma meno per i chatbot informali.
Criteri di successo comuni
Ecco alcuni criteri che potrebbero essere importanti per il tuo caso d'uso. Questo elenco non è esaustivo.
La maggior parte dei casi d'uso richiederà una valutazione multidimensionale lungo diversi criteri di successo.
Costruisci le valutazioni
Principi di progettazione delle valutazioni
Sii specifico per il compito: Progetta valutazioni che rispecchino la distribuzione dei compiti del mondo reale. Non dimenticare di considerare i casi limite!
Automatizza quando possibile: Struttura le domande per consentire una valutazione automatizzata (ad esempio, scelta multipla, corrispondenza di stringhe, valutazione tramite codice, valutazione tramite LLM).
Dai priorità al volume rispetto alla qualità: Più domande con una valutazione automatizzata dal segnale leggermente inferiore sono meglio di meno domande con valutazioni manuali umane di alta qualità.
Esempi di valutazioni
Scrivere centinaia di casi di test a mano può essere difficile! Fatti aiutare da Claude a generarne altri a partire da un insieme di base di casi di test di esempio.
Se non sai quali metodi di valutazione potrebbero essere utili per valutare i tuoi criteri di successo, puoi anche fare brainstorming con Claude!
Valuta le tue valutazioni
Quando decidi quale metodo usare per valutare le valutazioni, scegli il metodo più veloce, più affidabile e più scalabile:
Valutazione basata su codice: La più veloce e affidabile, estremamente scalabile, ma manca anche di sfumature per giudizi più complessi che richiedono meno rigidità basata su regole.
Corrispondenza esatta: output == golden_answer
Corrispondenza di stringhe: key_phrase in output
Valutazione umana: La più flessibile e di alta qualità, ma lenta e costosa. Evitala se possibile.
Valutazione basata su LLM: Veloce e flessibile, scalabile e adatta a giudizi complessi. Prima testa per garantire l'affidabilità, poi scala.
Suggerimenti per la valutazione basata su LLM
Usa rubriche dettagliate e chiare: "La risposta deve sempre menzionare 'Acme Inc.' nella prima frase. Se non lo fa, la risposta viene automaticamente valutata come 'incorrect'."
Un determinato caso d'uso, o anche un criterio di successo specifico per quel caso d'uso, potrebbe richiedere diverse rubriche per una valutazione olistica.
Empirico o specifico: Ad esempio, istruisci l'LLM a produrre solo 'correct' o 'incorrect', oppure a giudicare su una scala da 1 a 5. Le valutazioni puramente qualitative sono difficili da valutare rapidamente e su larga scala.
Incoraggia il ragionamento: Chiedi all'LLM di pensare prima di decidere un punteggio di valutazione, e poi scarta il ragionamento. Questo aumenta le prestazioni della valutazione, in particolare per i compiti che richiedono giudizi complessi.