Il prompt engineering (ingegneria dei prompt) è la pratica di scrivere, testare e rifinire le istruzioni che dai a un modello di IA perché produca il risultato che ti serve, in modo affidabile. Riguarda cosa metti in un prompt (il compito, il contesto, gli esempi, l'input) e come lo organizzi (ordine, formato, separatori). Il termine suona tecnico, ma in gran parte si tratta di scrivere con cura e controllare i risultati.
Questa pagina è l'indice della guida al prompt engineering di Coddy. Spiega perché la pratica funziona, collega ogni tecnica principale alla pagina che la insegna e mostra la differenza tra un prompt improvvisato e uno progettato.
Perché il prompt engineering funziona
Un modello linguistico genera testo prevedendo cosa viene dopo, un piccolo pezzo alla volta, in base a tutto ciò che ha davanti. Non ha accesso alle tue intenzioni, al tuo progetto o alle tue chat precedenti a meno che quel testo non sia nel suo input. Quindi il prompt non è una richiesta a una mente che ti capisce già; è l'intera situazione a cui il modello risponde.
Questo ha una conseguenza diretta. Ogni domanda che il prompt lascia aperta, il modello tende a risolverla con la scelta più tipica: il linguaggio più comune, la lunghezza più comune, il pubblico più comune. A volte la scelta tipica è quella che volevi. Quando non lo è, la soluzione è chiudere quella domanda nel prompt. Un buon prompt restringe la gamma delle risposte plausibili finché quasi tutto ciò che resta è utile.
Altri due fatti danno forma al mestiere. Le risposte vengono campionate, quindi lo stesso prompt può dare risposte diverse in esecuzioni diverse; un prompt è buono solo se funziona la maggior parte delle volte, non una volta sola. E il modello tratta tutto il testo del prompt come potenzialmente significativo, quindi un'email incollata o una frase di troppo possono essere lette come un'istruzione, a meno che tu non le segnali chiaramente come materiale.
Un prompt improvvisato e uno progettato a confronto
Entrambe le schede chiedono la stessa cosa: classificare le recensioni dei clienti in positive e negative. Confronta cosa riceve ciascuna.
Ecco un'analisi:
- Mista. All'utente piace la velocità, ma è infastidito dalle disconnessioni.
- Positiva. L'app soddisfa la sua esigenza di registrare le corse.
- Negativa. L'utente è scontento perché l'assistenza non ha risposto.
Nel complesso i giudizi sono vari: una recensione positiva, una negativa e una mista.
La risposta improvvisata è sensata per una persona che la legge, ma un programma non può usarla: le etichette sono mescolate alle spiegazioni, è comparsa una terza categoria che la domanda non prevedeva ed è stato aggiunto un riepilogo alla fine. Il prompt progettato definisce ogni etichetta, fissa la forma dell'output con un esempio e racchiude le recensioni in tag, così è meno probabile che vengano confuse con le istruzioni. Eseguito su mille recensioni, dà un output che un programma può analizzare in modo molto più coerente, e quando ti serve una garanzia, le funzioni di output strutturato dell'API e un passaggio di validazione nel tuo codice colmano il resto del divario.
Le tecniche principali
Ogni tecnica qui sotto colma un tipo diverso di divario tra ciò che intendevi e ciò che il modello ha ricevuto. La maggior parte dei prompt reali ne combina diverse.
| Tecnica | Cosa fa | Usala quando |
|---|---|---|
| Zero-shot prompting | Dà un'istruzione senza esempi | Il compito è comune e descritto chiaramente |
| Few-shot prompting | Mostra qualche esempio di input e output | Il formato o il criterio è più facile da mostrare che da descrivere |
| Chain of thought prompting | Chiede il ragionamento prima della risposta | Il problema ha più passaggi, come in matematica o logica |
| Role prompting | Stabilisce con quale voce e quali standard rispondere | Contano il pubblico e il livello |
| Output strutturato | Fissa la risposta in JSON, una tabella o un modello | Un programma o un foglio di calcolo legge il risultato |
| Delimitatori e tag XML | Separa le istruzioni dal materiale incollato | Il prompt contiene documenti, codice o testo degli utenti |
| Template di prompt | Trasforma un buon prompt in uno con spazi da compilare | Ripeti lo stesso tipo di richiesta |
| Prompt chaining | Divide un lavoro in passaggi che si alimentano a vicenda | Un solo prompt cerca di fare troppo |
| Self-consistency | Genera più risposte e tiene quella di maggioranza | Un singolo percorso di ragionamento non è affidabile |
| Tree of thought | Esplora e valuta più linee di ragionamento | Il problema richiede pianificazione o ricerca |
| ReAct | Alterna ragionamento e chiamate a strumenti | Il modello deve cercare informazioni o compiere azioni |
| Meta prompting | Fa scrivere o migliorare un prompt al modello | Non sai come formulare un prompt |
| Context engineering | Progetta tutto ciò che il modello vede, non solo l'istruzione | Costruisci un'app o un agente intorno a un modello |
Se sei all'inizio, parti dalle parti di un singolo prompt in come scrivere un prompt, poi passa al few-shot prompting e all'output strutturato. Queste tre coprono la maggior parte dei problemi di tutti i giorni.
Un prompt pensato per un programma
I prompt inseriti nel software vengono eseguiti migliaia di volte su input che nessuno ha ancora visto, quindi esplicitano più cose di un messaggio in chat. Quello qui sotto scrive messaggi di commit a partire da un diff di codice. Disattiva le parti per vedere da cosa protegge ciascuna: senza gli esempi lo stile si allontana, e senza i vincoli il modello può usare tipi che il tuo team non usa, come perf o style.
function validatePassword(password) {
- if (password.length > 8) {
+ if (password.length >= 8) {
return null;
}
return 'Password must be at least 8 characters';
}fix(auth): accetta password di esattamente 8 caratteri
- Il controllo usava > 8, quindi una password di 8 caratteri veniva rifiutata
- Ora la regola corrisponde al messaggio di errore, che dice "at least 8"
Come imparare il prompt engineering
Si impara eseguendo prompt e guardando con attenzione cosa restituiscono. Un percorso pratico:
- Impara le parti di un prompt. Compito, contesto, input, formato e vincoli. La maggior parte dei fallimenti dipende dalla mancanza di una di queste.
- Scegli un compito reale che ripeti, come riassumere ticket, spiegare errori o scrivere bozze di email, e scrivi un prompt per quello.
- Raccogli da cinque a dieci input di prova, compresi quelli scomodi: un input vuoto, uno molto lungo, uno in un'altra lingua.
- Cambia una cosa alla volta e riesegui tutti gli input. Se cambi tre cose e l'output migliora, non saprai quale modifica ha aiutato. Iterare sui prompt tratta questo ciclo in dettaglio.
- Aggiungi tecniche quando un fallimento specifico le richiede. Esempi quando il formato si allontana, ragionamento passo dopo passo quando le risposte a più passaggi sono sbagliate, delimitatori quando il testo incollato finisce nelle istruzioni.
I principali provider di modelli pubblicano anche guide al prompting per i propri modelli, e vale la pena leggerle, perché ognuna descrive a cosa risponde meglio quella famiglia di modelli.
Il prompt engineering è un lavoro?
Alcune aziende hanno assunto con il titolo di "prompt engineer", soprattutto quando i modelli di chat sono diventati accessibili a tutti. Più spesso la competenza fa parte di un altro lavoro. Gli sviluppatori scrivono prompt per le funzionalità di IA che costruiscono, i team di supporto li scrivono per gli assistenti che rispondono ai clienti, e analisti e autori li usano ogni giorno.
Nei team che costruiscono prodotti di IA, il lavoro si è allargato. Scegliere cosa entra nell'input del modello (documenti recuperati, risultati degli strumenti, cronologia della conversazione, memoria) conta quanto la formulazione dell'istruzione, e questo lavoro più ampio viene spesso chiamato context engineering. Misurare se un prompt funziona su molti input, di solito chiamato valutazione, è l'altra metà.
Cosa cambia con i modelli più recenti
Il primo prompt engineering si basava su trucchi: frasi magiche, personaggi elaborati, ripetere un'istruzione più volte. I modelli attuali seguono molto meglio le istruzioni semplici, e i modelli di ragionamento risolvono già il problema internamente prima di rispondere, quindi chiedere loro di ragionare passo dopo passo aggiunge meno di una volta.
Ciò che non è cambiato è la parte che non è mai stata un trucco. Il modello continua a non poter conoscere il tuo pubblico, i tuoi dati, i tuoi vincoli o com'è un buon risultato, a meno che tu non glielo dica. Specificare con chiarezza è la competenza che dura, ed è quella a cui questa guida dedica la maggior parte delle sue pagine.
Domande frequenti
Cos'è il prompt engineering in parole semplici?
Il prompt engineering consiste nello scrivere le istruzioni per un modello di IA con abbastanza cura da ottenere la risposta che ti serve, e poi testarle e aggiustarle finché non lo fa in modo affidabile. Riguarda cosa dici al modello (il compito, il contesto e gli esempi) e come lo organizzi (ordine, formato e separatori).
Posso imparare il prompt engineering senza saper programmare?
Sì. Le competenze di base, cioè descrivere il compito con chiarezza, fornire il contesto, dare esempi e specificare il formato dell'output, funzionano tutte in un'app di chat. Programmare diventa utile quando vuoi eseguire un prompt molte volte, testarlo su un insieme di input o passare l'output a un programma.
Quanto tempo serve per imparare il prompt engineering?
Le basi si imparano in un pomeriggio: le parti di un buon prompt e una manciata di tecniche come gli esempi few-shot e l'output strutturato. Ottenere risultati affidabili su un compito reale richiede più tempo, perché nasce dal testare il prompt su molti input e correggere i casi in cui fallisce.
Il prompt engineering è un vero lavoro?
Alcune aziende hanno assunto per ruoli come "prompt engineer", ma più spesso la competenza fa parte di un altro ruolo: sviluppatori che creano funzionalità di IA, autori, analisti e team di supporto. Nei team che costruiscono prodotti di IA si sovrappone al lavoro di valutazione e alla progettazione di tutto ciò che il modello vede, oggi spesso chiamata context engineering.
Il prompt engineering serve ancora con i modelli più recenti?
I modelli più recenti hanno bisogno di meno trucchi. Seguono meglio le istruzioni semplici, e i modelli di ragionamento risolvono i problemi senza che tu debba dire loro di ragionare passo dopo passo. Ciò che resta utile è la parte che non è mai stata un trucco: descrivere il compito, dare al modello i fatti che non può conoscere e definire com'è una buona risposta.