Quando OpenAI ha presentato silenziosamente il suo ultimo modello a un gruppo selezionato di clienti aziendali il mese scorso, la reazione dei team di ingegneri è stata immediata e unanime: questo è diverso.
A differenza delle iterazioni precedenti che richiedevano suggerimenti attenti e correzioni frequenti, il nuovo modello – nome in codice interno “Orion” – dimostra un livello di comprensione contestuale che gli ingegneri descrivono come quasi inquietante. Non si limita a completare il codice; ragiona sull'architettura, anticipa i casi limite e scrive i test prima che gli venga chiesto.
Benchmark che riscrivono le regole
Su HumanEval, il punto di riferimento standard del settore per la generazione di codice, Orion ottiene un punteggio del 97,3%, ben 12 punti al di sopra dello stato dell'arte precedente. Ancora più impressionante è il fatto che su SWE-bench, che mette alla prova la capacità di risolvere problemi reali di GitHub nei codebase di produzione, ottiene il 68% di successo, rispetto al 49% del suo predecessore.
"Lo stiamo eseguendo sul nostro codebase interno da tre settimane", ha detto un ingegnere senior di un importante fornitore di servizi cloud che ha chiesto di restare anonimo. "Non sta sostituendo gli ingegneri. Ma sta rendendo ogni ingegnere circa tre volte più produttivo."
Come funziona
L'innovazione architetturale chiave sembra essere ciò che OpenAI chiama "ragionamento consapevole dell'esecuzione": il modello mantiene un modello mentale in esecuzione di ciò che il codice farà effettivamente quando verrà eseguito, piuttosto che prevedere semplicemente completamenti sintatticamente plausibili. Ciò gli consente di individuare errori logici che emergerebbero solo in fase di esecuzione, una capacità che storicamente è stata dominio esclusivo di ingegneri umani esperti.
Il modello introduce anche una nuova finestra di contesto di 2 milioni di token, che gli consente di contenere contemporaneamente in memoria intere basi di codice di grandi dimensioni. Ciò significa che può apportare modifiche in un file con piena consapevolezza di come tali modifiche si propagano attraverso dozzine di moduli dipendenti.
La risposta del settore
La reazione della comunità degli sviluppatori è stata un misto di entusiasmo e ansia. Su Hacker News, un thread sulle capacità del modello ha attirato oltre 800 commenti in 24 ore, con opinioni che vanno da "questo è lo strumento di produttività più significativo dai tempi dell'IDE" a "dobbiamo avere una conversazione seria su cosa questo significhi per l'assunzione di sviluppatori junior".
Il CEO di GitHub, Thomas Dohmke, è stato tipicamente ottimista: "Abbiamo sempre detto che Copilot è un programmatore di coppia, non un sostituto. Quello che stiamo vedendo ora è che il programmatore di coppia diventa un ingegnere senior."
What Comes Next
OpenAI non ha annunciato una data di rilascio pubblica per il modello, ma fonti che hanno familiarità con i piani dell'azienda suggeriscono un'implementazione graduale che inizierà con i clienti ChatGPT Enterprise nelle prossime settimane, seguita dall'accesso API per gli sviluppatori.
Per i team di ingegneri che già la utilizzano, la domanda non è più se l’intelligenza artificiale cambierà lo sviluppo del software, ma quanto velocemente riusciranno ad adattarsi a un mondo in cui il collo di bottiglia non è più scrivere codice, ma sapere cosa costruire.
Preoccupazioni relative alla sicurezza e alla qualità del codice
Non tutti festeggiano. I ricercatori di sicurezza hanno sollevato legittime preoccupazioni riguardo al codice generato dall’intelligenza artificiale che introduce sottili vulnerabilità che i revisori umani potrebbero non notare. Uno studio di Stanford pubblicato all’inizio di quest’anno ha rilevato che gli sviluppatori che utilizzano assistenti di codifica basati sull’intelligenza artificiale avevano maggiori probabilità di introdurre falle di sicurezza, non perché l’intelligenza artificiale scrivesse codice non sicuro, ma perché gli sviluppatori si fidavano dell’output dell’intelligenza artificiale senza lo stesso controllo che applicherebbero al proprio lavoro.
OpenAI ha risposto integrando la scansione di sicurezza direttamente nella pipeline di output del modello. Quando il modello genera codice che corrisponde a modelli di vulnerabilità noti (rischi di SQL injection, convalida di input impropria, implementazioni crittografiche non sicure) ora segnala il problema in linea anziché produrre silenziosamente il codice problematico. I primi tester riferiscono che questo rileva una percentuale significativa di errori di sicurezza comuni, sebbene non sostituisca una revisione di sicurezza dedicata.
Impatto sulle assunzioni di sviluppatori junior
L'ansia nella comunità degli sviluppatori è incentrata su cosa ciò significhi per i ruoli entry-level. Storicamente, gli sviluppatori junior hanno imparato scrivendo codice standard, correggendo bug semplici e assumendo gradualmente attività più complesse. Se l’intelligenza artificiale gestisse tutto questo lavoro, il tradizionale percorso verso l’ingegneria del software scomparirebbe.
Alcuni leader dell’ingegneria sostengono il contrario: gli strumenti di intelligenza artificiale creeranno una maggiore domanda di sviluppatori, e non una diminuzione, rendendo lo sviluppo di software economicamente sostenibile per una gamma più ampia di attività. "Ogni piccola impresa che prima non poteva permettersi uno sviluppatore ora può creare software", ha affermato il direttore tecnico di una startup di serie B. "Non si tratta di meno posti di lavoro: si tratta di un mercato più grande."
La realtà è probabilmente da qualche parte nel mezzo. I ruoli focalizzati sull’implementazione di routine si ridurranno. Cresceranno i ruoli incentrati sull’architettura, sul pensiero del prodotto e sul giudizio umano che l’intelligenza artificiale non può replicare. La transizione non sarà uniforme e gli sviluppatori che si adatteranno più velocemente saranno quelli che tratteranno l’intelligenza artificiale come uno strumento per amplificare il proprio giudizio piuttosto che come un sostituto per lo sviluppo.
Modelli di adozione aziendale
Tra i clienti aziendali che stanno già testando il modello, i modelli di adozione sono rivelatori. I casi d’uso di maggior valore non sono quelli più comunemente discussi in pubblico. La generazione di codice fa notizia, ma i veri guadagni di produttività provengono dalla revisione del codice: la capacità del modello di leggere una richiesta pull e identificare non solo bug ma problemi di architettura, implicazioni sulle prestazioni e problemi di manutenibilità che i revisori umani spesso non riescono a cogliere sotto pressione.
La generazione di documentazione è un altro caso d’uso di alto valore che raramente fa notizia. Mantenere la documentazione aggiornata con una codebase in rapida evoluzione è un compito che gli sviluppatori universalmente odiano e universalmente trascurano. Il modello può generare documentazione accurata e leggibile dal codice con richieste minime: una capacità che ha un valore immediato e misurabile per qualsiasi team di ingegneri.
Prezzi e accesso
OpenAI non ha rivelato i prezzi per il nuovo modello, ma gli analisti del settore si aspettano che sia posizionato sopra GPT-4o nella fascia di prezzo API. Per i clienti aziendali, la proposta di valore è semplice: se il modello rende ogni sviluppatore 3 volte più produttivo, anche un costo significativo per token è facilmente giustificabile. La domanda più interessante è se il modello sarà disponibile per singoli sviluppatori e piccoli team a un prezzo economicamente sensato per i casi d’uso di volume inferiore.
Ulteriori letture
- OpenAI Research: documenti modello ufficiali e rapporti tecnici
- OpenAI Evals: il framework di benchmark open source utilizzato per misurare le prestazioni del modello
- SWE-bench: il benchmark dell'ingegneria del software nel mondo reale a cui si fa riferimento in questo articolo
- Stanford – Vulnerabilità della sicurezza nel codice generato dall’intelligenza artificiale: risultati di una ricerca sottoposta a revisione paritaria