AiL.il tuo passo, nell'AI
Modulo 2 · Operativo

Prompt Engineering

Cinque pattern che cambiano la qualità dell'output di 3-5 volte. Dal "scrivimi una mail" che fa schifo al prompt strutturato che produce roba pubblicabile.

Il prompt engineering non è arte oscura. È una collezione di pattern ripetibili che, applicati con disciplina, fanno passare la qualità di un output da "mediocre" a "production-grade". Pochi pattern bastano.

In questo modulo: 5 pattern essenziali + gli anti-pattern più comuni. Tutto applicabile su Claude / GPT / Gemini, con esempi affiancati cattivo vs buono.

5 lezioni · ~20 minuti
01Il pattern base: ruolo + contesto + task + formato 02Few-shot: 2 esempi battono 200 parole 03Chain-of-thought: far ragionare 04Structured output: JSON garantito 05Anti-pattern: cosa NON fare
Lezione 01 · Pattern

Il pattern base: ruolo + contesto + task + formato

Come fai a non avere risposte generiche?

Il 90% dei prompt mediocri condivide lo stesso problema: sono vaghi. Niente ruolo, niente contesto, niente formato di output atteso. Il pattern che funziona quasi sempre ha 4 ingredienti.

✗ Cattivo
Scrivimi una mail per dire al cliente che la consegna è in ritardo.
✓ Buono
Ruolo: Sei un account manager B2B con 10 anni di esperienza nell'edilizia.

Contesto: Cliente Tizio S.r.l., ordine 30.000 EUR, consegna prevista 5/12, slittamento di 10 giorni dovuto a sciopero portuale (non colpa nostra).

Task: Scrivi una mail che (1) ammette il ritardo senza scuse vaghe, (2) cita la causa esterna, (3) propone soluzione concreta, (4) chiede conferma.

Formato: Tono fermo ma cordiale. Max 120 parole. Firma "Marco · Sales".

Il prompt buono produce output usabile al primo colpo. Il cattivo richiede 5 iterazioni e finisce comunque generico.

Ordine che conta

Metti il ruolo all'inizio (orienta il modello sull'intera richiesta) e il formato alla fine (resta più "fresco" nell'attention quando genera). I dati e i vincoli al centro.

Regola d'oro

Se un prompt produce output da scartare, prima di cambiare modello chiediti: ho dato ruolo? contesto? task chiaro? formato esplicito? Nove volte su dieci la cura è un prompt migliore, non un modello migliore.

Lezione 02 · Pattern

Few-shot: 2 esempi battono 200 parole

Quando spiegare a parole non basta?

Per task con un formato specifico — classificazione, estrazione, trasformazione — mostrare 2-5 esempi dell'output desiderato funziona meglio di qualsiasi descrizione testuale.

Esempio: classificare email

✗ Solo descrizione
Classifica questa email come "urgente", "normale" o "spam". Urgente = richiede risposta entro 24h. Normale = entro la settimana. Spam = pubblicità o phishing.

Email: "Ciao Marco, ti scrivo per la fattura del mese scorso, c'è un errore sull'IVA…"
✓ Few-shot
Classifica le email. Esempi:

Email: "Il server è giù, clienti bloccati"
→ urgente

Email: "Promemoria meeting lunedì alle 15"
→ normale

Email: "🎉 HAI VINTO un iPhone! Clicca qui"
→ spam

Email: "Ciao Marco, fattura del mese scorso, errore IVA…"

Il modello inferisce il pattern dagli esempi e lo applica. Funziona molto meglio della descrizione perché gli esempi fissano i casi-limite (cosa è urgente vs cosa è solo importante).

Regole per buoni esempi

+25%
accuracy media guadagnata dal passare zero-shot → 3 esempi su task di classificazione. Misurato su benchmark interni Anthropic e OpenAI.
Lezione 03 · Pattern

Chain-of-thought: far ragionare il modello

Come gli fai mostrare il ragionamento?

Per problemi che richiedono più passaggi logici — matematica, logica, troubleshooting — chiedere al modello di "pensare passo per passo" prima di rispondere riduce gli errori del 30-50%.

✗ Risposta diretta
Q: Marco aveva 12 mele. Ne dà 3 a Luca, poi compra il doppio di quelle rimaste. Quante ne ha ora?

A: 18
✓ Chain-of-thought
Q: Marco aveva 12 mele. Ne dà 3 a Luca, poi compra il doppio di quelle rimaste. Quante ne ha ora? Pensa step-by-step.

A: 1. Marco parte con 12 mele.
2. Ne dà 3 a Luca → ne restano 9.
3. Compra il doppio di 9 → +18.
4. Totale: 9 + 18 = 27 mele.

Il modello "ad alta voce" cattura errori che farebbe in silenzio. La risposta diretta sopra è sbagliata (18 ≠ 27), il CoT è corretto.

Trigger CoT

Espressioni che attivano CoT:

Reasoning models (2026)

Modelli come OpenAI o4 o Claude with extended thinking fanno CoT internamente — il "thinking" è nascosto, vedi solo la risposta finale. Più costosi ($15-60/M token) ma necessari per matematica avanzata, problemi complessi.

Quando NON usarlo

Per task creativi (scrittura, brainstorming) il CoT spesso peggiora: rende le risposte rigide e "didascaliche". Riservalo a logica, calcoli, debugging, decisioni multi-step.

Lezione 04 · Pattern

Structured output: JSON garantito

Come uso l'output in una pipeline automatica?

Se l'output di un LLM deve essere parsato da un altro programma (script, API, database), chiedere "rispondi in JSON" non basta — il modello può aggiungere preamboli, code fence, virgolette sbagliate. La soluzione: structured output mode.

Cos'è

Tutti i provider top (Anthropic, OpenAI, Gemini) supportano una modalità in cui passi uno schema (JSON Schema o Pydantic-like) e il modello è obbligato a produrre output conforme — niente preamboli, niente JSON mal formato.

✗ "Rispondi in JSON"
Output tipico:

Ecco il JSON richiesto:
```json
{"sentiment": "positivo", "score": 0.85}
```
Spero sia utile!
✓ Schema-driven
Schema:
{ sentiment: enum, score: float[0-1] }

Output garantito:
{"sentiment": "positivo", "score": 0.85}

Niente parsing fragile. Niente regex sul output. Niente retry "ti prego, solo JSON".

Quando usarlo

Tool del 2026

ToolCosa fa
instructor (Python)Wrapper Pydantic per OpenAI/Anthropic
outlines (Python)JSON Schema constraint, anche local models
guardrails-aiValidation + retry automatico
Anthropic Tool UseJSON Schema nativo nell'API
OpenAI Structured OutputsJSON Schema garantito al 100%
Lezione 05 · Anti-pattern

Anti-pattern: cosa NON fare

Quali errori vedo più spesso?

Dopo aver visto centinaia di prompt che non funzionano, questi sono i 5 anti-pattern più frequenti. Riconoscerli ti risparmia ore.

1. "Sii dettagliato" / "Sii preciso"

Aggettivi vaghi non aiutano. Cosa significa "dettagliato"? Una pagina? Tre? Con esempi numerici? Specifica. "Risposta di 300-400 parole, con almeno 2 esempi numerici in EUR."

2. Negazioni accumulate

"Non usare gergo tecnico, non scrivere disclaimer, non superare 100 parole, non aprire con 'Certo'…" Gli LLM gestiscono male le istruzioni negative. Riformula in positivo: "Scrivi in linguaggio quotidiano, vai dritto al punto, max 100 parole, apri con il fatto principale."

3. Domande multiple in un prompt

"Riassumi questo articolo, traducilo in inglese, identifica i 3 errori e suggerisci correzioni." L'output sarà mediocre su ognuno dei 4 task. Spezza in 4 prompt sequenziali (prompt chaining) e ognuno sarà di qualità.

4. Roleplay generico

"Sei un esperto." Esperto di cosa? Con quale background? Quale tono? Sii specifico: "Sei un commercialista italiano specializzato in PMI, 15 anni di pratica, tono didattico e diretto."

5. Niente esempi quando servono

Hai un task con un formato preciso (es. "estrai date in YYYY-MM-DD") e non mostri esempi? Il modello indovinerà. 2 esempi few-shot azzerano gli errori di formato.

Checklist pratica

Quando un prompt non funziona, prima di cambiare modello o pagare di più, esegui questa checklist:
✓ Ruolo specifico?
✓ Contesto sufficiente?
✓ Task atomico (uno solo)?
✓ Formato esplicito?
✓ 2-3 esempi se task con pattern?
✓ "Step-by-step" se ragionamento?

Verifica

5 domande per fissare

1. Hai un task di classificazione (3 categorie). Quale pattern dà il salto di qualità più grande?
Few-shot. Per task di classificazione, 3-5 esempi che coprono i casi-limite portano tipicamente +20-30% accuracy. Cambiare modello costa di più con guadagno minore. Temperature alta peggiora (rende classifier instabile).
2. Quando NON usare chain-of-thought?
Creatività. CoT rende le risposte rigide e didascaliche — pessimo per writing, brainstorming, copy. Riservalo a task con risposta "giusta" verificabile (matematica, logica, code).
3. Il tuo prompt produce output che a volte non è valido JSON. Soluzione robusta?
Structured output. Anthropic/OpenAI/Gemini garantiscono output conforme allo schema — niente preamboli, niente parsing fragile. È la differenza fra "spera" e "garantito".
4. Quale di questi è un anti-pattern?
Task multipli. 4 task in un prompt produce 4 output mediocri. Spezza in prompt chaining: 4 chiamate sequenziali, ognuna ottimizzata, output di qualità.
5. Vuoi un output con tono specifico (es. "fermo ma cordiale"). Dove metti l'istruzione di tono?
Alla fine. L'attention dà più peso a inizio e fine; metti il ruolo all'inizio (orienta) e il formato/tono alla fine (resta "fresco" quando genera). Pattern noto, +5-10% aderenza al tono richiesto.
← Torna al portale ← Modulo 1 · Basics LLM Modulo 6 · Coding con AI → Glossario AI