Ragionare come un Umano: Chain of Thought
La Chain of Thought (CoT), o "catena di pensiero", è una tecnica di prompt engineering introdotta formalmente da Google Research nel 2022. L'idea centrale è semplice ma rivoluzionaria: invece di chiedere a un modello linguistico di produrre direttamente la risposta finale, gli si chiede di articolare il ragionamento intermedio passo-passo prima di arrivare alla conclusione. Questo approccio sfrutta la natura autoregressiva dei Transformer: generando token di ragionamento intermedi, il modello "pensa ad alta voce" e riduce drasticamente gli errori nei task complessi.
Perché Funziona: Il Meccanismo di Base
I Large Language Model generano testo un token alla volta, ognuno condizionato da tutti i precedenti. Quando il modello produce direttamente una risposta a un problema matematico o logico, ha a disposizione un solo "passo" di computazione prima di impegnarsi. Con la CoT, ogni token di ragionamento intermedio diventa parte del contesto per il successivo, moltiplicando la capacità di calcolo simbolico del modello. In termini tecnici, la CoT decomprime un problema complesso in sotto-problemi più semplici, ciascuno risolvibile con alta probabilità.
Varianti e Tecniche di CoT
- Zero-shot CoT: si aggiunge semplicemente la frase "Pensiamo passo-passo" al prompt. Scoperta da Kojima et al. (2022), questa variante dimostra che anche senza esempi, l'invito esplicito al ragionamento sequenziale migliora le prestazioni.
- Few-shot CoT: si forniscono nel prompt esempi di ragionamenti completi (domanda → passaggi → risposta), guidando il modello a replicare lo stesso schema.
- Self-Consistency: si generano multiple catene di pensiero per la stessa domanda e si seleziona la risposta più frequente (maggioranza di voto), riducendo la varianza degli errori.
- Tree of Thoughts (ToT): estensione che esplora più percorsi di ragionamento simultaneamente, consentendo backtracking e scelta del ramo ottimale.
Esempi Pratici
Consideriamo un problema matematico: "Se un negozio vende 23 mele al mattino e 47 al pomeriggio, e poi ne scartano 12 marce, quante mele rimangono?"
- Senza CoT: il modello potrebbe rispondere direttamente "58" (errato: 23+47=70, 70-12=58 — in questo caso corretto per fortuna, ma su problemi più complessi il tasso di errore sale).
- Con CoT: il modello articola: "Al mattino vende 23 mele. Al pomeriggio vende 47 mele. Totale venduto: 23+47=70 mele. Ne scartano 12 marce. Mele rimanenti: 70-12=58. Risposta: 58 mele." Il ragionamento esplicito rende verificabile ogni passaggio.
La differenza diventa drammatica su problemi multi-step come quelli di aritmetica complessa, deduzione logica o pianificazione, dove la CoT può migliorare l'accuratezza anche del 30-40%.
Applicazioni e Impatto Aziendale
- Analisi finanziaria: un agente AI può decomporre un'analisi di bilancio in passaggi: estrazione dati → calcolo dei ratio → confronto storico → sintesi.
- Diagnosi tecnica: nei sistemi di supporto IT, la CoT permette al modello di elencare cause possibili, verificarle una alla volta e proporre la soluzione più probabile.
- Pianificazione logistica: ottimizzazione di percorsi e risorse attraverso ragionamento sequenziale su vincoli multipli.
- Controlli di qualità: nella Quality Assurance, la CoT aiuta a identificare difetti seguendo checklist ragionate anziché intuizioni immediate.
Limiti e Considerazioni
La CoT non è una panacea. Aumenta il numero di token generati, con costi computazionali e latenza maggiori. Nei modelli più piccoli può paradossalmente peggiorare le prestazioni, perché il ragionamento intermedio introduce errori che si propagano. Inoltre, la catena di pensiero riflette ciò che il modello genera, non necessariamente il suo processo interno reale: una CoT plausibile non garantisce correttezza. Per task semplici o di classificazione diretta, la CoT è spesso superflua.
Con l'avvento dei reasoning models come OpenAI o1 e DeepSeek-R1, che integrano il ragionamento esteso nativamente nel training, la CoT diventa una capacità incorporata piuttosto che una tecnica di prompt. Tuttavia, comprendere il principio rimane essenziale per ottimizzare le interazioni con qualsiasi LLM.