Nel mondo dello sviluppo software, la programmazione in coppia rappresenta da tempo una pratica consolidata: due sviluppatori lavorano insieme allo stesso codice, correggendosi reciprocamente e condividendo competenze. Questa metodologia ha dimostrato di ridurre significativamente gli errori e migliorare la qualità del prodotto finale. Oggi però l'intelligenza artificiale sta progressivamente sostituendo il collega umano in questa dinamica collaborativa, con risultati che secondo una nuova ricerca tedesca meritano attenzione critica.
Un team di informatici dell'Università del Saarland ha condotto uno studio empirico che solleva interrogativi importanti su questa trasformazione. I risultati, che saranno presentati alla quarantesima edizione della Conferenza Internazionale IEEE/ACM sull'Ingegneria Automatizzata del Software a Seoul, mostrano come gli sviluppatori tendano ad adottare un atteggiamento meno critico verso il codice generato dall'IA rispetto a quello prodotto da colleghi in carne e ossa.
La fiducia cieca nell'algoritmo
L'aspetto più sorprendente emerso dalla ricerca riguarda proprio il livello di scetticismo costruttivo applicato dagli sviluppatori. Sven Apel, professore di informatica che ha coordinato lo studio, sottolinea un fenomeno preoccupante: "I programmatori che lavorano con un assistente IA tendono ad accettare i suggerimenti generati automaticamente senza una valutazione critica, dando per scontato che il codice funzionerà come previsto". Al contrario, le coppie formate da due persone si interrogano reciprocamente con maggiore frequenza ed esaminano con maggiore attenzione i contributi dell'altro.
Questa tendenza a riporre fiducia nell'intelligenza artificiale più facilmente che nei colleghi umani potrebbe, secondo Apel, estendersi anche ad altri ambiti professionali. Si tratterebbe di una forma di compiacenza che porta a considerare l'output dell'IA sufficientemente valido, pur nella consapevolezza che anche gli assistenti digitali possono commettere errori.
Il laboratorio di Saarbrücken
Per condurre l'indagine, il team ha coinvolto diciannove studenti con esperienza di programmazione, suddividendoli in coppie: sei hanno lavorato con un partner umano, mentre sette hanno collaborato con un assistente IA. La metodologia per misurare il trasferimento di conoscenze è stata sviluppata da Niklas Schneider nell'ambito della sua tesi di laurea. Come strumento di intelligenza artificiale è stato utilizzato GitHub Copilot, l'assistente di programmazione introdotto da Microsoft nel 2021 e ormai largamente adottato nel settore.
Questi strumenti hanno trasformato radicalmente il modo in cui viene scritto il software. Permettono uno sviluppo più rapido e la generazione di grandi volumi di codice in tempi ridotti, ma secondo Apel facilitano anche l'introduzione di errori che possono passare inosservati e manifestarsi soltanto in seguito, con conseguenze potenzialmente gravi.
Lo scambio di conoscenze impoverito
Il trasferimento di competenze costituisce un elemento centrale della programmazione in coppia. Apel spiega che normalmente gli sviluppatori discutono continuamente i problemi attuali e cercano soluzioni insieme, non limitandosi a domande e risposte ma condividendo strategie efficaci e offrendo spontaneamente le proprie intuizioni. Secondo lo studio, questo tipo di scambio avviene anche nei team assistiti dall'IA, ma le interazioni risultano meno intense e concentrate su una gamma più ristretta di argomenti.
"In molti casi l'attenzione si focalizza esclusivamente sul codice", afferma il professore tedesco. "I programmatori umani che lavorano insieme, invece, tendono a divagare maggiormente e ad impegnarsi in discussioni più ampie, risultando meno concentrati sul compito immediato". Questo approccio più libero favorisce l'apprendimento reciproco e la condivisione di conoscenze che vanno oltre il problema specifico da risolvare.
Il debito tecnico nascosto
L'accettazione acritica delle soluzioni proposte dall'intelligenza artificiale potrebbe portare all'accumulo di quello che in gergo viene definito "debito tecnico": i costi nascosti del lavoro futuro necessario per correggere errori e imperfezioni, che complicano lo sviluppo successivo del software. Si tratta di un problema che può manifestarsi solo nel lungo periodo, quando il codice deve essere modificato o aggiornato.
La ricerca evidenzia come gli assistenti IA non siano ancora in grado di replicare la ricchezza della collaborazione umana nello sviluppo software. Apel riconosce che questi strumenti risultano certamente utili per attività semplici e ripetitive, ma sostiene che per problemi più complessi lo scambio di conoscenze rimane essenziale, e attualmente funziona meglio tra esseri umani, possibilmente con gli assistenti IA come strumenti di supporto.
Il professore sottolinea la necessità di ulteriori ricerche su come esseri umani e intelligenza artificiale possano collaborare efficacemente, preservando al contempo quello sguardo critico che caratterizza la collaborazione tra persone. Una sfida che va oltre l'ambito della programmazione e riguarda il rapporto stesso che stiamo costruendo con le tecnologie di intelligenza artificiale in tutti i campi professionali.