Sebbene sia definito “personaggio non giocante”, la nuova figura introdotta in Minecraft alimentata dal machine learning è la protagonista di una nuova ondata di innovazione AI. Microsoft la sta testando per la generazione automatica di codice facendo sognare ai developer un futuro in cui non doverlo più scrivere.
La nuova era del personal computing inizia in Minecraft
Presentato a fine maggio proprio a una platea di sviluppatori dal responsabile tecnologico dell’azienda Kevin Scott, il personaggio in questione ha come “potere speciale” quello di saper convertire automaticamente in codice i comandi.
Grazie a un nuovo modello di intelligenza artificiale sviluppato dall’azienda, una frase d’uso quotidiano può essere trasformata automaticamente in righe di codice che indicano al personaggio come agire nel mondo Minecraft. Ciò vale per il semplice “vai avanti” ma anche per compiti complessi come la raccolta di oggetti per costruire nuovi elementi, con tanto di indicazioni su come farlo.
Tutto accade in real time, con l’impiego delle API, e rappresenta un futuro possibile che va ben oltre i confini seppur ampi e profittevoli del gaming. Questo settore, come già in molte altre occasioni, è il playground per sperimentare e lanciare nuove tecnologie che promettono di portare innovazione disruptive anche in altri settori meno finanziati, meno allenati e propensi a evolvere. La realizzazione e l’implementazione di una interfaccia con cui è possibile dialogare senza che sia necessario digitare o cliccare, ottenendo codice funzionante, ha tutte le potenzialità per rivoluzionare il mondo del personal computing.
Nel caso Minecraft, la tecnologia introdotta è stata sviluppata da OpenAI, società già ben nota per lo sviluppo di GPT-3 e finanziata dalla stessa Microsoft nel 2019. Suo è il modello AI che rende il nuovo personaggio non giocante un “caso”. Si chiama Codex e, per addestrarlo, sono state utilizzate grandi quantità di codice e di testo in linguaggio naturale, ma anche API specifiche del videogioco e alcuni esempi di utilizzo.
Il futuro dello sviluppo software AI-base sognato da Microsoft
Lasciando che stupisca e incuriosisca i gamer, Microsoft sta utilizzando Codex per sviluppare un nuovo strumento di coding AI dalla ben più ampia portata: GitHub Copilot. L’idea è di riuscire ad addestrarlo per suggerire automaticamente il codice appena si inizia a digitare o rispondere a commenti aggiunti a posteriori in una parte di codice.
Con questa novità, Microsoft inaugura una nuova serie di prodotti AI-based con cui riscrivere le regole dello sviluppo del software entro qualche anno. Il processo è già stato avviato nel 2021, mettendo a disposizione Copilot a un numero limitato di tester. Oggi lo utilizzano in oltre 10mila, ma fra qualche mese l’azienda ha annunciato di volerlo rendere disponibile per il download a chiunque, lasciando intendere quali siano i suoi progetti più a lungo termine. Tra tutti, un Windows intelligente che, con un semplice comando, possa provvedere in automatico all’invio di un allegato via mail o alla realizzazione di un grafico in excel.
Mentre le aziende pensano all’impennata di produttività che ciò comporterebbe, i developer si dividono di fronte all’orizzonte disegnato dall’azienda. A fianco della frangia di sostenitori della ormai nota tesi di un’AI che “ruba il lavoro”, ci sono molti che cercano di comprendere come fare leva su Copilot per migliorare la propria performance. Secondo Microsoft questo approccio è il più diffuso e renderà Copilot un alleato degli sviluppatori, per automatizzare le attività di coding più noiose o per lavorare meglio con un linguaggio di programmazione poco familiare.
Oltre alla resistenza degli sviluppatori, da superare ci sono anche delle criticità tecnologiche concrete. Essenziale eliminarle, perché Copilot e il disegno di Microsoft per lo sviluppo software del futuro decolli. La principale riguarda la propagazione di bug. Essendo stato allenato con codice di qualità variabile, se ne possono riscontrare nel modello ed esiste il rischio che vengano poi riprodotte, dando spazio a vulnerabilità potenzialmente critiche.
Per arginare tale rischio, Microsoft sta sviluppando strumenti di machine learning per individuare gli errori e sta testando nuove funzionalità per suggerire un’alternativa nel caso in cui venga individuato un problema. Una sorta di collega che supporti i developer nel gestire al meglio Copilot, cogliendone i benefici senza soffrirne i limiti.