
O echipă de cercetători a publicat recent o hartă cuprinzătoare a provocărilor cu care se confruntă inteligența artificială (IA) în dezvoltarea de software și a propus o foaie de parcurs pentru cercetare, menită să aprofundeze domeniul.
Imaginați-vă un viitor în care inteligența artificială preia în liniște sarcinile banale ale dezvoltării de software: refactorizarea codului încâlcit, migrarea sistemelor vechi și identificarea condițiilor de concurență, lăsând inginerii de software umani liberi să se concentreze pe arhitectura sistemului, design și probleme creative pe care mașinile nu le pot rezolva încă. Progresele recente în domeniul inteligenței artificiale par să aducă această viziune mai aproape.
Totuși, un nou studiu realizat de oamenii de știință de la Laboratorul de Informatică și Inteligență Artificială (CSAIL) - MIT și institutele de cercetare partenere a arătat că: pentru a realiza acel viitor, trebuie mai întâi să privim direct la provocările foarte reale ale timpului prezent.
„Mulți oameni spun că programatorii nu mai sunt necesari, deoarece inteligența artificială poate automatiza totul”, a declarat Armando Solar-Lezama, profesor de inginerie electrică și informatică la MIT, cercetător senior la CSAIL și autorul principal al studiului. „De fapt, am făcut progrese semnificative. Instrumentele pe care le avem astăzi sunt mult mai puternice decât erau înainte. Dar mai avem mult de parcurs pentru a realiza întregul potențial al automatizării.”
Profesorul Armando Solar-Lezama susține că percepția populară asupra ingineriei software este că este o sarcină similară cu o temă de programare pentru studenți: luați o funcție mică și scrieți cod pentru a o gestiona sau faceți un exercițiu în stil LeetCode. Realitatea este mult mai complexă: de la refactorizări de cod pentru optimizarea designului, până la migrări la scară largă cu milioane de linii de cod de la COBOL la Java care schimbă întregul stiva tehnologică a unei companii.
Măsurarea și comunicarea rămân probleme dificile
Optimizările de cod la scară industrială — cum ar fi modificările nucleului GPU sau îmbunătățirile multi-strat ale motorului Chrome V8 — sunt încă dificil de evaluat. Benchmark-urile actuale sunt în mare parte pentru probleme mici, compacte. Cea mai practică metrică, SWE-Bench, solicită pur și simplu unui model de inteligență artificială să remedieze o eroare pe GitHub — un exercițiu de programare la nivel scăzut care implică câteva sute de linii de cod și expune potențial date și ignoră o gamă largă de scenarii din lumea reală, cum ar fi refactorizarea asistată de inteligență artificială, programarea în perechi om-mașină sau rescrierile de sisteme de înaltă performanță cu milioane de linii de cod. Până când benchmark-urile nu se vor extinde pentru a acoperi aceste scenarii cu risc mai mare, măsurarea progresului — și, prin urmare, accelerarea acestuia — va rămâne o provocare deschisă.
În plus, comunicarea om-mașină este, de asemenea, o barieră majoră. Doctorandul Alex Gu - autorul principal - a declarat că, în prezent, interacțiunea cu inteligența artificială este încă ca „o linie de comunicare fragilă”. Atunci când i se cere inteligenței artificiale să genereze cod, aceasta primește adesea fișiere mari, nestructurate, împreună cu câteva seturi de teste simple și incomplete. Această lacună se reflectă și în faptul că inteligența artificială nu poate profita eficient de instrumentele software familiare oamenilor, cum ar fi depanatoarele, analizoarele statice etc.
Apel la acțiune din partea comunității
Autorii susțin că nu există o soluție magică pentru aceste probleme și solicită eforturi la scară comunitară: construirea de date care să reflecte procesul real de dezvoltare al programatorilor (ce cod să păstreze, ce cod să elimine, cum este refactorizat codul în timp etc.); instrumente comune de evaluare pentru calitatea refactorizării, durabilitatea patch-urilor și acuratețea tranziției sistemului; și construirea de instrumente transparente care să permită inteligenței artificiale să exprime incertitudinea și să invite intervenția umană.
Doctorandul Alex Gu vede acest lucru ca pe un „apel la acțiune” pentru comunitățile open source la scară largă, pe care niciun laborator nu îl poate realiza singur. Solar-Lezama își imaginează progresul în pași mici, incrementali – „rezultate ale cercetărilor care rezolvă câte o parte a problemei pe rând” – transformând inteligența artificială dintr-un „instrument de sugestie de cod” într-un adevărat partener de inginerie.
„De ce contează asta? Software-ul este deja fundamentul finanțelor, transporturilor, asistenței medicale și aproape al activității de zi cu zi. Dar efortul uman de a-l construi și întreține în siguranță devine un blocaj”, a spus Gu. „O inteligență artificială care poate face munca grea fără a face erori ascunse i-ar elibera pe programatori pentru a se concentra pe creativitate, strategie și etică. Dar pentru a ajunge acolo, trebuie să înțelegem că finalizarea unei bucăți de cod este partea ușoară - partea dificilă este orice altceva.”
(Tradus pe scurt din MIT News)
Sursă: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
Comentariu (0)