Hai mai chattato con un assistente virtuale, mentre navigavi con un sito? Oppure, hai mai chiesto a Siri di impostare la sveglia o ad Alexa di mettere una playlist?
Questi strumenti, anche molto diversi, hanno un nome collettivo: assistenti virtuali. Alle volte appaiono sotto forma di chat testuale (i chatbot), altre prendono le sembianze di una voce gentile (assistenti vocali, o voicebot). Quale sia il loro nome o il mezzo di comunicazione con cui li usiamo, non importa. Ciò che è chiaro è che servono a migliorare la user experience di molti servizi, cioè rendono l’utilizzo di un’ app o sito web più facile e divertente.
Ma come funzionano? Chi li sviluppa? E soprattutto, cosa si nasconde sotto ad un’interfaccia colorata e simpatica?
Costruire un chatbot non è solo un lavoro da ingegnere/a informatico/a: anche chi è alle prime armi può cimentarsi nel vedere nascere una AI parlante!
In questo articolo ti porto dentro il processo: dall’idea al lancio, passando per alcuni dei concetti tecnici che devi conoscere.
Che cos’è un chatbot (non tutti sono uguali!)
Prima di tutto, chiariamo: il termine chatbot è un contenitore generico dentro cui ci finisce di tutto. Ma non tutti i chatbot sono uguali:
- I chatbot rule-based funzionano con una logica deterministica: ogni messaggio viene analizzato in base a regole fisse, come strutture if-else (se succede una cosa, fai questo, altrimenti fai altro).
Se scrivi in una di queste chat “Voglio prenotare un appuntamento presso il vostro studio medico”, il sistema riconosce le parole chiave “prenotare” e “appuntamento” e risponde con la risposta associata a quella regola. Sono semplici da costruire e prevedibili, ma hanno un limite evidente: se esci dal copione, il bot si inceppa. Prova a scrivere “mi servirebbe fissare un meeting” e il bot potrebbe non capirti.
- I chatbot AI, invece, usano tecniche di apprendimento automatico per capire il significato di ciò che scrivi, non solo alcune parole chiave. Riconoscono che “fissare un meeting” e “prenotare un appuntamento” esprimono la stessa intenzione. Come? I chatbot AI nascondono sotto al tappeto una logica chiamata NLP.

Come in tutte le cose, esistono delle sfumature. Fra chatbot deterministici (dei “semplici” copioni) e chatbot AI (che elaborano domande e risposte), c’è anche una soluzione intermedia. Esistono dei bot che hanno un flusso di domande pre-determinate, ma che interpretano comunque il linguaggio naturale dell’utente finale tramite un large language model (LLM). Quindi il flusso di domande che farà il bot è deciso a priori e le risposte degli utenti, che non sono pre-determinate, saranno elaborate dal bot. Se hai mai chiamato un assistente virtuale di qualche linea telefonica, probabilmente ti ha risposto un chatbot di questo genere.
Linguaggio naturale da comprendere e generare
L’NLP (Natural Language Processing, Elaborazione del Linguaggio Naturale) è il ramo dell’AI che permette alle macchine di capire come comunichiamo. Non è un compito banale: il linguaggio umano è pieno di ambiguità, ironia e contesto implicito. “Sono in banca” significa cose diverse a seconda che tu stia parlando con il tuo commercialista o con un amico durante una partita a Monopoly 🙂 .
L’elaborazione del linguaggio naturale comprende anche due processi distinti:
- NLU – Natural Language Understanding: è la fase in cui il sistema capisce cosa vuole l’utente. Riconosce l’intento (“che tempo fa domani?” → intento meteo_domani), estrae le entità (“volo da Milano a Roma l’11 giugno” → città_partenza, città_arrivo, data) e analizza il sentiment, ovvero il tono emotivo del messaggio. “Quest’app fa schifo” e “quest’app è fantastica” hanno sentiment opposti e un chatbot ben progettato risponde in modo diverso ai due casi.
- NLG – Natural Language Generation: è la fase in cui il sistema costruisce la risposta in linguaggio naturale, fluida e contestualmente appropriata. Non “Previsione: pioggia, 15 gradi”, ma “Domani a Milano è prevista pioggia con una massima di 15 gradi, porta l’ombrello!”

Il ciclo di vita di un chat e voicebot
Costruire un chatbot non è un’attività improvvisata. Si deve seguire un processo strutturato chiamato il ciclo di vita del software. Lo esploriamo attraverso SchoolBot, un assistente virtuale immaginario che ho pensato per una scuola superiore, che risponde agli studenti su orari, verifiche e regolamento scolastico.
1. Definizione strategica
Prima di scrivere qualsiasi riga di codice, si risponde a domande fondamentali: perché esiste questo bot? Chi lo userà? Cosa deve sapere fare, e cosa no? Qui si definisce anche la persona del bot: ha un nome, un tono (informale? formale?), un carattere riconoscibile. Facciamo che SchoolBot si chiama “Argo”, dà del tu, è amichevole ma preciso.
Questa fase pone le fondamenta per qualsiasi progetto digitale. Si chiama analisi dei requisiti, un momento in cui un team di persone, studenti amatoriali o esperti ed esperte del settore, si mettono a tavolino e discutono le funzionalità.
2. Pianificazione tecnica
Poi, si procede a scegliere che tecnologie usiamo per sviluppare il bot. In parole povere, che linguaggio di programmazione usiamo per costruire la logica del bot? Invece, come scriviamo il codice per la grafica della chat? Quale modello di LLM interpreterà domande e risposte?
Inoltre, si deve valutare già in questa fase la conformità a GDPR e AI Act , le normative europee che regolano l’utilizzo dei dati personali e i sistemi di intelligenza artificiale. Ad esempio, lo sapevi che ogni AI nell’assistenza clienti di qualsiasi supermercato, negozio o servizio, deve come prima cosa presentarsi e dichiarare di non essere un umano bensì una macchina?
3. Raccolta e gestione delle fonti
SchoolBot deve attingere da informazioni reali: orari, regolamento, FAQ della segreteria. Questi vengono organizzati in una knowledge base, cioè un’enciclopedia fatta di tante informazioni ben organizzate.
In parallelo si costruisce il dataset di addestramento: per ogni problematica comune, si raccolgono 20–50 varianti della stessa domanda. Ad esempio, si raccolgono tante conversazioni reali fra studenti e segreteria attorno a domande come “Quando ho italiano?”, “Quando sono i ponti quest’anno?”, “C’è ginnastica questa settimana?”.
4. Sviluppo e training
Si progettano i percorsi possibili della conversazione e si addestra il modello NLU con i dati raccolti nella fase precedente. SchoolBot deve anche integrarsi con il registro elettronico via API (Application Programming Interface), un canale standardizzato che permette a sistemi diversi di scambiarsi dati.
5. Testing e validazione
Veniamo alla mia parte preferita, quando il software scende in campo.
E’ la fase in cui noi ingegneri ci ingegniamo e scendiamo in campo! Qui, si fa provare il chatbot a più studenti e studentesse possibili e si raccolgono i loro feedback. In base a questi riscontri, il chatbot verrà migliorato.
6. Rilascio e monitoraggio
E ora si parte, SchoolBot è online sul sito della scuola! Pronto per essere utilizzato da tutti.
Che competenze servono?
Costruire un chatbot è un lavoro di squadra, e le competenze che servono sono più variegate di quanto si pensi. C’è la parte tecnica, certo, ma c’è anche una parte molto umana che nei percorsi STEM viene spesso trascurata.
Pensa al problem solving: un fallback inspiegabile – il bot che risponde a caso su certe frasi – è un problema da diagnosticare con metodo, non da ignorare. O alla comunicazione: spiegare al preside perché serve un database, o a un insegnante perché il bot non può rispondere a tutto, è parte integrante del lavoro. E poi c’è l’empatia verso l’utente: uno studente stressato prima di un’interrogazione non vuole leggere un messaggio di errore burocratico. Infine, in un campo che si evolve a una velocità vertiginosa, l’attitudine all’aggiornamento continuo e la curiosità non sono un optional.
Tech stack: da dove partire?
So cosa stai pensando, “tutto bello, ma lasciamolo fare agli esperti”.
Anche io pensavo di non essere in grado, e vi posso assicurare che non ho imparato all’università come realizzare un chatbot, ma nel mio tempo libero.
Non esiste un’unica strada, e la buona notizia è che oggi gli strumenti disponibili coprono ogni livello di esperienza.
La scelta dipende da quanto vuoi scendere nei dettagli implementativi.
Se vuoi capire davvero cosa succede sotto il cofano, il punto di partenza è Python: è il linguaggio dominante nel machine learning e nell’NLP.
Se invece vuoi iniziare senza scrivere molto codice, i tool low-code sono un ottimo punto d’ingresso. Microsoft Copilot Studio, ad esempio, ti permette di costruire un chatbot completo attraverso un’interfaccia visuale, collegarlo a fonti di dati come siti web o documenti Word/Powerpoint, e pubblicarlo su un sito, praticamente senza toccare il codice. È lo strumento con cui moltissime aziende costruiscono i loro assistenti interni oggi. Anche Dialogflow di Google, ad esempio, offre un equilibrio simile tra facilità di utilizzo e flessibilità.
In entrambi i casi, alcune basi trasversali restano indispensabili: capire come funzionano le API, cioè il modo in cui sistemi diversi si scambiano dati, saper usare un database.
Costruire un chatbot è un lavoro interdisciplinare e profondamente creativo. Devi capire come parlano le persone, immaginare tutti i modi in cui qualcuno potrebbe formulare la stessa domanda, progettare una conversazione che sembri naturale. Logica, comunicazione, psicologia e tecnologia in un unico progetto.
Io consiglio sempre di giocare con la tecnologia, e di inziare subito! Apri Copilot Studio, crea un account gratuito, e prova a costruire un bot che risponda alle domande della tua classe sulle verifiche del prossimo mese. Oppure installa Python, segui un tutorial su Rasa e costruiscilo da zero. Il tuo primo SchoolBot potresti costruirlo tu, proprio oggi, e proporlo ai tuoi insegnanti!
Rubrica a cura di Generazione Stem
Biografia autrice
Serena Aprano è una studentessa magistrale di Ingegneria Informatica al Politecnico di Torino. Parallelamente lavora nell’ambito dell’AI, è un esperta di media digitali e radiofonici e realizza video di divulgazione scientifica con Generazione STEM (@serenaaprano su Instagram).