La possibilità di interagire con una macchina in modo simile a quanto si fa nella “vita reale” con altre persone è stata presentata anni fa. Nel 1950 fu addirittura un genio come Alan Turing a presentare il test di Turing ossia una prova che mirava ad accertare se una macchina sia in grado di interagire ricalcando il comportamento e il modo di pensare di un essere umano.
L’informatico tedesco Joseph Weizenbaum presentò nel 1966 ELIZA, software che riusciva a ingannare gli utenti facendo ritenere loro di conversare con un essere umano. Fu lo stesso Weizenbaum a osservare che ELIZA era un semplice esercizio e non un sistema in grado di poggiare su una qualche forma di intelligenza artificiale.
Nel corso degli anni seguenti, soprattutto negli anni ’90 e poi dall’inizio degli anni 2000, ricordiamo tanti esempi di chatbot ossia strumenti software capaci di simulare la conversazione con persone in carne ed ossa.
Con il lancio di Apple Siri nel 2011, Amazon Alexa nel 2014 e Google Assistant 2016, è iniziata l’era degli assistenti digitali, che comprendono e soddisfano le richieste avanzate “dagli umani” usando comandi vocali. Con il tempo le loro abilità si sono affinate e il largo utilizzo dell’intelligenza artificiale (AI) avanzata, dell’elaborazione e della comprensione del linguaggio naturale e del Machine Learning ha permesso agli assistenti digitali di gestire conversazioni personalizzate.
Per questo motivo, già nel 2020, Rohit Prasad (uno dei “capi” del progetto Alexa) diceva che oggi non è più importante arrivare a superare il test di Turing quanto piuttosto realizzare e ottimizzare IA capaci di migliorare l’intelligenza umana e la vita di ogni giorno in un modo che sia allo stesso tempo equo e inclusivo.
Cos’è un chatbot
Il termine chatbot deriva da chatterbot ed è stato coniato nel 1994 da Michael Mauldin, creatore di Verbot, per descrivere i software che permettono di avviare una conversazione uomo-macchina. Appositi algoritmi NLP (Natural Language Processing) permettono oggi di simulare il linguaggio e il comportamento umano grazie a una precedente attività di addestramento del modello e della rete neurale.
I chatbot non sono soltanto uno strumento giocoso come erano inizialmente: oggi vengono utilizzati dalle aziende per fornire risposte puntuali agli utenti senza scomodare il supporto tecnico. Risposte a volte molto precise possono essere fornite dal chatbot per allertare un operatore dell’assistenza clienti solo in caso di reale necessità.
I chatbot sono quindi integrati nei ben noti assistenti digitali, in tanti prodotti IoT, nelle soluzioni CRM, sui siti di ecommerce e così via.
Oggi ci sono chatbot che generano codice di programmazione come GitHub Copilot oppure altre soluzioni usate per creare immagini nuove partendo da descrizioni testuali, anche con supporto per l’upscaling avanzato.
OpenAI ChatGPT: il nuovo re dei chatbot
OpenAI è un’organizzazione senza scopo di lucro che svolge ricerche nel campo dell’intelligenza artificiale allo scopo di promuovere e sviluppare soluzioni user-friendly che possano portare reali benefici per l’intera umanità.
L’algoritmo text-to-image che trasforma testo in immagini usando intelligenza artificiali e reti neurali (ne abbiamo parlato in precedenza) è un esempio di ciò che ha realizzato OpenAI raccogliendo l’interesse e i finanziamenti di un’azienda come Microsoft oltre che di esponenti di spicco di Amazon, PayPal, Stripe, LinkedIn oltre che di Elon Musk e di altri nomi noti.
Il nuovo chatbot ChatGPT è basato sul modello linguistico GPT-3.5 di OpenAI, quello più recente e di più grandi dimensioni. Utilizza inoltre le capacità di supercomputing della piattaforma Microsoft Azure AI che per l’occasione sono state ulteriormente ottimizzate in modo da consentire al chatbot di rispondere adeguatamente alle richieste più strane, complesse e articolate.
Per provare ChatGPT è sufficiente registrare un account personale sul sito di OpenAI oppure effettuare il login con un account Google o Microsoft.
Digitando richieste in italiano, di qualunque genere, ChatGPT risponde usando la stessa lingua e di solito offrirà riscontri estremamente accurati e pertinenti.
Nell’esempio in figura abbiamo chiesto come si fa a scrivere una richiesta HTTP usando codice JavaScript:
ChatGPT è uno strumento estremamente flessibile che in futuro sarà utilizzabile anche mediante API di programmazione e che già oggi permette di:
– Riconoscere e risolvere i bug nel codice segnalando la soluzione migliore
– Rilevare vulnerabilità di sicurezza e creare codice PoC (proof-of-concept)
– Richiedere la scrittura di codice funzionante in qualunque linguaggio di programmazione, limitandosi a descrivere solo ciò che si vuole ottenere
– Simulare l’interazione con una macchina virtuale interagendovi con ChatGPT come se si utilizzasse la finestra del terminale Linux
– Ottenere i comandi da usare con il port scanner Nmap
– Chiedere la redazione di un tweet nello stile di un altro utente del social network
Quelli proposti sono ovviamente soltanto dei semplici spunti: sta al lettore scoprire cosa ChatGPT permette di fare e sfruttarne le migliori abilità.