Nalazite se
Članak
Objavljeno: 21.07.2025. 12:41

MIT 

Može li umjetna inteligencija doista programirati

Tim istraživača mapirao je izazove umjetne inteligencije u razvoju softvera i zacrtao istraživački program za napredak područja.

Može li umjetna inteligencija doista programirati

Novi rad istraživača MIT CSAIL-a mapira mnoge zadatke softverskog inženjerstva izvan generiranja koda, identificira uska grla i ističe smjerove istraživanja za njihovo prevladavanje s ciljem da se omogući ljudima da se usredotoče na dizajn visoke razine, dok je rutinski posao automatiziran.

Zamislite budućnost u kojoj umjetna inteligencija tiho obavlja naporan posao razvoja softvera zamršenog koda, kako bi se ljudski inženjeri mogli posvetiti arhitekturi, dizajnu i istinski novim problemima koji su još uvijek izvan dosega stroja.

Čini se da je nedavni napredak tu budućnost približio, ali novi rad istraživača iz MIT-ovog Laboratorija za računalne znanosti i umjetnu inteligenciju (CSAIL) i nekoliko suradničkih institucija tvrdi da ova potencijalna buduća stvarnost zahtijeva strogi pogled na današnje izazove.

Rad pod nazivom „Izazovi i putevi prema umjetnoj inteligenciji za softversko inženjerstvo“ mapira mnoge zadatke softverskog inženjerstva izvan generiranja koda, identificira trenutna uska grla i ističe smjerove istraživanja za njihovo prevladavanje, s ciljem da se ljudi usredotoče na dizajn visoke razine dok je rutinski posao automatiziran.

„Svi pričaju o tome kako nam više ne trebaju programeri i kako je sada sva ta automatizacija dostupna“, kaže Armando Solar-Lezama, profesor elektrotehnike i računarstva na MIT-u, glavni istraživač CSAIL-a i viši autor studije. „S jedne strane, područje je postiglo ogroman napredak. Imamo alate koji su puno moćniji od bilo kojih koje smo prije vidjeli. Ali pred nama je i dug put do stvarnog postizanja punog obećanja automatizacije koju bismo očekivali.“

Solar-Lezama tvrdi da popularni narativi često svode softversko inženjerstvo na „dio programiranja za studente preddiplomskog studija. „Netko vam da specifikaciju za malu funkciju i vi je implementirate. Prava praksa je daleko šira. Uključuje svakodnevne refaktore koji poliraju dizajn, plus sveobuhvatne migracije koje premještaju milijune redaka iz COBOL-a u Javu i preoblikuju čitava poduzeća. Zahtijeva neprekidno testiranje i analizu - fuzzing, testiranje temeljeno na svojstvima i druge metode, kako bi se otkrile greške u konkurentnosti ili popravili nedostaci nultog dana. I uključuje mukotrpno održavanje: dokumentiranje desetljeća starog koda, sažimanje povijesti promjena za nove članove tima i pregled zahtjeva za povlačenjem za stil, performanse i sigurnost“.

Trenutni AI modeli teško se nose s velikim kodnim bazama, koje često obuhvaćaju milijune redaka. Temeljni modeli uče s javnog GitHuba, ali kodna baza svake tvrtke je malo drugačija i jedinstvena. Rezultat je kod koji izgleda uvjerljivo, ali poziva nepostojeće funkcije, krši interna pravila stila ili ne uspijeva u cjevovodima kontinuirane integracije. To često dovodi do koda generiranog umjetnom inteligencijom koji „halucinira“, što znači da stvara sadržaj koji izgleda uvjerljivo, ali nije usklađen sa specifičnim internim konvencijama, pomoćnim funkcijama ili arhitektonskim obrascima određene tvrtke.

Modeli će također često netočno dohvaćati podatke jer dohvaćaju kod sa sličnim nazivom (sintaksom), a ne funkcionalnošću i logikom, što je ono što model možda treba znati kako napisati funkciju. „Standardne tehnike dohvaćanja podataka vrlo se lako zavaravaju dijelovima koda koji rade istu stvar, ali izgledaju drugačije“, kaže Solar-Lezama.

Autori pozivaju na napore na razini zajednice, s podacima koji bilježe proces pisanja koda od strane programera (na primjer, koji kod programeri zadržavaju, a koji bacaju, kako se kod s vremenom refaktorira itd.), zajedničke pakete za evaluaciju koji mjere napredak u kvaliteti refaktoriranja (disciplinirana tehnika restrukturiranja postojećeg tijela kôda kojom se mijenja njegova unutarnja struktura, a da se pritom ne mijenja njegovo vanjsko ponašanje), dugovječnosti ispravaka grešaka i ispravnosti migracije te transparentne alate koji omogućuju modelima da otkriju neizvjesnost i pozovu ljudsko upravljanje, a ne pasivno prihvaćanje.

Solar-Lezama zamišlja postupne napretke, koji se vraćaju komercijalnim alatima i postupno prebacuju umjetnu inteligenciju od pomoćnika za automatsko dovršavanje do pravog inženjerskog partnera.

"Naš cilj nije zamijeniti programere. Naš je cilj pojačati ih. Kada se umjetna inteligencija može uhvatiti u koštac s dosadnim, ljudski inženjeri konačno mogu provoditi svoje vrijeme na onome što samo ljudi mogu učiniti", navode istraživači.

"S toliko novih radova koji se pojavljuju u području umjetne inteligencije za kodiranje, a zajednica često prati najnovije trendove, može biti teško stati i razmisliti o tome koji su problemi najvažniji za rješavanje“, kaže Baptiste Rozière, znanstvenik umjetne inteligencije u tvrtki Mistral AI, koji nije bio uključen u rad. „Uživao sam čitajući ovaj rad jer nudi jasan pregled ključnih zadataka i izazova u umjetnoj inteligenciji za softversko inženjerstvo. Također ocrtava obećavajuće smjerove za buduća istraživanja u tom području."

Vezani sadržaji
Ključne riječi MIT
Komentari

Učitavam komentare ...

Učitavam