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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:

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:

Buon prompting!