Episodio 3 — Quando l'AI diventa agente
Con l’introduzione dell’approccio agentico, SofIA aveva già fatto un passo importante.
Non era più solo un chatbot che generava risposte: stava iniziando a ragionare sui passi da compiere, scegliendo quale operazione eseguire per soddisfare la richiesta dell’utente.
Il modello analizzava la domanda, decideva un’azione, il sistema la eseguiva.
Sembrava la direzione giusta….ma c’era ancora un problema da risolvere.
Il testo resta fragile
Anche con il modello che ragionava sui passi, l’integrazione si basava su un principio strutturalmente instabile: l’AI continuava a generare testo che il sistema doveva interpretare.
Anche quando quel testo aveva un formato apparentemente strutturato, come il JSON, restava pur sempre il prodotto di una generazione linguistica. E questo significava che poteva variare.
Una chiave con un nome leggermente diverso. Un parametro scritto in modo inatteso. Una struttura valida in senso generale, ma non esattamente quella che il sistema si aspettava.
Per un essere umano queste differenze sono quasi invisibili. Per un software sono spesso errori bloccanti.
Un cambio di paradigma: il function calling
Nel frattempo, anche l’ecosistema dei modelli linguistici stava evolvendo. Stava emergendo un nuovo approccio all’integrazione tra AI e software, che nel settore viene chiamato function calling.
L’idea di fondo cambia la logica in modo sostanziale. Invece di chiedere al modello di generare una struttura (un JSON) da interpretare, il sistema definisce in anticipo le funzioni disponibili. Il modello non deve più costruire un formato: deve solo scegliere quale funzione usare e con quali parametri.
Sulla carta risolveva molti dei problemi che avevamo incontrato.
Nella pratica, costruire qualcosa di davvero affidabile era un’altra storia.
SofIA Tech Note - Cos'è il function calling
Con il function calling, il sistema espone al modello un elenco di funzioni disponibili, ciascuna con una descrizione e i parametri che accetta. Quando l'utente fa una richiesta, il modello non genera testo libero: restituisce una chiamata strutturata a una funzione specifica, con i parametri appropriati.
Il sistema applicativo esegue la funzione reale e restituisce il risultato al modello, che lo usa per costruire la risposta finale. Il testo libero esce dal percorso critico. Le operazioni diventano deterministiche.
Le funzioni diventano strumenti
Nel contesto di HOTELCUBE WOW, questo significava esporre alcune operazioni del PMS come strumenti utilizzabili dal modello.
Per esempio: verificare la disponibilità delle camere, recuperare gli arrivi del giorno, cercare una prenotazione esistente, crearne una nuova.
Il modello non eseguiva direttamente il codice. Decideva quale funzione chiamare per rispondere alla richiesta dell’utente.
Il sistema applicativo eseguiva l'operazione reale e restituiva il risultato, che il modello usava per formulare la risposta.
Un processo circolare, controllato, molto più stabile di quanto avessimo costruito fino a quel momento.
Il ruolo dell'AI cambia
Questo passaggio ha ridefinito completamente il ruolo dell’AI all’interno del sistema.
Il modello non era più responsabile della generazione di istruzioni da interpretare. Diventava un orchestratore di strumenti: interpretava la richiesta dell’utente, selezionava la funzione più adatta, forniva i parametri necessari. Il software eseguiva. Il risultato tornava al modello per costruire la risposta finale.
Ogni componente faceva la propria parte. Nessuno invadeva il territorio dell’altro.
SofIA v3: un'integrazione finalmente solida
È qui che SofIA ha fatto uno dei salti più significativi dell’intero progetto.
Con il function calling, l’integrazione tra AI e PMS è diventata molto più robusta. Le operazioni non dipendevano più dal parsing di testo o da interpretazioni che potevano variare. L’AI interagiva con il sistema in modo strutturato e prevedibile.
Questo ha reso possibile qualcosa che fino a quel momento era rimasto fuori portata: costruire un assistente realmente utilizzabile dentro un software operativo, non solo in un ambiente di test.
Ma mancava ancora qualcosa
A questo punto SofIA era in grado di capire richieste in linguaggio naturale, decidere quali operazioni eseguire e utilizzare le funzioni del sistema in modo affidabile. Sembrava quasi completa.
Eppure c’era ancora un limite evidente.
Il modello conosceva il linguaggio. Conosceva gli strumenti. Ma non conosceva davvero il prodotto.
Non sapeva come funzionavano nel dettaglio le logiche del PMS.
Non aveva accesso alla documentazione.
Non poteva consultare procedure o guide interne.
In altri termini: sapeva usare il sistema, ma non lo conosceva.
Ed è lì che è arrivato il passo successivo. Il passo in cui SofIA ha iniziato a imparare dal prodotto stesso.
Continua nell’Episodio 4 — Quando l'AI conosce il prodotto
SofIA Tech Note
Questa sezione è pensata per chi vuole capire cosa c'è davvero "sotto il cofano".
Si può leggere per approfondire l’aspetto tecnico dietro SofIA...oppure no!
L’aspetto tecnico dietro questo episodio
Uno dei grandi problemi dei primi sistemi basati su LLM era la necessità di interpretare il testo generato dal modello per capire quale funzione eseguire.
Il Function Calling è un meccanismo che permette a un LLM di chiamare funzioni definite dal software.
In pratica, invece di generare testo libero, il modello può decidere di eseguire un’azione strutturata.
Il sistema definisce funzioni con uno schema.
Esempio:
getReservation(id) createBooking(guestName, date, roomType) checkAvailability(date)
Il modello riceve una lista di funzioni e lo schema dei parametri per poi decidere quale usare. Quando l’utente fa una richiesta, il modello può restituire qualcosa del tipo:
call_function: createBooking parameters: guestName: Mario Rossi date: 2026-03-17 roomType: DLXM
Il sistema applicativo poi:
- riceve la richiesta della funzione
- esegue il codice reale
- restituisce il risultato al modello
Rispetto al parsing di testo o JSON, il function calling risolve molti problemi:
- output strutturato
- parametri validati
- integrazione diretta con API
Questo permette di trasformare un modello linguistico in un interfaccia operativa verso il software.
Il modello non controlla il software.
Decide solo quale strumento usare.
RICEVI I NOSTRI UPDATE
SofIA è in continua evoluzione o come dicono i tech è under costruction!
Se però vuoi continuare a leggere i prossimi episodi e soprattutto i prossimi sviluppi, iscriviti alla nostra newsletter. Senza spam, solo sostanza.


