Svijet u kojem sve više napredni AI alati za kodiranje dominiraju softverskom kreacijom postaje sve jeftiniji, što ostavlja malo prostora za tradicionalne tvrtke. Kako je jedan analitičar rekao, “vibe kodiranje omogućit će startupovima da repliciraju značajke složenih SaaS platformi.”
Ubrzo su uslijedile zabrinutosti i izjave da su softverske tvrtke osuđene na propast.
Otvoreni projekti koji koriste AI alate trebali bi logično biti među prvima koji će imati koristi od ere jeftinog koda. Međutim, situacija nije tako jednostavna. Stručnjaci iz industrije ističu da su AI alati uzrokovali jednako toliko problema koliko su ih i riješili. Lakoća korištenja AI alata dovela je do poplave lošeg koda koji prijeti preopterećenju projekata. Izrada novih značajki nikada nije bila lakša, ali njihovo održavanje ostaje zahtjevno i prijeti daljnjoj fragmentaciji softverskih ekosustava.
Rezultat je kompliciranija priča od jednostavne obilnosti softvera. Možda je predviđana smrt softverskog inženjera u novoj AI eri prerana.
Kvaliteta nasuprot kvantiteti
Projekti s otvorenim kodovima primjećuju opadanje prosječne kvalitete prijedloga, vjerojatno zbog smanjenja barijera za ulazak zahvaljujući AI alatima. “Za ljude koji su početnici u VLC kodnoj bazi, kvaliteta prijedloga za spajanje koju vidimo je katastrofalna,” rekao je Jean-Baptiste Kempf, izvršni direktor VideoLAN organizacije koja upravlja VLC-om, u nedavnom intervjuu.
Kempf je i dalje optimističan u vezi s AI alatima, ali ističe da su oni najbolji “za iskusne programere.”
Slični problemi javljaju se i kod Blendera, 3D alata koji se održava kao otvoreni softver od 2002. godine. Izvršni direktor Blender zaklade, Francesco Siddi, izjavio je da LLM podržane doprinose obično “gube vrijeme recenzenata i utječu na njihovu motivaciju.” Blender još uvijek razvija službenu politiku za AI alate, ali Siddi je rekao da nisu “ni obavezni ni preporučeni za suradnike ili glavne programere.”
Poplava zahtjeva za spajanje postala je toliko loša da programeri otvorenog koda razvijaju nove alate za upravljanje njome.
Ranije ovog mjeseca, programer Mitchell Hashimoto pokrenuo je sustav koji bi ograničio doprinos GitHubu na “potvrđene” korisnike, što zapravo zatvara politiku otvorenih vrata za otvoreni softver. Kako je Hashimoto izjavio u najavi, “AI je eliminirao prirodnu barijeru za ulazak koja je omogućila OSS projektima da vjeruju po defaultu.”
Ovaj se učinak također javlja u programima nagrađivanja za pronalaženje grešaka, koji omogućuju vanjskim istraživačima da prijave sigurnosne ranjivosti. Otvoreni program za prijenos podataka cURL nedavno je obustavio svoj program nagrađivanja za pronalaženje grešaka nakon što su bili preplavljeni onim što je stvoritelj Daniel Stenberg opisao kao “AI smeće.”
“U stara dobra vremena, netko je zapravo uložio puno vremena [u] sigurnosno izvješće,” rekao je Stenberg na nedavnom konferenciji. “Postojala je prirodna trenja, ali sada nema nikakvog truda. Vrata su širom otvorena.”
Osobito je frustrirajuće jer mnogi otvoreni projekti također vide koristi od AI alata. Kempf kaže da je izrada novih modula za VLC postala daleko lakša, uz uvjet da iskusni programer vodi projekt.
Konkurentski prioriteti
Veći problem za projekte otvorenog koda je razlika u prioritetima. Tvrtke poput Mete cijene novi kod i proizvode, dok rad na otvorenom softveru više naglašava stabilnost.
“Problem je različit od velikih tvrtki do projekata otvorenog koda,” komentirao je Kempf. “Oni se promoviraju za pisanje koda, a ne za njegovo održavanje.”
AI alati također dolaze u trenutku kada je softver, općenito, posebno fragmentiran.
Investitor u otvoreni kod, Konstantin Vinogradov, kaže da AI alati nailaze na dugotrajni trend u inženjeringu otvorenog koda.
“S jedne strane, imamo eksponencijalno rastuću kodnu bazu s eksponencijalno rastućim brojem međuzavisnosti, a s druge strane, imamo broj aktivnih održavatelja koji se možda polako povećava, ali definitivno ne prati,” rekao je Vinogradov. “S AI-jem su obje strane ove jednadžbe ubrzane.”
To je novi način razmišljanja o utjecaju AI-a na inženjering softvera – jedan s alarmantnim implikacijama za cijelu industriju.
Ako inženjering vidite kao proces proizvodnje funkcionalnog softvera, AI kodiranje olakšava ga više nego ikad. No, ako je inženjering doista proces upravljanja složenošću softvera, AI alati za kodiranje mogli bi ga otežati. U najmanju ruku, bit će potrebno mnogo aktivnog planiranja i rada kako bi se održala složena struktura pod kontrolom.
Za Vinogradova, rezultat je poznata situacija za projekte otvorenog koda: mnogo posla, a nedovoljno dobrih inženjera da ga obave.
“AI ne povećava broj aktivnih, vještih održavatelja,” primijetio je. “Osnažuje dobre, ali svi temeljni problemi ostaju.”



