L’Intelligenza Artificiale ci obbliga a salire di un gradino
Dal codice alla progettazione dei sistemi: come cambia l’ingegneria e perché dobbiamo ripensare l’insegnamento dell’informatica.
Un cambiamento che non possiamo ignorare
Per molti anni abbiamo considerato la capacità di scrivere codice una delle competenze fondamentali per chi voleva avvicinarsi al mondo dell’informatica e dell’ingegneria.
Imparare un linguaggio di programmazione, conoscere le istruzioni, comprendere le strutture dati, sviluppare algoritmi e trasformarli in software funzionante rappresentava un percorso quasi obbligato.
Oggi qualcosa sta cambiando. E sta cambiando molto velocemente.
L’avvento dell’Intelligenza Artificiale generativa, e in particolare dei Large Language Models (LLM), sta modificando profondamente il rapporto tra l’essere umano e la macchina.
Possiamo descrivere un problema in linguaggio naturale e ottenere codice, algoritmi, interfacce, procedure di test e persino interi moduli software. Attività che fino a pochi anni fa richiedevano ore di lavoro possono oggi essere affrontate in pochi minuti.
Ma siamo sicuri che la vera rivoluzione sia semplicemente scrivere codice più velocemente?
Credo che il cambiamento sia molto più profondo.
Non stiamo soltanto assistendo alla nascita di nuovi strumenti di programmazione. Stiamo assistendo a una trasformazione del ruolo stesso di chi progetta tecnologia.
Ray Kurzweil e la singolarità tecnologica
Per comprendere la portata di questa trasformazione vale la pena richiamare il pensiero di Raymond Kurzweil, inventore, informatico e futurologo statunitense.
Nel suo libro The Singularity Is Near, pubblicato nel 2005, Kurzweil descrive uno scenario in cui il progresso tecnologico procede con un’accelerazione tale da determinare trasformazioni radicali nella società e nelle capacità umane.
È il concetto di singolarità tecnologica.
Secondo Kurzweil, l’evoluzione delle tecnologie informatiche segue dinamiche esponenziali e non semplicemente lineari. Questo significa che tendiamo a sottovalutare la velocità con cui possono verificarsi cambiamenti profondi.
Nelle sue previsioni, Kurzweil colloca intorno al 2029 il raggiungimento di capacità di intelligenza artificiale paragonabili a quelle umane e intorno al 2045 la singolarità tecnologica, associata a una profonda integrazione tra intelligenza biologica e artificiale.
Naturalmente si tratta di previsioni, non di certezze scientifiche. Possiamo discuterne le tempistiche e persino la possibilità che si realizzino.
Ma c’è un aspetto del suo pensiero che trovo particolarmente interessante: la difficoltà dell’essere umano di comprendere e anticipare le conseguenze di un progresso che accelera continuamente.
E forse è proprio questa la condizione nella quale ci troviamo oggi.
Non sappiamo esattamente quale sarà il livello di autonomia raggiunto dall’AI nei prossimi dieci o vent’anni. Sappiamo però che sta già modificando il nostro modo di lavorare, apprendere e progettare.
La domanda, quindi, non dovrebbe essere soltanto quanto diventerà intelligente l’AI, ma soprattutto come dovremo cambiare noi.
Dallo sviluppo del codice alla progettazione dei sistemi

Proviamo a guardare questa trasformazione dal punto di vista di un ingegnere.
Tradizionalmente, lo sviluppo di un sistema software richiede di analizzare un problema, definire un’architettura, suddividerla in componenti e implementare ciascun componente attraverso la scrittura del codice.
L’Intelligenza Artificiale sta intervenendo soprattutto nelle fasi di implementazione, rendendo possibile automatizzare una parte crescente delle attività operative.
Questo sposta progressivamente il valore del lavoro umano verso livelli di astrazione superiori.
Se un sistema di AI è in grado di generare una funzione, una libreria o un modulo software a partire da una specifica, allora il problema più importante non è necessariamente come scrivere quel codice.
Diventa fondamentale sapere quale componente realizzare, perché realizzarlo, quali requisiti deve soddisfare, come deve interagire con gli altri componenti e come verificare che funzioni correttamente.
È qui che entra in gioco la progettazione dei sistemi.
Un buon progettista deve comprendere il problema nella sua interezza, individuare i vincoli, definire le interfacce, valutare le alternative architetturali, anticipare le criticità e verificare la coerenza del risultato finale.
L’AI può diventare uno straordinario strumento per realizzare i singoli elementi, ma la responsabilità della visione complessiva, delle scelte progettuali e della validazione rimane essenziale.
Almeno per il futuro che oggi possiamo ragionevolmente immaginare.
Dobbiamo imparare a salire di un gradino: dal saper costruire i singoli mattoni al saper progettare l’edificio.
Attenzione, però: questo non significa che possiamo ignorare come siano fatti i mattoni.
Un ingegnere che non comprende il funzionamento del codice generato dall’AI rischia di perdere la capacità di valutarne la correttezza, l’affidabilità, le prestazioni e la sicurezza.
L’astrazione è una conquista soltanto quando poggia su una solida conoscenza dei livelli sottostanti.
L’ingegneria aerospaziale e la robotica: un modello per l’ingegnere del futuro?
C’è un aspetto di questa trasformazione che trovo particolarmente interessante.
Se il futuro dell’ingegneria sarà sempre più orientato alla progettazione e all’integrazione di sistemi complessi, forse possiamo già individuare alcune discipline che ci mostrano la direzione verso cui stiamo andando.
Penso, per esempio, all’ingegneria aerospaziale e alla robotica.
Sono discipline nelle quali la multidisciplinarietà non rappresenta un’opportunità aggiuntiva, ma una necessità strutturale.
Progettare un satellite significa mettere insieme elettronica, informatica, meccanica, telecomunicazioni, sistemi di controllo, gestione dell’energia e conoscenze di fisica orbitale.
Progettare un robot significa integrare sensori, attuatori, algoritmi, sistemi embedded e Intelligenza Artificiale in una macchina capace di interagire con l’ambiente.
In entrambi i casi, il successo del progetto non dipende soltanto dalla qualità dei singoli componenti, ma soprattutto dalla capacità di farli funzionare insieme.
Un algoritmo di controllo può essere matematicamente corretto, ma risultare inefficace se i sensori non garantiscono le prestazioni necessarie. Un sistema di elaborazione può essere estremamente sofisticato, ma diventare inutilizzabile se richiede più energia di quella disponibile o se non rispetta i vincoli temporali imposti dall’applicazione.
Il progettista deve quindi ragionare contemporaneamente su discipline differenti, comprendendo come una scelta effettuata in un ambito possa condizionare il comportamento dell’intero sistema.
Ecco perché ritengo che queste discipline possano rappresentare un riferimento importante per immaginare l’ingegnere del futuro.
Non perché tutti dovranno diventare ingegneri aerospaziali o robotici, ma perché il metodo con cui queste discipline affrontano la complessità potrebbe diventare sempre più rappresentativo dell’ingegneria in generale.
L’Intelligenza Artificiale potrà supportarci nella progettazione e nello sviluppo dei singoli sottosistemi, rendendo accessibili strumenti e competenze che fino a poco tempo fa richiedevano una specializzazione molto elevata.
Ma proprio questa maggiore accessibilità renderà ancora più importante la capacità di definire un’architettura, comprendere le interdipendenze, gestire i vincoli e verificare il comportamento complessivo di un sistema.
In altre parole, l’ingegnere del futuro non dovrà necessariamente sapere tutto di ogni disciplina. Dovrà però essere capace di comprendere come discipline differenti contribuiscano alla realizzazione di una soluzione.
Dovrà mantenere una solida competenza specialistica, ma sviluppare contemporaneamente una visione trasversale.
È un modello che richiama il concetto di T-shaped engineer: un professionista che possiede una conoscenza approfondita in un determinato ambito, ma anche competenze sufficientemente ampie per dialogare con specialisti di discipline differenti e contribuire all’integrazione delle loro soluzioni.
E forse è proprio questa una delle trasformazioni più interessanti introdotte dall’AI: non soltanto permetterci di fare più velocemente ciò che già sappiamo fare, ma ampliare il perimetro dei problemi che siamo in grado di affrontare.
L’AI rende più semplice costruire, ma non necessariamente progettare

Da questa riflessione emerge un apparente paradosso.
L’Intelligenza Artificiale sta progressivamente abbassando le barriere di accesso allo sviluppo tecnologico. Attività che richiedevano conoscenze specialistiche e tempi considerevoli possono oggi essere affrontate con strumenti sempre più accessibili.
Ma questo non significa che la complessità dell’ingegneria sia destinata a diminuire.
Al contrario, proprio perché sarà più semplice realizzare singoli componenti, potremo immaginare e sviluppare sistemi sempre più articolati.
E sistemi più articolati richiederanno maggiore attenzione all’integrazione, alla sicurezza, all’affidabilità, alla gestione dei requisiti e alla verifica delle prestazioni.
Pensiamo ancora una volta a un satellite o a un robot.
La possibilità di generare rapidamente il firmware di un sensore, un algoritmo di controllo o un protocollo di comunicazione non garantisce automaticamente che questi elementi possano funzionare insieme.
Ogni componente introduce vincoli, dipendenze e potenziali criticità.
La complessità non scompare. Si sposta.
E con essa si sposta il valore delle competenze ingegneristiche.
L’AI abbassa la barriera di accesso alla realizzazione, ma non elimina la complessità della progettazione.
Forse, quindi, l’Intelligenza Artificiale non renderà semplicemente l’ingegneria più facile. Potrebbe renderla molto più ambiziosa.
E nelle scuole superiori cosa dovrebbe cambiare?
Questa trasformazione apre una questione che considero ancora più importante: come dobbiamo insegnare informatica e tecnologia alle nuove generazioni?
Nelle scuole superiori, e più in generale nei percorsi di formazione STEM, dedichiamo giustamente molto tempo all’apprendimento dei linguaggi di programmazione, della sintassi e delle tecniche di sviluppo.
Sono competenze importanti, ma forse non possono più rappresentare il principale punto di arrivo della formazione.
Se uno studente può chiedere a un LLM di scrivere un programma per leggere un sensore, controllare un motore o realizzare una semplice applicazione, quale valore aggiunto possiamo offrire attraverso l’insegnamento?
A mio avviso, dobbiamo spostare progressivamente l’attenzione dall’esecuzione di un compito alla comprensione e alla progettazione di una soluzione.
Immaginiamo, per esempio, un laboratorio scolastico nel quale gli studenti debbano realizzare un sistema capace di monitorare le condizioni ambientali di un’aula.
L’approccio tradizionale potrebbe concentrarsi sulla scrittura del programma che acquisisce i dati da un sensore e li visualizza.
Un approccio orientato alla progettazione dei sistemi partirebbe invece da domande diverse.
Quali grandezze vogliamo misurare? Quali sensori dobbiamo utilizzare? Con quale frequenza dobbiamo acquisire i dati? Come li elaboriamo? Come comunichiamo le informazioni? Come possiamo verificare l’affidabilità delle misure? Quali errori potrebbero verificarsi?
Solo dopo aver affrontato queste domande arriveremmo all’implementazione.
A quel punto l’AI potrebbe essere utilizzata per generare parti del software, suggerire soluzioni, individuare errori e supportare la realizzazione del prototipo.
Gli studenti non sarebbero semplicemente esecutori di istruzioni, ma diventerebbero progettisti di un sistema.
E soprattutto imparerebbero qualcosa che nessun linguaggio di programmazione, da solo, può insegnare: trasformare un problema reale in una soluzione tecnologica ragionata.
Dalla programmazione alla progettazione: il valore dei laboratori multidisciplinari
Se consideriamo l’ingegneria aerospaziale e la robotica come possibili riferimenti per il futuro dell’ingegneria, allora possiamo trarne indicazioni importanti anche per la formazione.
Queste discipline, infatti, non rappresentano soltanto ambiti professionali particolarmente avanzati. Possono diventare straordinari contesti educativi per sviluppare il pensiero sistemico.
Immaginiamo un laboratorio nel quale un gruppo di studenti debba realizzare un piccolo rover autonomo.
Gli studenti dovranno affrontare problemi di meccanica, elettronica, programmazione, sensoristica, alimentazione e controllo.
Dovranno scegliere i componenti, comprenderne le caratteristiche, definire le modalità di interazione e verificare il comportamento del sistema.
Non dovranno necessariamente diventare esperti di tutte queste discipline. Dovranno però imparare a comprenderne le relazioni.
L’AI potrà aiutarli a sviluppare il codice di controllo dei motori, interpretare i dati dei sensori, suggerire algoritmi di navigazione o individuare possibili errori.
Ma il vero apprendimento consisterà nel comprendere come tutti questi elementi contribuiscano al funzionamento complessivo del rover.
Lo stesso approccio potrebbe essere applicato alla realizzazione di una piccola stazione meteorologica, di un sistema domotico, di un dispositivo biomedicale o di un modello didattico di satellite.
Il progetto diventerebbe il punto di incontro tra discipline differenti e la programmazione uno degli strumenti necessari per realizzarlo.
In questa prospettiva, l’Intelligenza Artificiale non sostituirebbe l’apprendimento tecnico, ma permetterebbe agli studenti di affrontare progetti più ambiziosi, concentrandosi maggiormente sulla comprensione del problema e sulle scelte progettuali.
Se l’AI ci permette di realizzare componenti tecnologici con una facilità prima impensabile, forse dovremmo iniziare a insegnare ai ragazzi a progettare sistemi complessi molto prima di quanto facciamo oggi.
Naturalmente, la complessità dei progetti e il livello di autonomia dovrebbero crescere progressivamente, rispettando l’età e le conoscenze degli studenti.
Ma l’obiettivo educativo potrebbe essere chiaro fin dall’inizio: non imparare soltanto a programmare una macchina, ma comprendere come si progetta un sistema capace di risolvere un problema.
L’AI come acceleratore dell’apprendimento, non come scorciatoia
Naturalmente esiste un rischio.
Se utilizziamo l’Intelligenza Artificiale soltanto per ottenere risposte immediate, senza comprenderle, possiamo trasformare uno straordinario strumento di apprendimento in una scorciatoia che impoverisce le competenze.
Per questo ritengo che il problema non sia decidere se consentire o vietare l’AI nelle scuole.
Il vero problema è insegnare a utilizzarla correttamente.
Uno studente dovrebbe essere capace di formulare un problema, descrivere i requisiti di una soluzione, interrogare criticamente un modello di AI, comprendere ciò che viene generato, verificarne il comportamento e riconoscerne gli errori.
Dovrebbe imparare a non accettare una risposta soltanto perché appare convincente.
In questo nuovo scenario, il pensiero critico, la capacità di analisi, la creatività e la conoscenza dei principi scientifici diventano ancora più importanti.
Non dobbiamo formare studenti che sappiano semplicemente chiedere all’AI di fare qualcosa.
Dobbiamo formare studenti che sappiano cosa chiedere, perché chiederlo e come valutare ciò che ottengono.
Una nuova sfida per l’ingegneria e per l’educazione
La storia dell’informatica è anche la storia di una continua crescita dei livelli di astrazione.
Siamo passati dal linguaggio macchina ai linguaggi di alto livello, dalle librerie ai framework, fino agli ambienti di sviluppo capaci di automatizzare attività sempre più complesse.
Ogni passaggio ha consentito ai progettisti di concentrarsi su problemi più articolati, delegando agli strumenti una parte del lavoro precedentemente svolto manualmente.
L’Intelligenza Artificiale rappresenta un ulteriore passaggio, probabilmente uno dei più significativi.
Questa volta, però, non stiamo soltanto automatizzando operazioni ripetitive. Stiamo iniziando a delegare alle macchine attività che richiedono elaborazione del linguaggio, interpretazione delle specifiche, generazione di soluzioni e supporto alle decisioni.
È una trasformazione che richiede una revisione del nostro modo di concepire le competenze professionali e i percorsi educativi.
Credo che il futuro dell’ingegneria sarà sempre più legato alla capacità di governare la complessità, integrare discipline differenti e trasformare idee in sistemi affidabili e sostenibili.
L’ingegneria aerospaziale e la robotica ci mostrano già oggi quanto sia importante questa capacità di integrazione. L’AI potrebbe rendere tale approccio ancora più diffuso, ampliando le possibilità di collaborazione tra discipline e accelerando la realizzazione delle soluzioni.
E credo che la scuola debba iniziare a preparare i giovani a questo futuro, senza aspettare che il cambiamento sia già avvenuto.
Non dobbiamo competere con l’AI. Dobbiamo imparare a crescere con essa.
Forse la lezione più importante che possiamo trarre dalle riflessioni di Kurzweil non riguarda una data precisa o la possibilità di raggiungere la singolarità tecnologica.
Riguarda la necessità di riconoscere che il cambiamento non è un evento lontano, ma un processo già in corso.
Possiamo subirlo, cercando di difendere competenze e metodologie che rischiano di diventare progressivamente meno centrali.
Oppure possiamo affrontarlo, ripensando il nostro ruolo e il modo in cui trasferiamo conoscenza alle nuove generazioni.
Non si tratta di abbandonare la programmazione, né di rinunciare alla conoscenza tecnica.
Si tratta di utilizzarle come fondamenta per costruire competenze di livello superiore.
Perché se oggi una macchina può aiutarci a scrivere il codice, noi dobbiamo diventare sempre più capaci di immaginare il sistema che quel codice contribuirà a realizzare.
Il futuro non appartiene necessariamente a chi saprà scrivere più righe di codice, ma a chi saprà immaginare, progettare e verificare soluzioni a problemi che oggi non siamo ancora capaci di risolvere.
Ed è proprio da qui che, secondo me, dovrebbe ripartire l’educazione tecnologica.
Mauro D’Angelo
