GoSuda

Metodologia di sviluppo AI-native

By gosunuts
views ...

L'AI e gli Sviluppatori

La prospettiva degli sviluppatori sull'AI è complessa. Sebbene l'AI abbia reso possibili un incremento della produttività e un'acquisizione di informazioni senza precedenti, al contempo il ruolo dello sviluppatore sta cambiando radicalmente. Alcuni prevedono che l'AI evolverà in AGI e sostituirà la maggior parte degli sviluppatori, mentre altri sminuiscono l'AI definendola uno strumento sopravvalutato e sostengono che il valore intrinseco dello sviluppatore rimanga invariato. In apparenza questi atteggiamenti sembrano diametralmente opposti, ma sono sorprendentemente simili nel giudicare l'AI utilizzando i parametri dei vecchi modi di pensare.

Tuttavia, il punto cruciale qui non è giudicare o valutare l'AI. Il vero nocciolo della questione risiede nel modo in cui la mentalità di sviluppo basata sull'AI debba essere modificata e in come, in risposta a tale cambiamento, debbano essere riconfigurati i ruoli degli sviluppatori e delle organizzazioni. A tal fine, la metodologia di sviluppo dell'AI è stata riassunta attraverso l'analisi in tre fasi riportata di seguito.

Sviluppo Dipendente dall'AI

Lo sviluppo dipendente dall'AI è la fase in cui l'AI viene considerata il soggetto del giudizio e i suoi risultati vengono accettati in modo acritico. Lo sviluppatore in questa fase percepisce l'AI come un'entità che organizza e implementa le proprie idee e, inoltre, la accetta come un sostituto a cui poter delegare persino il giudizio e la responsabilità.

Superficialmente, questo metodo sembra aumentare la produttività in modo esplosivo. Tuttavia, in realtà si accumulano rapidamente codici inspiegabili e di cui non ci si può assumere la responsabilità. Quando si verificano problemi con il codice così creato, nessuno è in grado di esprimere un giudizio sicuro sul motivo per cui si sia giunti a una tale struttura o su quale scelta sia stata corretta.

In questa fase, l'AI produce solo risultati inaffidabili e lo sviluppatore si limita al ruolo di consumatore di tali risultati. Di conseguenza, sia l'AI che lo sviluppatore vengono impiegati in modo dispendioso e le capacità effettive non si accumulano da nessuna parte.

Sviluppo tramite l'AI

Lo sviluppo tramite l'AI è la fase osservata in sviluppatori più esperti. In questa fase, lo sviluppatore riconosce l'AI non come un sostituto del giudizio, ma come un potente strumento per aumentare la produttività. Lo sviluppatore in questa fase rimane il soggetto della progettazione e del giudizio finale, delegando all'AI compiti ripetitivi e ad alto costo come la generazione di codice, il refactoring, il debugging e il riassunto di documenti. Questo metodo riduce significativamente la percentuale di compiti ripetitivi dello sviluppatore, aumentando drasticamente la produttività pur mantenendo l'affidabilità.

Tuttavia, questo metodo presenta un limite strutturale: il contesto della progettazione e il giudizio non circolano. Poiché la direzione dello sviluppo e il processo decisionale rimangono confinati nel ragionamento personale dello sviluppatore e non vengono condivisi con l'AI, l'AI non riesce ad accumulare i cambiamenti e la crescita dello sviluppatore. Di conseguenza, il contesto della progettazione e la capacità di giudizio rimangono isolati nello sviluppatore.

A causa di ciò, non si forma alcun ciclo di apprendimento tra lo sviluppatore e l'AI, e la capacità di utilizzo dell'AI non si estende oltre le competenze esistenti dello sviluppatore. La crescita appartiene all'individuo e, con il passare del tempo, il divario di competenze tra gli sviluppatori si amplia. Inoltre, emergono limiti nel fatto che tali competenze sono difficilmente accumulabili o riproducibili a livello organizzativo.

Sviluppo Nativo dell'AI

Lo sviluppo nativo dell'AI va oltre la fase in cui l'AI viene considerata affidabile o utilizzata come strumento, indicando invece una struttura in cui l'AI viene integrata nella struttura di sviluppo e nel processo decisionale, e in cui l'AI e gli esseri umani interagiscono crescendo reciprocamente. In questa fase, l'AI funziona come un membro che interagisce condividendo il giudizio e il contesto dello sviluppatore.

Il fulcro di questa struttura risiede nel fatto che l'AI e lo sviluppatore operano in un ciclo bidirezionale e non unidirezionale. Lo sviluppatore condivide continuamente con l'AI l'intento della progettazione e le basi del giudizio, e l'AI accumula attraverso questo processo il pensiero dello sviluppatore e il contesto dell'organizzazione. Di conseguenza, l'AI va oltre l'essere un semplice strumento che elabora richieste, evolvendosi verso una direzione che suggerisce opzioni personalizzate per l'organizzazione e assiste e corregge il giudizio dello sviluppatore.

Lo sviluppo nativo dell'AI non dipende dalla competenza o dall'abilità specifica di un singolo individuo. Se il contesto dell'AI viene mantenuto anche in caso di cambiamento dei membri, è possibile porre domande con una prospettiva simile sullo stesso problema e prendere decisioni migliori basate sulle scelte passate e sui relativi motivi. La capacità di sviluppo non appartiene all'individuo, ma si accumula nell'intera organizzazione diventando riproducibile.

In definitiva, ciò a cui mira lo sviluppo nativo dell'AI non è una specifica architettura o metodologia di sviluppo, bensì il processo di sviluppo stesso in cui il giudizio e l'apprendimento dell'AI e degli esseri umani si rafforzano continuamente. All'interno di questa struttura, lo sviluppatore e l'AI non si sostituiscono a vicenda. Invece, si evolvono in una relazione in cui condividono lo stesso spazio problematico e creano insieme un giudizio migliore e una struttura più solida.