Prompt Engineering Guide
A free prompt engineering guide for ChatGPT, Claude and Gemini: how to write a prompt, the core techniques, prompts for coding, and where models fail. Every prompt on these pages is editable and opens in your own AI app.
Inizia un percorso guidato di AI PromptsPrimi passi
- Cos'è un promptUn prompt è il testo che dai a un modello di IA per dirgli cosa produrre. Scopri cosa contiene, prompt reali per testo, codice e immagini, e in cosa si differenzia dalla risposta e dal system prompt.
- Prompt engineeringIl prompt engineering è la pratica di scrivere e testare le istruzioni che dai a un modello di IA perché produca il risultato che ti serve. Questa guida spiega perché funziona e mette in ordine tutte le tecniche principali.
- Come scrivere un promptUn buon prompt è un breve incarico: un ruolo, un compito, il contesto che il modello non può indovinare, il materiale su cui lavorare, la forma della risposta e i limiti. Ogni parte evita un modo diverso in cui una risposta va storta.
- Esempi di promptTredici prompt pronti da copiare per imparare, programmare, scrivere e pianificare. Compila gli spazi, poi copia il prompt o aprilo in ChatGPT o Claude.
- System promptUn system prompt (prompt di sistema) è un insieme di istruzioni permanenti che vale per un'intera conversazione con un modello di IA. Scopri dove si imposta, cosa metterci e in cosa si differenzia da un messaggio dell'utente.
- Token e contestoI modelli di IA leggono il testo come token, piccoli pezzi di parole, e possono contenerne solo un numero limitato alla volta: la finestra di contesto. Scopri come funzionano entrambi e cosa fare quando una chat si allunga.
- TemperaturaLa temperatura controlla quanta casualità usa un modello linguistico quando sceglie ogni parola successiva. Scopri come cambia le probabilità di ogni parola, quando tenerla bassa o alta e in cosa si differenzia da top_p.
Tecniche di base
- Zero-shot promptingLo zero-shot prompting consiste nel chiedere a un modello un compito con le sole istruzioni, senza esempi della risposta. È il modo in cui la maggior parte delle persone usa ChatGPT, Claude e Gemini, e funziona bene quando il compito è comune e l'istruzione è precisa.
- Few-shot promptingIl few-shot prompting mette nel prompt alcuni esempi svolti, ognuno un input con la risposta che vuoi, così il modello copia lo schema. È il modo più rapido per insegnare un formato, un insieme di etichette o uno stile interno che il modello non indovinerebbe.
- Chain of thoughtIl chain of thought prompting (catena di pensiero) chiede a un modello di scrivere il suo ragionamento prima di dare la risposta. Aiuta soprattutto nei problemi di matematica e logica a più passaggi, e conta meno con i modelli di ragionamento, che pensano già prima di rispondere.
- Role promptingIl role prompting dà al modello una parte da interpretare, come un tutor, un revisore di codice o un selezionatore. Un ruolo cambia per chi viene scritta la risposta e quale standard rispetta; non aggiunge conoscenze che il modello non ha.
- Output strutturatoL'output strutturato consiste nel chiedere al modello una risposta con una forma fissa, come JSON, una tabella o un modello, così che un programma o una persona possa usarla senza rimaneggiarla. Dai lo schema, di' cosa fare con i valori mancanti e valida il risultato nel codice.
- Delimitatori e tag XMLI delimitatori segnano dove inizia e dove finisce il materiale incollato, così il modello distingue le tue istruzioni dal testo su cui deve lavorare. Funzionano virgolette, tripli backtick, righe ### e tag XML; i tag XML scalano meglio quando un prompt contiene più materiali.
- Template di promptUn template di prompt è un prompt che hai già testato, con spazi per le parti che cambiano ogni volta. Copia template pronti con campi da compilare, poi trasforma il tuo prompt migliore in un template in cinque passaggi.
Tecniche avanzate
- Prompt chainingIl prompt chaining (concatenare i prompt) divide un lavoro in una sequenza di prompt più piccoli, in cui l'output di ogni passaggio diventa l'input del successivo. Ogni passaggio fa una sola cosa, e puoi controllarne il risultato prima che parta il successivo.
- Self-consistencyLa self-consistency (autoconsistenza) pone la stessa domanda di ragionamento più volte, lascia che ogni esecuzione ragioni a modo suo e tiene la risposta che compare più spesso. Qui vedi come funziona, come applicarla a mano e come farlo nel codice.
- Tree of thoughtIl tree of thought prompting (albero di pensiero) fa esplorare al modello più soluzioni parziali, fa valutare ciascuna e tiene solo i rami promettenti. Qui vedi come funziona il metodo originale, una versione in un solo prompt da provare e dove quella versione non basta.
- ReAct promptingIl ReAct prompting fa alternare a un modello il ragionamento su un compito e la chiamata a uno strumento, leggendo ogni risultato prima di decidere il passo successivo. È il ciclo dietro la maggior parte degli agenti IA.
- Meta promptingIl meta prompting consiste nell'usare un modello per lavorare sui prompt: scriverne uno da zero, migliorarne uno che hai già o dividere un compito in prompt per altre chiamate al modello. Ecco come fare ciascuna cosa senza ricevere in cambio un prompt gonfiato.
- Context engineeringIl context engineering (ingegneria del contesto) consiste nel decidere tutto ciò che entra nella finestra di contesto di un modello a ogni chiamata: istruzioni, documenti, risultati degli strumenti, memoria e cronologia della conversazione, e l'ordine in cui arrivano. Il prompt che scrivi è solo una parte.
Prompt per programmare
- Prompt per scrivere codiceI prompt per programmare funzionano quando si leggono come una piccola specifica: il linguaggio e la versione, gli input e gli output, i casi limite e i test che il codice deve superare. Chiedi un piccolo passo alla volta.
- Prompt per il debuggingPer fare debug con ChatGPT o Claude, incolla l'errore completo e il codice che l'ha sollevato, di' cosa ti aspettavi e cosa è successo invece, elenca cosa hai già provato e chiedi la causa prima della correzione.
- Spiegare il codiceChiedi all'IA di spiegare il codice riga per riga, al tuo livello, con una tabella di come cambiano i valori durante l'esecuzione. Di' cosa sai già, così la spiegazione parte da dove sei tu.
- Prompt per la code reviewUn buon prompt di code review dice cosa cercare, chiede una gravità per ogni problema trovato, vuole un input concreto che lo provochi e un diff, e dice al modello di ignorare lo stile. Poi controlli ogni segnalazione, perché alcune saranno sbagliate.
Limiti e sicurezza
- Allucinazioni dell'IAUn'allucinazione dell'IA è una risposta sicura ma falsa: un fatto, una citazione, una funzione o un pacchetto inventati. Succede perché un modello linguistico prevede il testo più probabile invece di consultare qualcosa. I prompt possono ridurla; solo la verifica la scopre.
- Prompt injectionLa prompt injection è un attacco in cui un testo letto dal modello, scritto da un utente o nascosto in un'email, una pagina web o un file, scavalca le istruzioni che l'applicazione gli ha dato. I delimitatori aiutano ma non la fermano; limitare ciò che il modello può fare sì.
- Iterare sui promptMigliorare un prompt funziona meglio come un piccolo esperimento: decidi com'è una buona risposta, tieni alcuni input di test fissi, cambia una cosa alla volta e confronta gli output uno accanto all'altro.