Ogni giorno sembra emergere un nuovo strumento di intelligenza artificiale che cerca di assumere il lavoro degli sviluppatori. Di recente, gli LLM stanno diventando sempre più sofisticati, tanto da essere in grado di eseguire il debug automatico del proprio codice. Questo nuovo approccio è stato descritto in un documento pubblicato dai ricercatori di Google Brain e utilizza la capacità dei LLM di spiegare il codice in linguaggio naturale per identificare gli errori e correggerli.
L’auto-debug è stata testata su benchmark di generazione del codice, come il set di dati Spider per SQL, Transcoder per la traduzione da C++ a Python e MBPP per Python, migliorando la precisione fino al 9% e al 10%. Questo metodo di auto-debugging è stato ispirato dai programmatori umani, che spesso danno una seconda occhiata al codice che hanno prodotto per identificare gli errori.
L’auto-debug è solo uno dei molti approcci che potrebbero portare alla prossima generazione di codificatori automatici. Altri approcci includono prompt di pochi colpi e selezione del codice basata sull’esecuzione. Se combinati con altri approcci come IA costituzionale, Reflexion, AutoGPT e altri, potrebbero portare a un flusso di lavoro DevOps molto diverso da quello attuale.
Mentre alcuni vedono le piattaforme di codifica automatica come una minaccia per la loro professione, altri ritengono che abbiano la capacità di potenziare le capacità degli sviluppatori. Anche se gli sviluppatori impiegano del tempo a eseguire il debug del codice occasionalmente difettoso che esce dallo strumento AI, si ottiene un flusso di lavoro complessivo più fluido. In effetti, il debugging è probabilmente il più grande fattore di disturbo in questo flusso di lavoro.
Sebbene ci sia preoccupazione per gli effetti di questi strumenti sull’occupazione degli sviluppatori, molti credono che il flusso di lavoro diventerà molto più efficiente e che gli sviluppatori diventeranno molto più produttivi. Ci si aspetta che questi strumenti diventino soluzioni a tutti gli effetti con moduli impilati e agenti di intelligenza artificiale, portando a una maggiore produttività e non causando una perdita di posti di lavoro per gli sviluppatori.
Infatti, secondo una ricerca condotta da GitHub Copilot, l’88% dei programmatori si sente più produttivo utilizzando il programmatore di coppia AI, con il 96% che afferma di essere più veloce nelle attività ripetitive. Inoltre, quasi tre quarti degli sviluppatori che utilizzano il software hanno affermato che Copilot li ha aiutati a rimanere nel flusso e coloro che utilizzano il programmatore di coppia hanno completato le attività il 55% in più rispetto a coloro che non lo hanno fatto.
In sintesi, l’auto-debugging degli LLM e gli strumenti di codifica automatica in generale sono considerati da molti come un fattore abilitante piuttosto che un disgregatore. Anshul Bhide, BizOps, India Head presso Replit, ha dichiarato che l’obiettivo è quello di trasformare gli sviluppatori 1x in sviluppatori 10x con l’aiuto di tutte le capacità di calcolo, archiviazione, hosting e distribuzione, e tutto questo ovviamente con l’aiuto della tecnologia.
Inoltre, gli sviluppatori avranno ancora un ruolo fondamentale nel processo di sviluppo del software, poiché le piattaforme di codifica automatica non sono ancora in grado di sostituire completamente il loro lavoro. Tuttavia, queste tecnologie possono aiutare gli sviluppatori a essere più produttivi e a concentrarsi su compiti più complessi, migliorando l’efficienza del flusso di lavoro DevOps.
In conclusione, l’auto-debugging degli LLM e gli strumenti di codifica automatica sono un’innovazione promettente che potrebbe portare a un’evoluzione del settore DevOps. Sebbene ci siano preoccupazioni per il futuro degli sviluppatori, molti credono che questi strumenti possano portare a una maggiore produttività e migliorare l’efficienza del flusso di lavoro. Tuttavia, è importante ricordare che gli sviluppatori continueranno ad avere un ruolo cruciale nel processo di sviluppo del software e che queste tecnologie non sono in grado di sostituire completamente il loro lavoro.