Hai mai chiesto a un'AI di risolvere un problema logico e ti ha risposto con sicurezza... ma sbagliato? Succede perché molti modelli saltano i passaggi intermedi. Noi, di Meteora Web, lavoriamo ogni giorno con le AI per automatizzare processi, generare contenuti e analizzare dati. E abbiamo scoperto che il vero salto di qualità non sta nel modello, ma in come lo guidiamo. La Chain of Thought (CoT) è la tecnica che costringe l'AI a mostrare i suoi ragionamenti, passo dopo passo, come farebbe un umano. In questa guida operativa vedrai esattamente come applicarla, con esempi pronti da copiare e testare.
Perché l'AI sbaglia quando non ragiona a catena
I modelli linguistici (LLM) sono addestrati su enormi quantità di testo, ma non hanno una vera comprensione logica. Tendono a produrre la risposta più probabile, non quella corretta. Senza un percorso visibile, l'AI può:
- Saltare a conclusioni affrettate
- Confondere dati numerici o logici
- Inventare fatti per sembrare coerente (allucinazioni)
Esempio concreto: chiedi a un modello "Se una mela costa 50 centesimi e un'arancia costa 30 centesimi, quanto spendo per 3 mele e 2 arance?". Senza CoT, potrebbe rispondere "2,10€" (sbagliato) o dimenticare un termine. Con CoT, invece, scrive i passaggi: 3 mele = 1,50€, 2 arance = 0,60€, totale = 2,10€. Corretto, ma anche verificabile.
Cos'è la Chain of Thought e perché funziona
La Chain of Thought (CoT) è una tecnica di prompting che chiede esplicitamente al modello di scomporre un problema in passaggi intermedi, ragionando ad alta voce. È come insegnare a un bambino a risolvere un'addizione: "Prima somma le unità, poi le decine". L'AI, forzata a strutturare il ragionamento, riduce drasticamente gli errori logici e matematici.
Studi (Wei et al., 2022) mostrano che CoT migliora le performance su problemi di ragionamento aritmetico, logico e simbolico dal 20% al 60% rispetto al prompting diretto. Noi lo abbiamo testato sui nostri flussi di lavoro: per analisi di bilancio, generazione di report e debug di codice, i risultati sono netti.
Come applicare CoT: i tre metodi principali
1. CoT esplicito: "Ragiona passo dopo passo"
Il metodo più semplice: aggiungere la frase "Ragiona passo dopo passo" (o in inglese "Let's think step by step") alla fine del prompt. Funziona bene per problemi lineari.
Prompt:
Un treno parte alle 8:00 e viaggia a 80 km/h. Un secondo treno parte alle 9:00 dalla stessa stazione a 100 km/h. A che ora il secondo raggiunge il primo?
Ragiona passo dopo passo.
Risposta (da modello reale):
Passo 1: Calcolo il vantaggio del primo treno. Alle 9:00 il primo treno ha viaggiato per 1 ora a 80 km/h, quindi ha percorso 80 km.
Passo 2: La velocità relativa è 100 - 80 = 20 km/h.
Passo 3: Tempo per colmare 80 km a 20 km/h = 4 ore.
Passo 4: Orario di incontro: 9:00 + 4 ore = 13:00.
Risultato: alle 13:00.
Quando usarlo: problemi aritmetici, logici, o qualsiasi compito multi-step (scrittura di codice, debugging, piani editoriali).
2. Few-shot CoT: fornire esempi di ragionamento
Invece di chiedere genericamente, mostri al modello uno o più esempi completi di come ragionare. Questo è potente per domini specifici (es. legale, finanziario, tecnico).
Prompt:
Q: Un negozio ha 120 magliette. Se ne vende 35 il lunedì e 42 il martedì, quante ne restano?
A: Iniziamo con 120. Lunedì vendute 35, quindi rimanenti 120 - 35 = 85. Martedì vendute 42, quindi rimanenti 85 - 42 = 43. Risposta: 43.
Q: Un conto corrente ha un saldo di €2.340. Se vengono accreditati €180 e poi addebitati €430, qual è il nuovo saldo?
A: Saldo iniziale €2.340. Accreditati €180 -> saldo parziale €2.520. Addebitati €430 -> saldo finale €2.090. Risposta: €2.090.
Il modello imita la struttura. Puoi usare 2-3 esempi; di più tendono a confondere. Noi, di Meteora Web, lo usiamo per generare report di bilancio in formato standardizzato.
3. CoT strutturato: template e formati fissi
Per compiti ripetitivi, definisci un formato fisso di ragionamento. Ad esempio per il debugging: "Spiega il problema, identifica la causa, proponi una soluzione, verifica".
Prompt:
Analizza questo errore PHP e fornisci una soluzione usando la seguente struttura:
1. Descrizione dell'errore
2. Possibili cause
3. Passaggi per risolvere
4. Codice corretto
Errore: "Fatal error: Uncaught TypeError: Argument 1 passed to calculate() must be of the type float, string given"
Forzando una struttura, ottieni risposte più complete e meno confuse. Ideale per documentazione tecnica, FAQ, articoli guidati.
Errori comuni da evitare
- Non chiedere troppo in una volta. CoT funziona su un singolo problema ben definito. Se il prompt è vago ("Fammi un'analisi di mercato"), l'AI seguirà passi generici.
- Ignorare il contesto. Se il problema richiede dati precisi (es. valori finanziari), includili nel prompt. Altrimenti l'AI inventa.
- Usare CoT per compiti non logici. Per creatività (scrivere una poesia) o domande fattuali semplici ("capitale d'Italia"), non serve. Anzi, infastidisce.
- Non verificare i passaggi. L'AI può sbagliare anche ragionando. CoT ti permette di vedere l'errore — usalo per controllare.
Case study: debugging di codice con CoT
Un nostro cliente aveva un e-commerce con un bug nei calcoli dello sconto. Il codice era un groviglio di if-else. Invece di fare reverse engineering, abbiamo usato CoT per far spiegare all'AI le possibili cause. Prompt: "Il seguente codice PHP calcola sconti ma a volte dà risultati negativi. Ragiona passo dopo passo: elenca ogni possibile flusso e dove potrebbe fallire.". Il modello ha identificato una sottrazione non protetta da controllo di validità. Senza CoT, avrebbe risposto "controlla i decimali" — vago e inutile.
Strumenti e integrazione pratica
CoT non richiede strumenti speciali. Puoi usare qualsiasi interfaccia (ChatGPT, Claude, Gemini) o API. Per flussi automatizzati, noi lo integriamo nei nostri script Python con chiamate API e prompt predefiniti. Esempio:
import openai
prompt = """Risolvi il seguente problema matematico passo dopo passo:
Un forno produce 45 pizze all'ora. Se lavora 8 ore al giorno per 6 giorni, quante pizze produce in totale?
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
print(response.choices[0].message.content)
Il codice è funzionante (con la tua API key). Puoi estendere il concetto a catene di prompt più complesse.
Quando NON usare CoT
CoT aumenta il costo (più token) e il tempo di risposta. Evitalo per:
- Domande semplici e fattuali ("Qual è la capitale della Francia?")
- Richiesta di creatività pura ("Scrivi una poesia sul mare")
- Problemi che non richiedono passaggi logici
In questi casi, usa prompt diretti. Noi consigliamo di testare entrambi gli approcci (A/B) per trovare il punto di equilibrio tra accuratezza e costo.
In sintesi — cosa fare adesso
- Prova subito con un problema che hai incontrato (es. calcolo di budget, debug di codice). Aggiungi "Ragiona passo dopo passo" e confronta con una risposta diretta.
- Crea 3 prompt CoT per compiti ripetitivi del tuo lavoro (report, analisi, FAQ). Inseriscili in un document template.
- Imposta un formato strutturato per problemi complessi: definisci i passaggi con numeri o bullet.
- Monitora i token consumati. Se usi API, tieni traccia del costo aggiuntivo.
- Leggi gli studi originali: Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (Wei et al., 2022).
La Chain of Thought non è un trucco magico: è un modo per far sì che l'AI lavori come un collaboratore umano — visibile, verificabile, migliorabile. Noi, di Meteora Web, la usiamo ogni giorno. Ora tocca a te.
Per altre guide sul prompt engineering avanzato, leggi il nostro articolo su AI che hackerano account e sulla governance dell'AI.
Sponsored Protocol