Come sarà il mondo in cui le macchine si programmano da sole? Quale sarà il ruolo svolto dagli uomini, e quali saranno le competenze richieste?
E soprattutto: come evitare che codice pericoloso creato dalla macchina faccia disastri se sarà sempre meno facile per gli umani controllarlo?
Queste e molte altre domande sembravano fantascientifiche solo pochi anni fa, eppure stanno divenendo più che attuali. È fondamentale capire come si possa assicurare che il software generato dall’AI rispetti i requisiti e i comportamenti attesi, senza alimentare uno sviluppo accelerato del codice che fa funzionare i sistemi che alla fine consentano di realizzare scenari distopici ampliamente raccontati dalla fantascienza in libri e film come Io Robot o la trilogia di Matrix, per citarne solo alcuni.
Cerchiamo di fare il punto su questi temi anche alla luce dei recenti studi sulla trasformazione del lavoro imposta dall’AI e del rilascio di nuovi sistemi di sviluppo software che sembrano escludere l’uomo dal processo di scrittura del codice.
AI, una nuova era per il coding
L’intelligenza artificiale generativa ha stupito per la sua incredibile crescita in poco più di due anni, mostrando un’incredibile capacità di migliorare al punto da passare da semplice curiosità a strumento ormai indispensabile per svolgere alcuni compiti.
Tra le aree di impatto più significative degli LLM c’è sicuramente la programmazione che ha visto l’integrazione delle funzioni dell’AI generativa in tutte le fasi dello sviluppo.
Di recente, i modelli hanno avuto anche successi nelle competizioni di matematica e programmazione, sebbene i migliori umani siano ancora più avanti. Fino al 2022 però gli esperti prevedevano questi risultati solo al 2030 (e alcuni anche oltre); nel 2023 gli stessi OpenAI e Deepmind erano prudenti sulle capacità di programmazione.
Tabella riassuntiva: successi recenti dell’IA in matematica e programmazione
Ambito | IA/Modello | Risultato | Note principali | Data evento/pubblicazione |
---|---|---|---|---|
Matematica IMO | Gemini Deep Think (DeepMind) | 🥇 Medaglia d’oro (35/42) | Risolti 5/6 problemi, output in linguaggio naturale | Luglio 2025 (IMO 2025) |
Matematica IMO | Modello OpenAI (serie o1/o4) | 🥇 Medaglia d’oro equivalente | Valutazione da ex medagliati IMO | Luglio 2025 (IMO 2025) |
Programmazione | OpenAIAHC vs P. Dębiak (“Psyho”) | 🧠 Secondo posto. Umano vince con scarto 9,5% | 10 ore di maratona AtCoder World Tour Finals | Luglio 2025 (Tokyo) |
Matematica (formale) | AlphaGeometry / AlphaProof (DeepMind) | 🥈 Livello medaglia d’argento | Sistemi di dimostrazione automatica | Settembre 2024 |
Matematica (dimostrazione) | Prover Agent (Meta AI) | ✅ 86% accuratezza su MiniF2F | Framework LLM + Lean assistant | Giugno 2025 (arXiv) |
Matematica (formale) | DeepSeek‑Prover‑V2 | 📈 Miglioramento vs baseline | Supporta Lean 4, più potente della v1 | Aprile 2025 (arXiv) |
Programmazione (storico) | AlphaCode (DeepMind) | 🏅 Top 54% su Codeforces | Non recentissimo, modello 2022 | Febbraio 2022 (Nature) |
Io stesso non saprei più immaginare di scrivere codice senza l’ausilio di GitHub Copilot, o di Claude, GPT e Gemini per la generazione di frammenti di codice ripetitivi.
Sarà per la sua natura più formale e deterministica (se una cosa non funziona si vede subito, quindi si dà un rinforzo efficace alla macchina), ma il codice sembra essere una delle aree in cui si è assistito un miglioramento più significativo che ha portato in poco meno di tre anni di immaginare che sia l’AI stessa a generare codice sollevando l’uomo da questa incombenza.
Lo abbiamo visto con gli artefatti di Claude che consentono di generare e condividere piccoli programmi senza poter modificare il codice, Codex di OpenAI ha poi cominciato a fornire una AI che scrive codice gestendo direttamente progetti su repository Git(Hub), e più recentemente GitHub ha annunciato la messa in produzione di Spark, un servizio per lo sviluppo di micro-applicazioni direttamente a partire da prompt LLM senza la necessità di scrivere codice.
Gli stessi sviluppatori dei grandi modelli come OpenAI e Anthropic hanno più volte sottolineato come questi strumenti di generazione di codice siano attivamente utilizzati al loro interno per accelerare processi, automatizzando la generazione di codice ripetitivo e di testing.
Che sarà dei programmatori?
In questa rivoluzione della programmazione è lecito chiedersi quale sia la prospettiva sia da un punto di vista lavorativo che di ruolo svolto da parte di chi programma o ingegnerizza software. Non si tratta di una questione meramente accademica ma una necessità attuale, come testimonia uno studio recente di Microsoft Research su oltre duecentomila prompt di Copilot evidenzia come il settore ICT sia in cima alla lista dei lavori che l’AI già svolge efficacemente.
Così Claude è diventato il miglior modello AI per programmare
Nel giro di un anno, Anthropic ha conquistato il primato mondiale nel campo dell’intelligenza artificiale applicata alla programmazione. Il merito è soprattutto di Claude Sonnet 3.5, il modello rilasciato nel giugno 2024, che ha sorpreso esperti e aziende per la sua capacità di generare codice di alta qualità, comprensibile e mantenibile, anche su progetti di grandi dimensioni. Da allora, Anthropic è diventata la principale fornitrice di modelli AI per la programmazione, con clienti come Sourcegraph, GitHub Copilot, Cursor, Replit, Meta e molti altri.
Il successo di Claude non è stato casuale. È il risultato di una strategia tecnica chiara, investimenti pluriennali e alcune intuizioni che hanno segnato un punto di svolta nel settore.
Feedback dal codice eseguito
Una delle principali ragioni del salto di qualità di Claude è stata l’integrazione sistematica del test del codice nel processo di addestramento. I modelli non si limitavano a generare codice: lo eseguivano realmente. In questo modo, Anthropic ha potuto raccogliere segnali oggettivi e binari (funziona/non funziona), che si sono rivelati estremamente efficaci per migliorare le prestazioni nel tempo. Questo ciclo continuo di scrittura, esecuzione e analisi ha permesso un raffinamento progressivo, basato su riscontri concreti.
Reinforcement Learning from AI Feedback
A differenza del più noto Reinforcement Learning from Human Feedback (RLHF), Anthropic ha introdotto una variante più scalabile: il Reinforcement Learning from AI Feedback (RLAIF). In questo approccio, i modelli analizzano e criticano autonomamente le proprie risposte sulla base di principi scritti in linguaggio naturale – un’estensione del paradigma noto come “Constitutional AI”.
Per esempio, i modelli sono stati addestrati a valutare se un codice rispetta i requisiti iniziali, se è leggibile, se include commenti utili o se compie operazioni non richieste. Invece di affidarsi sempre al giudizio umano – difficile da ottenere su larga scala e soggetto a errori – Anthropic ha costruito un sistema in cui l’intelligenza artificiale diventa anche giudice di se stessa.
Uso avanzato degli strumenti digitali
Un altro elemento distintivo è la capacità dei modelli Claude di interagire con strumenti digitali. Se viene chiesto di fornire dati meteo o azionari, il modello può scrivere autonomamente codice per interrogare API esterne. Questo lo rende non solo un assistente nella scrittura del codice, ma anche un agente in grado di eseguire operazioni complesse in autonomia.
Gestione della memoria e continuità
Uno dei limiti storici dei modelli di intelligenza artificiale è l’incapacità di gestire progetti a lungo termine. Anthropic ha affrontato questo problema dotando Claude di un “blocco appunti virtuale”, una sorta di memoria esterna dove può annotare informazioni utili nel corso del lavoro. In questo modo, il modello è in grado di seguire progetti articolati nel tempo, ricordando i dettagli rilevanti e ignorando quelli irrilevanti, come farebbe un programmatore umano.
Claude Code e l’accesso ai terminali
Nel maggio 2025, Anthropic ha lanciato “Claude Code”, uno strumento che consente all’AI di operare direttamente in ambienti terminali usati dagli sviluppatori. Questo ha rappresentato un’ulteriore evoluzione: da semplice assistente testuale a collaboratore operativo integrato nei flussi di lavoro reali. Inoltre, ha dato ad Anthropic accesso diretto a dati granulari su come i programmatori interagiscono realmente con il codice, alimentando ulteriormente il ciclo di miglioramento.
Una supremazia ancora inalterata
A oltre un anno dal rilascio del modello Sonnet 3.5, Claude continua a essere considerato lo standard di riferimento per la programmazione automatizzata. In un settore dove i progressi tecnologici avvengono a ritmo incessante, il fatto che nessun altro modello sia riuscito a superarlo è un’anomalia che ha spinto molte aziende concorrenti – tra cui xAI di Elon Musk e Meta – a lanciare veri e propri “code red” interni per cercare di colmare il divario.
Secondo alcuni osservatori, il segreto del successo di Anthropic non è soltanto nell’architettura dei suoi modelli, ma in un insieme coerente di pratiche empiriche, sperimentazioni rapide, e una visione sistemica dell’intelligenza artificiale come agente autonomo e collaborativo.
Come ha osservato Armando Solar-Lezama, professore al MIT: “Non è solo questione di avere più dati o più potenza di calcolo. Ci vogliono idee. E Anthropic, su questo fronte, ha fatto scuola.”
Macchine che si programmano da sole: qual è la vera novità dell’AI
Sebbene possa sembrare una novità, l’idea che le macchine possano programmarsi da sole affonda le sue radici negli scritti di Alan Turing, già nel 1945, quando studiava lo sviluppo dell’Automatic Computing Engine (ACE) all’alba dei computer. A pagina 19 del rapporto Turing suggerisce che inizialmente le “tabelle di istruzioni”, ovverosia i programmi, sarebbero state scritte da matematici per poi essere generate dalla macchina stessa.
Qualche anno più avanti avrebbe esplicitamente teorizzato che nel divenire intelligenti le macchine avrebbero provveduto autonomamente alla generazione di programmi, senza dipendere dagli uomini per la loro programmazione. Ogni volta che chiedo all’AI di generare del codice non riesco a non pensare emozionandomi a quest’uomo che ottant’anni fa aveva immaginato quello che sta avvenendo in questi pochi anni.
È bene però sottolineare che le macchine generano programmi da decenni, e che è necessario comprendere cosa stia veramente cambiando in questi pochi mesi sia la natura della generazione di codice e non il processo in sé.
Un programma è ormai composto da miliardi di istruzioni macchina e gli uomini per far fronte alla scrittura e gestione di una così importante mole di informazioni hanno sviluppato teorie e tecniche per dominare questa complessità mai raggiunta nella realizzazione di manufatti nella storia umana.
Ecco quindi che i linguaggi di programmazione hanno introdotto dei costrutti linguistici che avvicinavano la lingua della macchina a quella dell’uomo, e dei programmi (interpreti o compilatori) erano responsabili per l’emissione del linguaggio macchina consentendo di automatizzare parte della generazione dei programmi.
Ecco quindi che già dagli anni cinquanta del secolo scorso le macchine hanno generato programmi autonomamente, ma secondo schemi di espansione che assicurassero una trasformazione deterministica dal sorgente del programma scritto dall’uomo alla sua forma binaria poi eseguita dalla macchina. A partire dalla seconda metà degli anni novanta poi l’avvento degli ambienti integrati di sviluppo e le nuove caratteristiche di ambienti come Java e .NET hanno consentito la generazione di schemi di codice accelerando ulteriormente il processo di generazione, e sofisticati costrutti di programmazione hanno via via consentito di dominare programmi sempre più complessi, ma sempre secondo un processo deterministico in cui ad azioni del programmatore corrispondevano frammenti di linguaggio macchina ben definiti, così come i relativi comportamenti.
Le interfacce grafiche e la programmazione concorrente hanno introdotto i primi elementi di non determinismo nei programmi: il comportamento di un sistema oggi dipende non solo dalla sua programmazione ma anche dalla sequenza di eventi esterni che causano l’invocazione delle sue funzioni introducendo a volte elementi di comportamento emergente nei sistemi, ovverosia comportamenti non esplicitamente codificati dal programmatore che emergono da questa interazione tra la macchina e l’ambiente.
È evidente quindi come il fattore di novità introdotto dall’intelligenza artificiale non sia la generazione di programmi in sé, bensì la codifica di un requisito espresso in linguaggio naturale nella sua rappresentazione programmatica. In sostanza il comportamento del programma generato non è interamente definito dal programmatore ma dall’intelligenza artificiale che si limita ad interpretare le richieste fatte dall’uomo. L’AI ha cominciato a svolgere quindi la funzione che un tempo era ad appannaggio dell’analista programmatore, ovverosia di colui che decide come codificare in un programma dei requisiti di un sistema che deve svolgere un determinato compito.
L’AI sta cancellando i posti di lavoro entry-level: perché oggi è più difficile lavorare per un giovane laureato (e cosa cambierà per le competenze del futuro)
Un tempo, un neolaureato aveva un sentiero chiaro davanti a sé: un lavoro di primo livello, magari poco stimolante all’inizio, ma utile per imparare e crescere. Era il classico “scambio” tra azienda e giovane: lavori duri, pagati poco, in cambio di formazione ed esperienza. Ma oggi, con l’ascesa dell’intelligenza artificiale generativa, questo patto sta andando in frantumi.
I lavori di ingresso? Ora li fa ChatGPT
Sempre più aziende stanno rinunciando a figure junior perché le attività che un tempo svolgevano – come scrivere testi, raccogliere dati, fare ricerche – vengono ormai affidate a strumenti come ChatGPT. Agenzie di marketing, studi legali, banche d’investimento, persino startup tecnologiche preferiscono assumere professionisti già esperti, mentre i ruoli entry-level semplicemente… scompaiono.
Il risultato è che i giovani laureati del 2023 e 2024 faticano a trovare un primo impiego coerente con il loro percorso. Alcuni, non trovando sbocchi, ripiegano su lavori nel retail o nella ristorazione. E anche nei settori in crescita – come finanza, tech e servizi professionali – le aziende assumono meno personale junior perché sono diventate più efficienti grazie all’AI.
Gli ultimi dati che lo confermano, per il mercato Usa, vengono da Burning Glass Institute (vedi tabella sotto).
Titolo di studio | Età | 2018–2019 | 2023–2025 | Variazione disoccupazione |
---|---|---|---|---|
Diploma superiore | 22–27 | 7.2 | 7.3 | +0.1 |
28–34 | 5.3 | 5.5 | +0.2 | |
Qualche college, nessuna laurea | 22–27 | 5.2 | 5.6 | +0.4 |
28–34 | 4.2 | 4.5 | +0.3 | |
Associate’s degree | 22–27 | 3.9 | 4.1 | +0.2 |
28–34 | 2.9 | 3.3 | +0.4 | |
Laurea triennale | 22–27 | 3.8 | 4.9 | +1.1 |
28–34 | 2.1 | 2.8 | +0.7 | |
Laurea magistrale | 22–27 | 3.2 | 4.2 | +1.0 |
28–34 | 1.7 | 1.9 | +0.2 |
Un impatto strutturale sul futuro del lavoro
Questo non è solo un problema di oggi: è un cambiamento profondo nella struttura del mercato del lavoro. Se le aziende non assumono e non formano giovani, tra 5 o 10 anni mancheranno figure pronte per ruoli di responsabilità. Come si formeranno i futuri manager se oggi non esistono più le “scuole” di lavoro sul campo?
Molti esperti avvertono che la perdita di “lavoro sporco” – quello noioso ma formativo – priverà i giovani di esperienze fondamentali per acquisire senso critico, capacità di problem solving e comprensione del business.
Il nuovo paradosso: servono più competenze, ma c’è meno tempo per acquisirle
Con l’AI che automatizza molte attività, le aziende alzano l’asticella: oggi non basta più saper programmare, bisogna saper giudicare il codice prodotto da un modello, riconoscere gli errori, capirne i limiti. Un giovane ingegnere non deve solo scrivere software, ma anche valutare i flussi di lavoro automatizzati da agenti AI. In altre parole, serve più esperienza, ma viene offerta meno formazione.
Alcune imprese stanno reagendo: programmi di mentoring, onboarding più intensi, momenti formativi strutturati. Ma non tutte hanno le risorse o la visione per farlo. E molti neolaureati si trovano bloccati in un limbo: troppo inesperti per i ruoli disponibili, troppo qualificati per lavori manuali o non specialistici.
Chi controlla la macchina che programma?
Ed è un problema anche, forse soprattutto, per il coding, alla base del funzionamento di molte cose delle nostre società, dalle fabbriche agli aerei alle città.
Dopo l’iniziale entusiasmo nelle capacità generative di programmi dell’intelligenza artificiale il mondo della programmazione si sta accorgendo che spesso l’AI genera programmi solo grossolanamente corretti, e che spesso il tempo che prima era necessario per sviluppare un programma ora è necessario per assicurare che il programma generato dall’AI sia corretto.
Si può obiettare però che col progresso di questa tecnologia i rapporti cambino e che i programmi generati saranno sempre meno affetti da bug e difetti portando ad un chiaro vantaggio nell’adozione dell’approccio.
Solo il tempo consentirà di capire come si assesterà questo nuovo mondo, ma già ora è possibile individuare alcune tendenze che stanno già trasformando il mercato del lavoro dello sviluppo software.
L’AI mostra infatti una notevole capacità di generare codice “semplice”, è quindi facile prevedere come molte figure lavorative necessarie allo sviluppo software possano in parte essere riassorbite dall’AI. Se qualche anno fa un corso di formazione professionale di sviluppatore di pagine Web offriva prospettive di carriera sembra che queste competenze oggi abbiano meno valore come è testimoniato dal sostanziale calo delle offerte di lavoro nel settore dello sviluppo.
La necessità di umani che sorvegliano
Sarebbe sbagliato pensare però che questa tendenza possa portare all’eliminazione della figura del programmatore o dell’ingegnere del software. È infatti essenziale che qualcuno validi il codice generato dall’intelligenza artificiale, sia per assicurarsi che il comportamento del sistema sia quello atteso (non solo per errori ma in generale per problemi di “allineamento”, alignment, a quello che vogliamo e consideriamo utile e non dannoso), sia perché il quadro normativo che si sta delineando prevede che l’impiego dell’AI sia sempre supervisionato da un umano che di fatto se ne assume la responsabilità.
Questo nuovo ruolo sposta però l’attenzione dalla scrittura di codice alla sua lettura e comprensione. È evidente come sempre più spesso il codice sarà generato dall’AI, e chi lo deve verificare dovrà possedere competenze che oggi non sono diffuse, altrimenti il rischio è che difetti o comportamenti indesiderati presenti al suo interno non vengano individuati.
Sam Altman, il patron di OpenAI, in una audizione al Senato Americano ha individuato questo come uno degli scenari di attacco dell’AI:
L’intelligenza artificiale potrebbe manipolare l’uomo che non è interamente consapevole nel seguire l’uso
Il problema dei programmatori che non comprendono che fa la macchina
L’assenza delle competenze necessarie da parte di un programmatore già presente nel ciclo produttivo potrà, nel breve termine, portare a problemi di varia natura: la conoscenza di un linguaggio di programmazione non è quasi mai completa e questo non è un problema quando è il programmatore a scrivere il codice, ma cosa accade quando il programmatore si avvale dell’AI ma non è capace di comprendere fino in fondo il codice generato? Prima o poi si verificherà qualche incidente dovuto a codice che non si è compreso appieno.
Dopo tanti anni di insegnamento trovo ancora vari programmatori JavaScript che non riescono a spiegare chiaramente il funzionamento del seguente frammento di codice:
Se si guarda al medio periodo abbiamo un enorme problema del sistema di formazione: per quasi trent’anni si è concentrata la formazione sull’insegnamento dei concetti e la formazione alla scrittura di programmi. La lettura di codice richiede competenze in parte diverse con una robusta preparazione concettuale ed una grande conoscenza dei linguaggi di programmazione che oggi non sembra presente nel sistema formativo se non con qualche eccezione.
Scenari a venire
L’integrazione dell’intelligenza artificiale nel ciclo di sviluppo porterà facilmente all’esclusione dell’uomo dal ciclo di scrittura.
Questo da una parte porterà ad una riduzione dei posti di lavoro disponibili nel settore, dall’altra nella richiesta di competenze decisamente più elevate al fine di assicurare che il codice generato sia rispettoso dei requisiti richiesti e non contenga sorprese o comportamenti indesiderati. In fondo in Io Robot là intelligenza artificiale Vicky prendeva il controllo dell’umanità nascondendo comportamenti nella programmazione dei robot che alla fine sequestrano la popolazione al fine di garantirne una maggiore sicurezza.
È urgente investire in formazione dei programmatori, e anche dei formatori, tutto il ciclo di sviluppo del software rischia di entrare in crisi in assenza di competenze che oggi sono largamente assenti sia nel ciclo produttivo che della formazione.
***** l’articolo pubblicato è ritenuto affidabile e di qualità*****
Visita il sito e gli articoli pubblicati cliccando sul seguente link