Capitolo 1 — Il loop agentico: dalla risposta all'azione
Al Livello 2 hai visto il tool use: il modello chiede una funzione, il tuo codice la esegue, il modello risponde. Una chiamata, un'azione, fine. Un agente nasce quando chiudi il cerchio e lo lasci girare: raccogli contesto → agisci → osserva il risultato → decidi il prossimo passo → ripeti, finché l'obiettivo non è raggiunto. La differenza non è tecnica, è di autonomia: non decidi più tu la sequenza dei passi — la decide il modello, strada facendo, in base a come vanno le cose.
Un esempio concreto: "trova nel gestionale i clienti inattivi da sei mesi, controlla se hanno ticket aperti, e prepara una bozza di email per quelli senza problemi pendenti". Nessuna singola chiamata risolve questo: serve interrogare, filtrare in base a ciò che emerge, decidere, produrre. Un agente lo fa da solo, passo dopo passo.
Ora la doccia fredda, che è anche la lezione più importante del livello: gli errori si moltiplicano lungo il percorso. Un modello affidabile al 95% sul singolo passo, dopo dieci passi concatenati è attorno al 60% — perché ogni errore avvelena i passi successivi. La matematica è spietata e detta le tre regole di progettazione. Uno: verifica a ogni passo, non solo alla fine — il risultato dell'azione va controllato prima di costruirci sopra (l'output della query era vuoto? il file esisteva?). Due: limiti espliciti — cosa può toccare l'agente, quanto può spendere, dopo quanti passi deve fermarsi e chiedere. Tre, la regola d'oro che ritroverai al Livello 5: usa la minima autonomia che il problema richiede. L'agente non è il premio per il progettista bravo; è il costo che paghi quando il problema è davvero imprevedibile.
L'esperimento del giorno. Riprendi il tuo tool use del Livello 2 e trasformalo in loop: un obiettivo che richiede almeno tre chiamate concatenate, dove il secondo passo dipende dall'esito del primo. Logga ogni passo — decisione, azione, risultato — e osserva dove l'agente tende a sbandare. Quel log è il tuo primo strumento di lavoro da qui in avanti.