
Ett forskarteam har just publicerat en omfattande karta över de utmaningar som artificiell intelligens (AI) står inför inom mjukvaruutveckling, och föreslagit en forskningsplan för att driva området vidare.
Föreställ dig en framtid där AI i tysthet tar över de vardagliga uppgifterna inom mjukvaruutveckling: att refaktorera trasslig kod, migrera äldre system och jaga kapplöpningsförhållanden, så att mänskliga mjukvaruingenjörer kan fokusera på systemarkitektur, design och kreativa problem som maskiner ännu inte kan lösa. De senaste framstegen inom AI verkar föra den visionen närmare.
En ny studie av forskare vid Computer Science and Artificial Intelligence Laboratory (CSAIL) - MIT och partnerforskningsinstitut har dock visat att: för att förverkliga den framtiden måste vi först titta direkt på de mycket verkliga utmaningarna i nutiden.
”Många säger att programmerare inte längre behövs eftersom AI automatiserar allt”, säger Armando Solar-Lezama, professor i elektroteknik och datavetenskap vid MIT, seniorforskare vid CSAIL och studiens huvudförfattare. ”Vi har faktiskt gjort betydande framsteg. Verktygen är mycket kraftfullare än de var tidigare. Men det är fortfarande en lång väg att gå för att förverkliga automatiseringens fulla potential.”
Professor Armando Solar-Lezama menar att den rådande uppfattningen reducerar programvaruutveckling till något i stil med en studentprogrammeringsuppgift: att ta en liten funktion och skriva kod för att hantera den, eller att göra en LeetCode-liknande övning. Verkligheten är dock mycket mer komplex: från kodomstruktureringar för att optimera design, till storskaliga migreringar med miljontals kodrader som flyttar från COBOL till Java, vilket förändrar hela ett företags teknologiska bas.
Mätning och kommunikation är fortfarande svåra problem
Kodoptimeringar i industriell skala – som justeringar av GPU-kärnor eller flerskiktsförbättringar i Chrome V8:s motor – är fortfarande svåra att utvärdera. Nuvarande riktmärken är mestadels avsedda för små, paketerade problem. Det mest praktiska måttet, SWE-Bench, ber helt enkelt en AI-modell att fixa en bugg på GitHub – en programmeringsövning på låg nivå som involverar några hundra rader kod, vilket potentiellt exponerar data, och ignorerar ett brett spektrum av verkliga scenarier, som AI-assisterad refactoring, programmering mellan människa och maskin eller omskrivningar av högpresterande system med miljontals rader kod. Tills riktmärkena utökas till att omfatta scenarier med högre risk kommer det att förbli en öppen utmaning att mäta framsteg – och därmed accelerera dem.
Dessutom är människa-maskin-kommunikation också ett stort hinder. Doktoranden Alex Gu – huvudförfattaren – sa att interaktion med AI för närvarande fortfarande är som "en ömtålig kommunikationslinje". När han ber AI att generera kod får han ofta stora, ostrukturerade filer, tillsammans med några enkla och skissartade testuppsättningar. Denna lucka återspeglas också i det faktum att AI inte effektivt kan dra nytta av programvaruverktyg som är bekanta för människor, såsom felsökare, statiska analysatorer etc.
Uppmaning till handling från samhället
Författarna menar att det inte finns någon magisk lösning på dessa problem och efterlyser insatser på samhällsnivå: att bygga data som återspeglar programmerarnas faktiska utvecklingsprocess (vilken kod som ska behållas, vilken kod som ska tas bort, hur kod omstruktureras över tid, etc.); gemensamma bedömningsverktyg för omstruktureringskvalitet, patchars hållbarhet och noggrannhet i systemmigrering; och att bygga transparenta verktyg som gör det möjligt för AI att uttrycka osäkerhet och bjuda in mänsklig intervention.
Doktoranden Alex Gu ser detta som en ”uppmaning till handling” för storskaliga öppen källkodsgemenskaper som inget enskilt labb kan leverera. Solar-Lezama föreställer sig att framsteg sker i små, stegvisa steg – ”forskningsresultat som löser delar av problemet en i taget” – och omvandlar AI från ett ”kodförslagsverktyg” till en sann teknisk partner.
”Varför spelar detta roll? Programvara är redan grunden för finans, transport, sjukvård och nästan vardagsaktiviteter. Men den mänskliga ansträngningen att bygga och underhålla den på ett säkert sätt håller på att bli en flaskhals”, sa Gu. ”En AI som kan göra det tunga arbetet utan att göra dolda fel skulle frigöra programmerare så att de kan fokusera på kreativitet, strategi och etik. Men för att komma dit måste vi förstå: att färdigställa en kod är den enkla delen – den svåra delen är allt annat.”
(Kort översatt från MIT News)
Källa: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html






Kommentar (0)