Gli strumenti basati sull'intelligenza artificiale, i cosiddetti „agenti di codifica“, stanno cambiando radicalmente il modo in cui oggi si crea il software. Ma non tutte le aree di sviluppo stanno accelerando allo stesso modo. La comprensione di queste differenze è fondamentale per mettere d'accordo i team e definire aspettative realistiche.

Il maggior contributo dell'IA si vede nello sviluppo frontend. Ad esempio, nella creazione di siti web per gli e-shop. I modelli moderni hanno un'ottima padronanza di linguaggi come TypeScript o JavaScript e di framework come React o Angular. Grazie a ciò, possono generare interfacce funzionali molto rapidamente e, inoltre, iterare in modo indipendente in base ai risultati nel browser. La progettazione visiva rimane per ora un punto debole, ma se il design è predeterminato, l'implementazione è significativamente più veloce di prima.

Lo sviluppo del backend, come la creazione di API per lavorare con i dati, è più complesso. Richiede una guida più attenta da parte di sviluppatori esperti, soprattutto a causa di casi limite che possono portare a bug o problemi di sicurezza. Inoltre, gli errori nel backend spesso causano problemi opachi come il danneggiamento del database o i risultati errati delle query. Anche se l'intelligenza artificiale aiuta a velocizzare il lavoro, è pur vero che un backend di qualità richiede esperienza e una progettazione accurata.

L'intelligenza artificiale ha un contributo ancora minore da dare alle infrastrutture: compiti come la scalabilità di un sistema per migliaia di utenti e il mantenimento di un'elevata affidabilità richiedono una conoscenza approfondita e un senso del compromesso. I modelli attuali hanno una conoscenza limitata in quest'area e non sono quindi molto affidabili nel prendere decisioni critiche. Inoltre, l'individuazione di errori infrastrutturali, come le errate configurazioni di rete, è uno dei compiti più impegnativi in assoluto.

Finora l'IA è stata la meno utile nella ricerca. Questa comporta la formulazione di ipotesi, la sperimentazione, l'interpretazione dei risultati e la loro ripetizione. Mentre gli agenti di codifica possono accelerare la scrittura del codice per gli esperimenti o aiutare a organizzarli, la maggior parte del lavoro di ricerca implica la riflessione e il processo decisionale, in cui l'IA ha avuto finora un ruolo limitato.

La divisione del lavoro del software in frontend, backend, infrastruttura e ricerca è semplicistica ma utile. Aiuta le aziende a organizzare meglio i team e a definire le aspettative. Mentre i team di frontend possono lavorare molto più velocemente oggi rispetto a un anno fa, il ritmo è cambiato solo in minima parte per i team di ricerca.

Lo sviluppo del software sta quindi entrando in una nuova fase in cui la velocità dipende sempre di più dall'uso corretto dell'IA, ma anche da dove i suoi limiti non sono ancora stati superati.

deeplearning.ai/gnews.cz - GH