Ingegneria dei prompt
Visita il nostro tutorial sull’ingegneria dei prompt per imparare a creare prompt tramite un corso interattivo.
Claude offre prestazioni di base di alto livello out of the box. Tuttavia, l’ingegneria dei prompt può aiutarti a migliorare ulteriormente le sue prestazioni e ad affinare le sue risposte per adattarsi meglio al tuo caso d’uso specifico. Queste tecniche non sono necessarie per ottenere buoni risultati con Claude, ma potresti trovarle utili per migliorare i tuoi input e output.
Per iniziare rapidamente con un prompt o per essere introdotto al concetto di prompting, consulta introduzione al prompting.
Cos’è l’ingegneria dei prompt?
L’ingegneria dei prompt è una scienza empirica che comporta l’iterazione e il test dei prompt per ottimizzare le prestazioni. La maggior parte dello sforzo speso nel ciclo di ingegneria dei prompt non è in realtà nella scrittura dei prompt. Piuttosto, la maggior parte del tempo di ingegneria dei prompt viene spesa nello sviluppo di un solido set di valutazioni, seguito da test e iterazioni rispetto a tali valutazioni.
Il ciclo di vita dello sviluppo dei prompt
Consigliamo un approccio di sviluppo guidato dai test basato su principi per garantire prestazioni ottimali dei prompt. Percorriamo il processo di alto livello che utilizziamo quando sviluppiamo prompt per un’attività, come illustrato nel diagramma che accompagna.
- Definire l’attività e i criteri di successo: Il primo e più cruciale passo è definire chiaramente l’attività specifica che vuoi che Claude svolga. Potrebbe trattarsi di qualsiasi cosa, dall’estrazione di entità, al question answering o al riassunto di testi, fino a compiti più complessi come la generazione di codice o la scrittura creativa. Una volta definita chiaramente l’attività, stabilisci i criteri di successo che guideranno il tuo processo di valutazione e ottimizzazione.
I principali criteri di successo da considerare includono:- Prestazioni e accuratezza: Quanto bene deve performare il modello sull’attività?
- Latenza: Qual è il tempo di risposta accettabile per il modello? Questo dipenderà dai requisiti in tempo reale della tua applicazione e dalle aspettative degli utenti.
- Prezzo: Qual è il tuo budget per l’esecuzione del modello? Considera fattori come il costo per chiamata API, la dimensione del modello e la frequenza di utilizzo.
Avere criteri di successo chiari e misurabili fin dall’inizio ti aiuterà a prendere decisioni informate durante tutto il processo di adozione e a garantire che tu stia ottimizzando per gli obiettivi giusti.
- Sviluppare casi di test: Con l’attività e i criteri di successo definiti, il passo successivo è creare un set diversificato di casi di test che coprano i casi d’uso previsti per la tua applicazione. Questi dovrebbero includere sia esempi tipici che casi limite per garantire che i tuoi prompt siano robusti. Avere casi di test ben definiti in anticipo ti consentirà di misurare oggettivamente le prestazioni dei tuoi prompt rispetto ai tuoi criteri di successo.
- Progettare il prompt preliminare: Successivamente, crea un prompt iniziale che delinei la definizione dell’attività, le caratteristiche di una buona risposta e qualsiasi contesto necessario per Claude. Idealmente dovresti aggiungere alcuni esempi di input e output canonici che Claude possa seguire. Questo prompt preliminare servirà come punto di partenza per il perfezionamento.
- Testare il prompt rispetto ai casi di test: Fornisci i tuoi casi di test a Claude utilizzando il prompt preliminare. Valuta attentamente le risposte del modello rispetto agli output attesi e ai criteri di successo. Utilizza una rubrica di valutazione coerente, che si tratti di valutazione umana, confronto con una chiave di risposta o anche del giudizio di un’altra istanza di Claude basato su una rubrica. La chiave è avere un modo sistematico per valutare le prestazioni.
- Perfezionare il prompt: In base ai risultati del passaggio 4, perfeziona iterativamente il tuo prompt per migliorare le prestazioni sui casi di test e soddisfare meglio i tuoi criteri di successo. Ciò potrebbe comportare l’aggiunta di chiarimenti, esempi o vincoli per guidare il comportamento di Claude. Fai attenzione a non ottimizzare eccessivamente per un insieme ristretto di input, poiché ciò può portare a overfitting e scarsa generalizzazione.
- Distribuire il prompt perfezionato: Una volta arrivato a un prompt che funziona bene su tutti i tuoi casi di test e soddisfa i tuoi criteri di successo, è il momento di distribuirlo nella tua applicazione. Monitora le prestazioni del modello in the wild e sii pronto a fare ulteriori perfezionamenti se necessario. Potrebbero emergere casi limite che non erano stati previsti nel tuo set di test iniziale.
Durante questo processo, vale la pena iniziare con il modello più capace e la lunghezza del prompt non vincolata per stabilire un limite massimo di prestazioni. Una volta raggiunta la qualità di output desiderata, puoi quindi sperimentare ottimizzazioni come prompt più brevi o modelli più piccoli per ridurre la latenza e i costi secondo necessità.
Seguendo questa metodologia guidata dai test e definendo attentamente l’attività e i criteri di successo in anticipo, sarai sulla buona strada per sfruttare la potenza di Claude per il tuo caso d’uso specifico. Se investi tempo nella progettazione di casi di test e prompt robusti, ne raccoglierai i benefici in termini di prestazioni e manutenibilità del modello.
Tecniche di ingegneria dei prompt
Durante il tuo ciclo di sviluppo dei prompt, ci sono alcune tecniche che puoi utilizzare per migliorare le prestazioni di Claude, come:
- Essere chiari e diretti: Fornisci istruzioni chiare e contesto per guidare le risposte di Claude
- Usare esempi: Includi esempi nei tuoi prompt per illustrare il formato o lo stile di output desiderato
- Dare un ruolo a Claude: Prepara Claude a ricoprire un ruolo specifico (come quello di un esperto) per aumentare le prestazioni per il tuo caso d’uso
- Usare tag XML: Incorpora tag XML per strutturare prompt e risposte per una maggiore chiarezza
- Concatenare i prompt: Dividi attività complesse in passaggi più piccoli e gestibili per ottenere risultati migliori
- Lasciare che Claude pensi: Incoraggia il pensiero passo dopo passo per migliorare la qualità dell’output di Claude
- Precompilare la risposta di Claude: Inizia la risposta di Claude con alcune parole per guidare il suo output nella direzione desiderata
- Controllare il formato di output: Specifica il formato di output desiderato per garantire coerenza e leggibilità
- Chiedere a Claude di riscrivere: Richiedi revisioni basate su una rubrica per far sì che Claude iteri e migliori il suo output
- Suggerimenti per finestre di contesto lunghe: Ottimizza i prompt che sfruttano le finestre di contesto più lunghe di Claude
Forniamo anche un metaprompt di aiuto sperimentale che spinge Claude a creare un prompt per te in base alle linee guida che fornisci. Il metaprompt è sperimentale, ma può essere utile per redigere un prompt iniziale o per creare rapidamente molte varianti di prompt per i test.
Nota: I modelli più vecchi della famiglia Claude 3 potrebbero richiedere più ingegneria dei prompt. Per ulteriori informazioni, consulta la nostra guida ai modelli legacy.
Risorse aggiuntive
Per saperne di più sull’ingegneria dei prompt, consulta queste risorse:
- Anthropic Cookbook: Una serie di ricette sotto forma di notebook Jupyter che presentano codice copiabile che dimostra come utilizzare Claude in una varietà di modi interessanti ed efficaci in scenari più avanzati, come caricare PDF, uso di strumenti e chiamate di funzioni, embedding e altro ancora
- Tutorial interattivo sull’ingegneria dei prompt: Un tutorial pratico passo dopo passo per facilitare l’apprendimento di strategie di prompting efficaci (richiede una chiave API)
- C’è anche una chiave di risposta di accompagnamento se desideri vedere esempi di soluzioni.
- Libreria di prompt: Una raccolta di prompt precompilati per attività comuni, divertenti e utili per una varietà di casi d’uso personali e professionali
- SDK client: una serie di strumenti per semplificare la creazione e l’integrazione di Claude nelle tue applicazioni
Buon prompting!