Cos’è ChatGPT ?

Cominciamo dalle basi: ChatGPT (Chat Generative Pre-trained Transformer) è un chatbot sviluppato da OpenAI, ossia un software che simula ed elabora conversazioni in linguaggio naturale (scritte o parlate), consentendo agli utenti di interagire con i dispositivi digitali come se stessero comunicando con una persona reale.

ChatGPT non è di certo il primo chatbot e attualmente ne esistono di diverse tipologie (chatbot di supporto, chatbot di abilità e assistenti virtuali). Alla base di ChatGPT c’è il modello linguistico GPT-3.5 ed è stato istruito utilizzando l’apprendimento supervisionato a cui è stato applicata una fase di Reinforcement Learning from Human Feedback (RLHF) per creare un nuovo modello che viene presentato in un’interfaccia di chat intuitiva con un certo grado di memoria rispetto all’interazione iniziale.

Entrambe gli approcci di training hanno utilizzato istruttori umani per migliorare le prestazioni del modello. Nel caso dell’apprendimento supervisionato, il modello è stato alimentato con conversazioni nelle quali gli istruttori interpretavano entrambe le parti: l’utente e l’assistente basato su intelligenza artificiale. Nella fase di rinforzo, gli istruttori umani hanno prima valutato le risposte che il modello aveva creato nella conversazione precedente. Queste valutazioni sono state utilizzate per creare “modelli di ricompensa” sui quali il modello è stato ulteriormente perfezionato utilizzando diverse iterazioni di Proximal Policy Optimization (PPO).

ChatGPT è nella categoria degli assistenti virtuali, perchè non è focalizzato su dominio specifico (come per i chatbot di supporto), ricorda il soggetto della domanda su richieste consecutive, ammette i propri errori e rifiuta richieste inappropriate.
L’accuratezza e la correttezza delle risposte di ChatGPT tuttavia non è sempre garantito perché il modello applica schemi probabilistici. Le risposte fornite a prima possono sembrare corrette ma hanno un’elevata percentuale di errori.

Ho voluto chiedere direttamente a ChatGPT quale potrebbe essere il suo utilizzo in un contesto produttivo, e vi riporto la nostra “conversazione”:

DOMANDA:
Come potremmo utilizzarti in un contesto produttivo, ad esempio in una fabbrica ?
RISPOSTA:
Come linguaggio di programmazione, posso essere utilizzato in una fabbrica per creare algoritmi e sistemi automatici per l’ottimizzazione dei processi produttivi. Ad esempio, potrei essere utilizzato per sviluppare un sistema di controllo della qualità che raccoglie dati dai sensori di produzione e li utilizza per identificare eventuali anomalie o difetti nella produzione, in modo da poter intervenire tempestivamente per correggerli.

Inoltre, posso essere utilizzato per creare sistemi di automazione dei processi, come ad esempio la gestione del flusso di lavoro e la logistica della produzione. Questi sistemi possono aiutare a ridurre gli errori umani e aumentare l’efficienza della fabbrica, contribuendo così a migliorare la qualità del prodotto finale e a ridurre i tempi di consegna.In generale, come linguaggio di programmazione versatile e potente, posso essere utilizzato in molti modi diversi per supportare e ottimizzare i processi produttivi in una fabbrica.

DOMANDA:
Più concretamente, come potresti supportare un reparto produttivo gestendone il flusso di lavoro ?
RISPOSTA:
In un contesto produttivo, posso essere utilizzato per creare un sistema di gestione del flusso di lavoro che consenta di monitorare e controllare tutte le attività che avvengono nel reparto produttivo. Questo sistema potrebbe essere costituito da una serie di moduli software che raccolgono dati dai sensori di produzione e dalle altre fonti di informazione disponibili, come ad esempio i sistemi di gestione della produzione e i registri di lavoro.

Il sistema potrebbe quindi utilizzare questi dati per creare una rappresentazione in tempo reale del flusso di lavoro del reparto produttivo, mostrando dove si trovano le varie attività e quanto tempo impiegano per completarsi. In questo modo, il sistema potrebbe aiutare il reparto produttivo a identificare eventuali colli di bottiglia o ritardi nel flusso di lavoro, e a prendere decisioni informate su come ottimizzarlo per aumentare l’efficienza e ridurre i tempi di consegna.

Inoltre, il sistema potrebbe essere utilizzato per generare report e analisi dettagliate sulla performance del reparto produttivo, che potrebbero essere utilizzate per identificare le opportunità di miglioramento e implementare le necessarie correzioni. In questo modo, il sistema di gestione del flusso di lavoro sviluppato con il mio aiuto potrebbe contribuire a rendere il reparto produttivo più efficiente e competitivo.

DOMANDA:
Di che tipo di informazioni hai bisogno per creare in sistema di questo tipo ?
RISPOSTA:
Per creare un sistema di gestione del flusso di lavoro per un reparto produttivo, ho bisogno di raccogliere diverse tipologie di informazioni. Innanzitutto, ho bisogno di informazioni dettagliate sulla struttura del reparto produttivo, come ad esempio il layout dei macchinari e delle attrezzature, i processi produttivi e le dipendenze tra le varie attività.

Inoltre, ho bisogno di informazioni sui tempi di lavorazione di ciascuna attività e sulla quantità di prodotto che viene prodotta in un determinato lasso di tempo. Queste informazioni possono essere raccolte tramite sensori di produzione e dai sistemi di gestione della produzione, e possono essere utilizzate per creare un modello del flusso di lavoro del reparto produttivo.

Infine, ho bisogno di informazioni sugli obiettivi e le esigenze del reparto produttivo, come ad esempio il livello di qualità richiesto per i prodotti, i tempi di consegna e le eventuali restrizioni sulla produzione. Queste informazioni possono essere utilizzate per ottimizzare il sistema di gestione del flusso di lavoro in modo da soddisfare le esigenze del reparto produttivo.

DOMANDA:
Posso inviarti queste informazioni ed i dati attualmente disponibili tramite alcuni file excel ?
RISPOSTA:
Sfortunatamente, come linguaggio di programmazione, non sono in grado di accedere ai file excel o ad altri tipi di documenti. Sono un programma di intelligenza artificiale che può rispondere alle domande e fornire informazioni, ma non posso accedere ai file o ai dati del tuo computer.
DOMANDA:
Posso darti l’accesso ai nostri database per estrarre le informazioni di cui hai bisogno?
RISPOSTA:
Sfortunatamente, come linguaggio di programmazione, non posso accedere ai database o ad altre risorse esterne. Sono un programma di intelligenza artificiale che può rispondere alle domande e fornire informazioni, ma non posso accedere ai dati o alle risorse di un’azienda o di un’organizzazione. Se hai bisogno di un sistema di gestione del flusso di lavoro per il tuo reparto produttivo, ti consiglio di rivolgerti a uno sviluppatore di software che possa creare una soluzione personalizzata per le tue esigenze.

In conclusione ChatGPT è di certo un modello interessante, che produce output vero-similimente creati da un umano, ed è un grande passo avanti per l’ IA. Tuttavia i suoi campi applicativi reali, se opportunamente istruito sul dominio di conoscenza specifico, sono ancora limitati al customer service o più in generale al customer facing ad esempio come punto di contatto tra il brand ed il consumatore.

L’utilizzo di ChatGPT è attualmente ancora gratuito: https://chat.openai.com/chat