Capitolo 4 — Tool use: il modello impara a chiedere
Fin qui il modello può solo dirti cose. Il tool use (o function calling) gli permette di chiederti di fare cose — ed è il concetto ponte verso gli agenti del Livello 4, quindi prenditelo con calma.
Il meccanismo, in quattro tempi. Primo: nel setup della chiamata dichiari gli strumenti disponibili — ogni tool ha un nome, una descrizione in linguaggio naturale e i parametri che accetta (in JSON Schema). Per esempio: cerca_ordine(numero_ordine), "cerca un ordine nel gestionale e ne restituisce lo stato". Secondo: l'utente chiede "che fine ha fatto il mio ordine 4521?" e il modello, invece di inventare una risposta (allucinazione, Livello 0!), risponde con una richiesta formale: voglio chiamare cerca_ordine con numero_ordine=4521. Terzo — e qui sta tutto: il tuo codice esegue davvero la funzione, interroga il gestionale, e rimanda il risultato al modello. Quarto: il modello usa il risultato per comporre la risposta finale all'utente.
Nota bene la divisione dei poteri, perché è la chiave di tutto ciò che verrà: il modello decide, il tuo codice esegue. Il modello non tocca il gestionale, non ha accesso a niente: propone. Sicurezza, permessi, validazione degli argomenti sono affare tuo. Quando al Livello 5 parleremo di sicurezza degli agenti, tutto ruoterà attorno a questa frontiera.
E un dettaglio che sembra minore ma decide la qualità: le descrizioni dei tool. Il modello sceglie se e come usare uno strumento leggendone nome e descrizione — descriverli bene è prompt engineering applicato alle funzioni. Una descrizione vaga produce chiamate sbagliate; una precisa, con i casi d'uso tipici, produce un modello che usa gli strumenti con giudizio.
L'esperimento del giorno. Implementa due tool su un CSV di dati tuoi: uno che elenca le righe che soddisfano un filtro, uno che calcola un totale. Scrivi il ciclo che gestisce le richieste di chiamata finché il modello non produce la risposta finale. La prima volta che vedi il modello decidere da solo di usare il tuo strumento per rispondere, capisci dove sta andando tutto il percorso.