Maggio 8, 2024

Italnews

Trova tutti gli ultimi articoli e guarda programmi TV, servizi e podcast relativi all'Italia

Intelligenza artificiale negli ambienti degli sviluppatori: monitoraggio del controllo per i programmatori

Intelligenza artificiale negli ambienti degli sviluppatori: monitoraggio del controllo per i programmatori

Le prime notizie sull’intelligenza artificiale nello sviluppo del software sono state davvero cattive notizie: sui sistemi che devono completare i programmi automaticamente e quindi rendere superflui i programmatori. Tuttavia, è diventato presto chiaro: non si tratta davvero di quanto velocemente e quanto codice scrive l’IA. Riguarda se l’automazione ci consente di concentrarci su cose più importanti rispetto alla programmazione delle stesse soluzioni più e più volte. Attualmente siamo nella fase in cui stiamo esplorando come l’IA può semplificare la nostra vita di programmatori. Perché lo fa.






Diversi sistemi di apprendimento intelligenti si sono già affermati nella nostra vita quotidiana: la ricerca di immagini sui nostri telefoni cellulari trova immagini di cani, anche se non diciamo mai al dispositivo che si tratta di un’immagine di Waldi, e quasi tutti i word processor hanno il completamento intelligente delle frasi previste. in un contesto specifico.

Quando il completamento automatico e la generazione del codice dai commenti hanno raggiunto il mondo della programmazione con Github Copilot e Amazon Codewhisperer, è stato fantastico vedere quanto velocemente Corso Hype Gartner Noi programmatori lo usiamo per aspettative molto alte, delusioni e una ragionevole via di mezzo.

In primo luogo, la paura che tutti gli sviluppatori diventino superflui, poi la consapevolezza che le soluzioni automatizzate non sempre funzionano e infine il riconoscimento del lato pratico dell’innovazione. (Immagine: Gartner) [1/2]

Spiegazione delle percentuali in un foglio di stile CSS (screenshot: Christian Heilmann) [2/2]


Abbiamo alimentato noi stessi l’hype mostrando esempi in cui ho scritto un commento e ottenuto il codice appropriato generato. O in cui hai scritto una funzione con un nome significativo e un codice di programma generato automaticamente che fa ciò che promette il nome della funzione. La più grande innovazione è stata che questo codice proveniva da altre soluzioni su Github o ha ricevuto risposte ben valutate nei forum, quindi era già considerato utile da altri sviluppatori.




Questi sono ottimi esempi che vanno oltre quanto abbiamo avuto prima nel completamento del codice. Spesso automatizza ciò che facciamo manualmente. Quando gli sviluppatori si bloccano, cercano online se qualcuno ha già una soluzione e la copiano.

Da un lato, questi esempi sono solo un piccolo assaggio di ciò che può fare per noi un sistema intelligente che analizza i nostri programmi.

L’intelligenza artificiale ha bisogno di due cose: molti dati e molti utenti

L’intelligenza artificiale ha bisogno di due cose per aiutare gli esseri umani in modo efficace: un’enorme quantità di dati e gli utenti finali che lavorano con il sistema. Naturalmente, i primi risultati generati automaticamente per ogni sistema sono inizialmente errati. L’intelligenza artificiale ha bisogno di feedback per evitare errori e imparare dal comportamento degli utenti. Abbiamo la quantità di dati e ora il nostro compito è separare il grano dalla pula. Lo facciamo utilizzando questi sistemi e valutando il codice difettoso che ci è stato presentato come inutile.

Ho avuto accesso a Github Copilot e Amazon Codewhisperer molto presto e sono giunto alla conclusione che i sistemi che completano il nostro codice in modo intelligente sono il futuro di uno sviluppo software efficiente. Non solo per me, ma soprattutto per le squadre più grandi.

All’inizio, la programmazione assistita dalla macchina richiede un po’ di tempo per abituarsi. Vuoi scrivere codice e continua a interromperti. È anche peggio quando le soluzioni fornite sembrano diverse da quelle che avresti programmato tu stesso. La maggior parte delle soluzioni è pubblicizzata come “AI Pair Programmer” e non sarebbe una buona esperienza con uno sviluppatore umano come partner di programmazione che ha idee molto diverse su ciò che funziona.

Ma: più usi il sistema e lo alimenti con il tuo software, migliori saranno i risultati. Per me, mentre per i primi giorni sembrava che qualcun altro mi fornisse costantemente un codice strano e scritto in modo strano, ora sento che il sistema sa cosa sto cercando di fare e mi mostra i risultati, cosa che avrei scritto a mano proprio così.

Questo non è davvero sorprendente: il telefono cellulare si abitua al modo in cui i suoi utenti digitano i messaggi e ad un certo punto fornisce suggerimenti appropriati, piuttosto che quelli che potrebbero provenire da un rapporto di stampa, ad esempio.

Diventa davvero interessante quando il sistema intelligente riconosce il contesto.