
Een team van onderzoekers heeft zojuist een uitgebreid overzicht gepubliceerd van de uitdagingen waarmee kunstmatige intelligentie (AI) in softwareontwikkeling te maken krijgt. Ook heeft het team een onderzoeksroutekaart voorgesteld om het vakgebied verder te ontwikkelen.
Stel je een toekomst voor waarin AI de alledaagse taken van softwareontwikkeling geruisloos overneemt: het refactoren van complexe code, het migreren van legacysystemen en het opsporen van race conditions. Zo kunnen menselijke software engineers zich concentreren op systeemarchitectuur, ontwerp en creatieve problemen die machines nog niet kunnen oplossen. Recente ontwikkelingen in AI lijken die visie dichterbij te brengen.
Uit een nieuw onderzoek van wetenschappers van het Computer Science and Artificial Intelligence Laboratory (CSAIL) van MIT en partneronderzoeksinstituten blijkt echter het volgende: om die toekomst te kunnen verwezenlijken, moeten we eerst rechtstreeks naar de zeer reële uitdagingen van het heden kijken.
"Veel mensen zeggen dat programmeurs niet langer nodig zijn, omdat AI alles kan automatiseren", aldus Armando Solar-Lezama, hoogleraar elektrotechniek en computerwetenschappen aan het MIT, senior onderzoeker bij CSAIL en hoofdauteur van de studie. "In feite hebben we aanzienlijke vooruitgang geboekt. De tools die we vandaag de dag hebben, zijn veel krachtiger dan voorheen. Maar we hebben nog een lange weg te gaan om het volledige potentieel van automatisering te benutten."
Professor Armando Solar-Lezama stelt dat de algemene perceptie van software engineering is dat het een taak is die vergelijkbaar is met een programmeeropdracht voor studenten: neem een kleine functie en schrijf code om deze te verwerken, of voer een LeetCode-achtige oefening uit. De realiteit is veel complexer: van code refactorings om ontwerpen te optimaliseren tot grootschalige migraties met miljoenen regels code van COBOL naar Java die de complete technologiestack van een bedrijf veranderen.
Meten en communiceren blijven lastige problemen
Code-optimalisaties op industriële schaal – zoals aanpassingen aan de GPU-kern of meerlaagse verbeteringen in de Chrome V8-engine – zijn nog steeds moeilijk te evalueren. Huidige benchmarks zijn meestal gericht op kleine, standaardproblemen. De meest praktische metriek, SWE-Bench, vraagt een AI-model simpelweg om een bug op GitHub te repareren – een low-level programmeeroefening die slechts een paar honderd regels code vereist en mogelijk data blootlegt, en een breed scala aan praktijkscenario's negeert, zoals AI-ondersteunde refactoring, mens-machine pair programming of high-performance systeemherschrijvingen met miljoenen regels code. Totdat benchmarks deze risicovollere scenario's omvatten, zal het meten van de voortgang – en dus het versnellen ervan – een open uitdaging blijven.
Bovendien vormt de communicatie tussen mens en machine een grote barrière. Promovendus Alex Gu, de hoofdauteur, stelde dat de interactie met AI momenteel nog steeds "een kwetsbare communicatielijn" is. Wanneer AI gevraagd wordt code te genereren, krijgt hij vaak grote, ongestructureerde bestanden terug, samen met een paar simpele en schetsmatige testsets. Deze kloof wordt ook weerspiegeld in het feit dat AI niet effectief gebruik kan maken van softwaretools die mensen kennen, zoals debuggers, statische analysers, enzovoort.
Oproep tot actie vanuit de community
De auteurs stellen dat er geen wondermiddel bestaat voor deze problemen en pleiten voor inspanningen op communityniveau. Denk hierbij aan het verzamelen van gegevens die het daadwerkelijke ontwikkelingsproces van programmeurs weerspiegelen (welke code moet behouden blijven, welke code moet worden verwijderd, hoe code in de loop van de tijd wordt gerefactoriseerd, etc.). Maak gebruik van gemeenschappelijke beoordelingsinstrumenten voor de kwaliteit van refactoren, de duurzaamheid van patches en de nauwkeurigheid van systeemtransities. Daarnaast moeten er transparante instrumenten worden ontwikkeld waarmee AI onzekerheid kan uitdrukken en menselijke tussenkomst kan inschakelen.
Promovendus Alex Gu ziet dit als een "oproep tot actie" voor grootschalige open source-community's die geen enkel lab kan waarmaken. Solar-Lezama voorziet vooruitgang in kleine, stapsgewijze stappen – "onderzoeksresultaten die één stukje van het probleem tegelijk oplossen" – waardoor AI transformeert van een "tool voor code-suggesties" tot een echte engineeringpartner.
"Waarom is dit belangrijk? Software vormt al de basis van financiën, transport, gezondheidszorg en vrijwel alledaagse activiteiten. Maar de menselijke inspanning om het veilig te bouwen en te onderhouden, wordt een knelpunt", aldus Gu. "Een AI die het zware werk kan doen zonder verborgen fouten te maken, zou programmeurs de ruimte geven om zich te concentreren op creativiteit, strategie en ethiek. Maar om daar te komen, moeten we begrijpen dat het afmaken van een stukje code het makkelijke deel is – het moeilijke deel is al het andere."
(Kort vertaald van MIT News)
Bron: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
Reactie (0)