Il tool calling è ciò che trasforma un modello da “generatore di testo” a “sistema che agisce”. Il modello non esegue codice: decide quale funzione chiamare e con quali argomenti, e il tuo sistema la esegue. Capire questo confine è essenziale per costruire agenti sicuri.
Come funziona davvero
Fornisci al modello la descrizione di alcune funzioni (nome, scopo, parametri). Il modello, quando serve, risponde non con testo ma con una richiesta strutturata: “chiama questa funzione con questi argomenti”. È il tuo codice a eseguirla e a restituire il risultato al modello.
1. definisci le funzioni (schema dei parametri)2. il modello decide: call get_ordine(id=123)3. il TUO codice esegue la funzione (con validazione)4. restituisci il risultato al modello5. il modello formula la risposta finale
Il modello propone, tu disponi
Punto cruciale di sicurezza: il modello non esegue nulla. Propone una chiamata; il controllo resta nel tuo codice. Questo significa che validazione, permessi e limiti vivono lato applicazione, dove devono stare.
- Valida sempre gli argomenti proposti dal modello
- Applica permessi: non tutte le funzioni per tutti i contesti
- Azioni irreversibili → conferma esplicita
Output strutturato e affidabilità
Il tool calling sfrutta l'output strutturato (JSON conforme a uno schema). Più lo schema è preciso, più la chiamata è affidabile. Per integrazioni con CRM, ERP o database, l'output strutturato è ciò che rende il sistema usabile da codice e non solo da umani.
In sintesi
- Il modello decide la chiamata; il tuo codice la esegue: il controllo resta tuo.
- Valida sempre gli argomenti e applica permessi lato applicazione.
- Azioni irreversibili richiedono conferma esplicita.
- Schemi precisi = chiamate più affidabili e integrazioni robuste.
FAQ tecniche
Il modello può eseguire codice da solo?
No. Propone quale funzione chiamare e con quali parametri; l'esecuzione è sempre nel tuo sistema. È questo confine a rendere il tool calling governabile.
Come evito che chiami la funzione sbagliata?
Descrizioni chiare delle funzioni, schemi di parametri rigorosi, validazione degli argomenti e permessi per contesto. E test sui casi limite, come per ogni integrazione.