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.

Quando AI diventa agente

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.

function calling

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.

assistente del software operativo per hotel

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.

newsletter

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.

Iscrizione Newsletter

Leggi altri articoli

Torna in alto
hotelcube logo
Panoramica privacy

Questo sito Web utilizza i cookie in modo da poterti offrire la migliore esperienza utente possibile. Le informazioni sui cookie sono memorizzate nel tuo browser e svolgono funzioni come riconoscerti quando ritorni sul nostro sito Web e aiutare il nostro team a capire quali sezioni del sito Web ritieni più interessanti e utili.

PRIVACY POLICY