Immagine AI

Negli ultimi anni l’intelligenza artificiale generativa ha iniziato a trasformare in modo profondo il processo di sviluppo software nelle grandi aziende tecnologiche. Tra i casi più significativi emersi recentemente vi è quello di Uber, che ha dichiarato che circa il 31% dell’intero codice presente nel proprio codebase è oggi scritto da sistemi di intelligenza artificiale. Questo dato evidenzia un cambiamento strutturale nel modo in cui le grandi organizzazioni sviluppano software, passando da un modello basato esclusivamente sull’ingegneria manuale a uno in cui gli sviluppatori collaborano con agenti intelligenti capaci di produrre, verificare e aggiornare porzioni di codice in modo autonomo.

La trasformazione non riguarda soltanto la generazione automatica di funzioni o script di supporto. All’interno dell’infrastruttura ingegneristica di Uber l’intelligenza artificiale è ormai integrata in diversi livelli del ciclo di sviluppo software, contribuendo alla scrittura del codice, alla creazione dei test, alla revisione delle modifiche e alla gestione delle operazioni di manutenzione su larga scala. Questo approccio riflette una tendenza sempre più diffusa nelle grandi aziende tecnologiche, dove l’AI non viene utilizzata soltanto come strumento di assistenza agli sviluppatori ma come componente attiva dell’ecosistema di sviluppo.

Secondo le informazioni rese pubbliche dall’azienda, circa l’11% delle pull request nei repository di Uber viene oggi aperto direttamente da agenti autonomi, cioè sistemi software che operano senza intervento umano diretto. Questi agenti sono in grado di analizzare il codice esistente, individuare opportunità di miglioramento o correzioni e proporre modifiche attraverso il normale processo di revisione del codice utilizzato dai team di ingegneria.

La diffusione di questi strumenti all’interno dell’organizzazione è molto ampia. Uber ha indicato che circa il 92% dei suoi sviluppatori utilizza strumenti basati su agenti AI almeno una volta al mese, segno che l’intelligenza artificiale è diventata parte integrante della quotidianità degli ingegneri software dell’azienda.

Per rendere possibile questa integrazione su larga scala, Uber ha sviluppato internamente una piattaforma tecnologica dedicata allo sviluppo assistito dall’intelligenza artificiale. Questa infrastruttura collega modelli di AI avanzati con l’ecosistema informativo dell’azienda, includendo repository di codice, documentazione tecnica, conversazioni interne e sistemi di gestione delle attività ingegneristiche. Grazie a questa integrazione gli agenti AI possono operare con una comprensione contestuale del software aziendale, evitando molti degli errori che potrebbero derivare da un’analisi superficiale del codice.

Uno degli elementi centrali di questa architettura è la presenza di una stack di sviluppo AI multilivello. In questo sistema i modelli linguistici di grandi dimensioni vengono utilizzati come motore di generazione e analisi del codice, mentre diversi strumenti intermedi gestiscono l’orchestrazione degli agenti, il controllo degli accessi ai dati aziendali e l’interazione con gli strumenti di sviluppo tradizionali. Gli ingegneri possono così eseguire più agenti contemporaneamente, ciascuno specializzato in compiti diversi come la scrittura del codice, la generazione di test automatici, la revisione delle modifiche o l’analisi di grandi refactoring.

Per facilitare l’uso di questi strumenti, Uber ha sviluppato una serie di piattaforme interne dedicate alla creazione e alla gestione degli agenti software. Tra queste vi sono un gateway basato su Model Context Protocol (MCP) che consente ai modelli AI di accedere in modo controllato ai dati aziendali, una piattaforma di Agent Builder che permette di configurare agenti senza scrivere codice e un’interfaccia a riga di comando denominata AIFX CLI, progettata per distribuire e monitorare agenti AI all’interno delle diverse squadre di sviluppo.

Questa architettura riflette un cambiamento profondo nel paradigma dello sviluppo software. In passato gli strumenti di supporto agli sviluppatori erano limitati a sistemi di completamento automatico del codice o a librerie di esempio. Con l’introduzione dei modelli generativi, invece, i sistemi di AI sono in grado di comprendere il contesto di un progetto software e produrre blocchi di codice complessi che rispettano le convenzioni architetturali dell’organizzazione.

In ambienti aziendali molto complessi come quello di Uber, dove il software è composto da milioni di righe di codice distribuite su centinaia di servizi e microservizi, questa capacità diventa particolarmente preziosa. Gli agenti AI possono analizzare grandi repository e suggerire modifiche coerenti su numerosi componenti contemporaneamente, riducendo il tempo necessario per operazioni di manutenzione o aggiornamento tecnologico che in passato richiedevano settimane di lavoro manuale.

L’utilizzo dell’intelligenza artificiale nello sviluppo software non implica tuttavia la sostituzione degli ingegneri umani. Al contrario, la strategia di Uber suggerisce un modello di collaborazione in cui gli sviluppatori assumono sempre più il ruolo di supervisori dei sistemi automatici. In questo scenario gli ingegneri definiscono l’architettura generale dei sistemi, verificano la qualità del codice generato e prendono decisioni progettuali di alto livello, mentre gli agenti AI gestiscono attività ripetitive o ad alta intensità di codice.

Questo modello è coerente con le osservazioni di diversi studi sullo sviluppo software assistito da AI. Ricerche recenti indicano che l’uso sistematico di strumenti di generazione automatica del codice può aumentare significativamente la produttività degli sviluppatori, accelerando il ciclo di revisione delle modifiche e aumentando il volume di codice prodotto senza ridurre la qualità complessiva del software.

Di Fantasy