
Egy kutatócsoport nemrégiben közzétett egy átfogó térképet a mesterséges intelligencia (MI) előtt álló kihívásokról a szoftverfejlesztésben, és egy kutatási ütemtervet javasolt a terület további előmozdítására.
Képzeljünk el egy olyan jövőt, ahol a mesterséges intelligencia csendben átveszi a szoftverfejlesztés hétköznapi feladatait: a kusza kód újragondolását, a régi rendszerek migrálását és a versenyfeltételek felderítését, így az emberi szoftvermérnökök szabadon összpontosíthatnak a rendszerarchitektúrára, a tervezésre és a gépek által még nem megoldható kreatív problémákra. A mesterséges intelligencia területén elért legújabb fejlesztések úgy tűnik, közelebb hozzák ezt a víziót.
Az MIT Számítógéptudományi és Mesterséges Intelligencia Laboratóriumának (CSAIL) és partner kutatóintézeteinek tudósai által végzett új tanulmány azonban kimutatta, hogy: e jövő megvalósításához először közvetlenül a jelenkor nagyon is valós kihívásaira kell tekintenünk.
„Sokan azt mondják, hogy a programozókra már nincs szükség, mert a mesterséges intelligencia mindent automatizálni tud” – mondta Armando Solar-Lezama, az MIT villamosmérnöki és számítástechnikai professzora, a CSAIL vezető kutatója és a tanulmány vezető szerzője. „Valójában jelentős előrelépést tettünk. A ma rendelkezésünkre álló eszközök sokkal hatékonyabbak, mint korábban voltak. De még hosszú utat kell megtennünk az automatizálás teljes potenciáljának kiaknázásáig.”
Armando Solar-Lezama professzor szerint a szoftverfejlesztésről alkotott közfelfogás szerint ez egy olyan feladat, mint egy diákprogramozási feladat: fogunk egy kis függvényt, és megírjuk a kezeléséhez szükséges kódot, vagy elvégezünk egy LeetCode-stílusú gyakorlatot. A valóság sokkal összetettebb: a kódrefaktorálástól a tervek optimalizálásáig, a nagyszabású, több millió sornyi COBOL-ról Java-ra történő migrációig, amely megváltoztatja egy vállalat teljes technológiai rendszerét.
A mérés és a kommunikáció továbbra is nehéz problémák
Az ipari méretű kódoptimalizálások – mint például a GPU-mag finomhangolása vagy a Chrome V8 motor többrétegű fejlesztései – továbbra is nehezen értékelhetők. A jelenlegi benchmarkok többnyire kis, csomagolt problémákra vonatkoznak. A legpraktikusabb mérőszám, az SWE-Bench, egyszerűen arra kéri a mesterséges intelligencia modelljét, hogy javítson ki egy hibát a GitHub-on – ez egy alacsony szintű programozási feladat, amely néhány száz sornyi kódot foglal magában, és potenciálisan adatokat tesz elérhetővé, valamint figyelmen kívül hagyja a valós forgatókönyvek széles skáláját, mint például a mesterséges intelligencia által támogatott refaktorálás, az ember-gép páros programozás vagy a nagy teljesítményű rendszerek több millió sornyi kóddal történő átírása. Amíg a benchmarkok nem bővülnek ki, hogy lefedjék ezeket a nagyobb kockázatú forgatókönyveket, az előrehaladás mérése – és így annak felgyorsítása – továbbra is nyitott kihívás marad.
Emellett az ember-gép kommunikáció is jelentős akadály. Alex Gu PhD hallgató, a tanulmány vezető szerzője elmondta, hogy jelenleg a mesterséges intelligenciával való interakció még mindig „egy törékeny kommunikációs vonalhoz” hasonlít. Amikor a mesterséges intelligenciát kód generálására kérik, gyakran nagy, strukturálatlan fájlokat kap vissza, néhány egyszerű és vázlatos tesztkészlettel együtt. Ez a hiányosság abban is tükröződik, hogy a mesterséges intelligencia nem tudja hatékonyan kihasználni az emberek számára ismerős szoftvereszközöket, mint például a hibakeresőket, a statikus analizátorokat stb.
Cselekvésre való felhívás a közösség részéről
A szerzők azzal érvelnek, hogy ezekre a problémákra nincs varázspálca-megoldás, és közösségi szintű erőfeszítéseket sürgetnek: olyan adatok építését, amelyek tükrözik a programozók tényleges fejlesztési folyamatát (melyik kódot tartsák meg, melyik kódot távolítsák el, hogyan refaktorálják a kódot az idők során stb.); közös értékelő eszközöket a refaktorálás minőségének, a javítások tartósságának és a rendszerátmenet pontosságának felmérésére; valamint átlátható eszközöket, amelyek lehetővé teszik a mesterséges intelligencia számára a bizonytalanság kifejezését és emberi beavatkozást ösztönöznek.
Alex Gu PhD hallgató ezt egy olyan „cselekvésre való felhívásnak” tekinti a nagyméretű, nyílt forráskódú közösségek számára, amelyet egyetlen laboratórium sem tud megvalósítani. Solar-Lezama a haladást apró, fokozatos lépésekben képzeli el – „olyan kutatási eredményekkel, amelyek egyszerre csak a probléma egy részét oldják meg” –, amelyek a mesterséges intelligenciát a „kódjavaslattevő eszközből” valódi mérnöki partnerré alakítják.
„Miért fontos ez? A szoftver már most is a pénzügy, a közlekedés, az egészségügy és szinte a mindennapi tevékenységek alapja. De az emberi erőfeszítés a biztonságos felépítésére és karbantartására szűk keresztmetszetet jelent” – mondta Gu. „Egy olyan mesterséges intelligencia, amely képes elvégezni a nehéz munkát rejtett hibák nélkül, felszabadítaná a programozókat, hogy a kreativitásra, a stratégiára és az etikára összpontosíthassanak. De ahhoz, hogy ezt elérjük, meg kell értenünk, hogy egy kódrészlet befejezése a könnyű rész – a nehéz minden más.”
(Röviden fordítva az MIT News-ból)
Forrás: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
Hozzászólás (0)