GPT-3 OpenAI

Codex, la vera utilità (e i limiti) dell’AI che aiuta a programmare

Il codice creato dall’intelligenza artificiale Codex di Gpt-3 può risultare la base di partenza del lavoro di un programmatore, che così può anche correggere gli errori e migliorare il codice stesso. Ma non può stabilire da sola le regole. Ecco vantaggi e limiti

Pubblicato il 20 Set 2021

Nicola Gatti

direttore dell'Osservatorio Artificial Intelligence del Polimi e membro dell’Associazione Italiana per l’Intelligenza Artificiale (AIxIA)

intelligenza artificiale pirateria

Aiutare i programmatori nello sviluppo codice. È in questa direzione che OpenAI ha lavorato, recentemente, per l’evoluzione applicativa di GPT-3, (Generative Pre-trained Transformer 3), che è uno strumento capace di generare in modo automatico testi in accordo a delle richieste specifiche dell’utente.

Creating a Space Game with OpenAI Codex

Creating a Space Game with OpenAI Codex

Guarda questo video su YouTube

Cos’è Codex di Open AI, per sviluppare codice in automatico

Il risultato è un sistema chiamato Codex. L’obiettivo alla base di Codex è molto semplice ed è quello di facilitare il lavoro di un programmatore o, in futuro, persino sostituirlo. L’idea è quella di poter spiegare al computer in linguaggio naturale il funzionamento di un programma che si vuole scrivere e lasciare che il computer, tramite l’AI, scriva il programma in modo autonomo al posto del programmatore.

Un semplice esempio è quello di una applicazione capace di creare sfondi per il computer sulla base delle immagini preferite di un utente. Invece di scrivere il codice dell’applicazione attraverso un linguaggio di programmazione, il programmatore può spiegare alla macchina cosa vuole che il programma faccia e Codex generare il programma.

I test di GPT-3: che cosa è davvero l’AI che sembra “umana”

Com’è stato addestrato Codex

Codex è stato addestrato con un enorme quantità di testo in linguaggio naturale e codice informatico, ed è in grado di lavorare con 12 diversi linguaggi di programmazione. Di fatto, Codex interpreta quanto espresso dall’umano in linguaggio naturale, creando una sua rappresentazione astratta interna che descrive il funzionamento dell’algoritmo tramite l’uso di blocchi elementari di codice. Dal punto di vista concreto, questa rappresentazione definisce il flusso logico del programma, specificando quelle che sono le variabili, i parametri e le funzioni elementari. Il passaggio successivo svolto da Codex è quello di tradurre questa rappresentazione astratta nel linguaggio di programmazione scelto.

Come funziona Codex

Questa ultima parte risulta una semplice applicazione di GPT-3. Infatti, la generazione di testo tramite GPT-3 richiede che venga definito il linguaggio in termini di regole sintattiche di composizione delle frasi.

GPT-3 non conosce propriamente il linguaggio, ma usa delle regole che definiscono quando le frasi sono ben formate. La stessa cosa può essere svolta con un linguaggio di programmazione. E’ possibile cioè definire le regole sintattiche del linguaggio di programmazione e lasciare che GPT-3 generi istruzioni che soddisfino quelle regole.

Le applicazioni (teoriche) di Codex

Qualora Codex fosse affidabile al 100%, permetterebbe ad una azienda di software un importante risparmio di tempo. Infatti, Codex sostituirebbe non solo il lavoro di scrittura del codice ma anche di progettazione, che costituisce l’aspetto più critico del processo di sviluppo di un sistema software. La progettazione e la scrittura del codice di grandi applicazioni richiedono il lavoro di centinaia, se non migliaia, di programmatori.

A cosa serve davvero (per ora) Codex

Allo stato attuale, Codex funziona bene per applicazioni molto semplici ed elementari. La stima resa nota dai ricercatori di OpenAI è che il codice prodotto da Codex sia corretto il 37% delle volte. In molti casi però, gli errori sono minimi e facilmente correggibili da un programmatore esperto. Per quanto la presenza degli errori impedisca l’utilizzo diretto del codice prodotto da Codex, il risparmio di tempo per un programmatore può comunque essere considerevole.

Da molti anni infatti si lavora, nel campo dell’Ingegneria del Software, a strumenti automatici di generazione del software che aiutino nella progettazione. Nessuno di questi strumenti però è in grado di produrre codice in automatico per un compito richiesto da un programmatore e solo l’AI può occuparsi di questi aspetti.

Il codice di Codex può infatti risultare la base di partenza del lavoro di un programmatore, che così può anche correggere gli errori e migliorare il codice stesso.

Riduce i tempi di prototipazione e permette di arrivare più velocemente al rilascio sul mercato del sistema software.

Cosa non può fare

Codex, come tutti gli strumenti basati sulle reti neurali, è capace di apprendere dagli esempi che popolano la sua base di conoscenza, ma non è in grado di costruire in modo autonomo programmi per rispondere a obiettivi che non conosce.

Questo richiede quindi che il programmatore fornisca a Codex sempre maggiore conoscenza nel tempo per permettere a Codex di far crescere le sue capacità. Il ruolo dell’umano non verrà mai sostituito quindi, ma rimarrà in qualità di insegnante al sistema di AI.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

EU Stories - La coesione innova l'Italia

Tutti
Iniziative
Video
Analisi
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati

Articolo 1 di 2