AI je ubrzao pisanje koda. Zašto razvoj softvera nije brži?
Marin Pavelić

AI je ubrzao pisanje koda. Zašto razvoj softvera nije brži?

Veliki jezični modeli danas mogu generirati tisuće linija koda u nekoliko minuta. No proces pregledavanja tog koda gotovo je jednako spor kao i prije. Upravo tu, upozorava Olena Babenko, Staff Software Engineer u Aivenu, nastaje novi problem koji AI neće riješiti sam od sebe.

Ubrzanje pisanja koda uz pomoć AI alata slavimo kao povećanje produktivnosti, no Olena Babenko, Staff softverska inženjerka u Aivenu, tvrdi da mjerimo krivu stvar. Pisanje koda nikad nije bio problem u razvoju softvera, no pregledavanje istog tog koda je, a upravo taj dio AI nije ubrzao.

Paradoks

U zadnje vrijeme sve češće viđamo isti obrazac, tvrdi Olena s kojom smo razgovarali na marginama konferencije Devoxx. Spominje američke i kineske AI gigante koji svako malo najavljuju “najmoćnije” nove AI modele te obećavaju brda i doline. I onda kad napokon otvorimo taj famozni novi model i damo mu jednostavan, ali domenski specifičan zadatak, rezultat često budu halucinacije i netočna rješenja.

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

No najveći problem koji Olena vidi je to da danas developeri uz pomoć AI-ja mogu proizvesti ogromne količine koda u vrlo kratkom vremenu, ali pregled tog koda ne prati taj tempo te je ostao na razini prije “AI revolucije”.

Danas možemo generirati tisuće linija koda nevjerojatno brzo, ali pritom često ne razmišljamo kako će drugi ljudi taj kod doživjeti koliko je čitljiv, kvalitetan i jednostavan za razumjeti. S druge strane, alati i procesi za pregledavanje koda, njegovo skaliranje i automatizaciju još uvijek nisu pratili taj tempo

Zbog toga se sve češće događa paradoks, tvrdi naša sugovornica:

Može se dogoditi da pull request napišete za vrlo kratko vrijeme, a osoba koja ga pregledava potroši znatno više vremena na njegovu provjeru nego što je vama trebalo da ga napravite.

Marin Pavelić

Nevidljiv posao

Prema Oleni, razlog toga nije samo tehnologija nego način na koji su organizirani razvojni timovi. Većina tvrtki i dalje nagrađuje količinu isporučenog koda, broj zatvorenih Jira zadataka ili broj otvorenih pull requestova. Pregledavanje tuđeg koda, iako jednako važno za kvalitetu proizvoda, često ostaje gotovo nevidljiv posao.

Današnji sustavi i mnogi menadžerski alati temelje se na KPI-jevima koji nagrađuju individualni doprinos kroz pisanje koda. Ako pogledate GitHub doprinose ili Jira tickete, vrednuje se pisanje koda, zatvaranje zadataka i otvaranje pull requestova, dok se posao ljudi koji pregledavaju taj kod puno manje cijeni.

Kad se tome pridoda činjenica da AI često generira opširniji kod nego što je potrebno, posao osobe koja pregledava taj kod postaje još zahtjevniji.

Osnivač Instagrama pojasnio nam na AI Engineer konfi što je sad posao developera

AI povećava problem

Olena naglašava da preopterećenost ljudi koji pregledavaju kod, odnosno reviewera nije nova pojava. Prisjeća se primjera iz prethodne tvrtke gdje bi developeri dva tjedna radili na jednom zadatku, a zatim kolegi poslali pull request od tisuću linija koda koji bi ovaj trebao pregledati i odobriti. AI, kaže, samo dodatno povećava taj jaz.

Rješenje vidi u manjim pull requestovima, ranijoj komunikaciji unutar tima i odvajanju refaktoriranja od stvarnih funkcionalnih promjena:

To je prije svega problem načina na koji se upravlja timovima. Odgovornost je na menadžerima.

Još jedan problem koji Olena vidi je pisanje unit testova. Kako su testovi mnogima dosadan dio posla, sve ih češće prepuštaju AI-ju.

No modeli, upozorava, mogu proizvesti testove koji izgledaju uvjerljivo, a zapravo ne provjeravaju ispravnost sustava. Umjesto stvarnog testiranja ponašanja aplikacije, modeli ponekad prilagode implementaciju ili unaprijed definiraju očekivane rezultate samo kako bi testovi prošli, a posljedice tog pristupa se ne vide odmah:

Sustav se neće raspasti preko noći. To je postupan proces koji ga malo po malo nagriza, sve dok jednog dana ne shvatite da je postao nepouzdan i da ga zapravo ne biste trebali koristiti u produkciji.

Takav kod može imati visoku pokrivenost testovima, ali istovremeno biti sve manje pouzdan za produkcijsko okruženje.

Marin Pavelić

Preduvjet da čovjek ostane u petlji

Najveći dugoročni rizik Olena ipak vidi u ljudima. Kako svi mi, uključujući developere, sve više delegiramo razmišljanje AI-ju, postoji opasnost da s vremenom izgube upravo one vještine koje bi trebale biti posljednja linija obrane kada model pogriješi.

Olena podsjeća kako modeli ne stječu iskustvo, ne uče iz projekata i nemaju dugoročno pamćenje kao ljudi.

Ako developeri postupno prestanu razvijati vlastito kritičko razmišljanje, ideja da će “čovjek uvijek biti u petlji” gubi smisao. Sigurnosna mreža vrijedi samo ako osoba koja je drži još uvijek zna prepoznati kada nešto nije u redu, zaključuje.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Veliki intervjui

AI piše više koda nego ikad, a software ne razvijamo brže

AI danas može proizvesti više koda nego što ga razvojni timovi mogu pregledati, testirati i održavati. No ako brže "pišemo" kod, a sporije provjeravamo što smo zapravo izgradili, jesmo li doista postali produktivniji?

Što ste propustili

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.

Tehnologija

Europski digitalni zakoni pisani su bez Hrvata za stolom

Europska digitalna pravila nastaju u procesu koji traje godinama, a hrvatska tech industrija u njemu gotovo i nema glasa. Zašto je tome tako i što bi se trebalo promijeniti?

Veliki intervjui

Vodio je 15.000 inženjera. Evo gdje bi AI-ju prepustio donošenje odluka

Umjetna inteligencija sve više ulazi u poslovno odlučivanje, no njezine mogućnosti otvaraju pitanja o odgovornosti, ulozi lidera i granicama automatizacije. S dr. sc. Sinišom Krajnovićem, predsjednikom Uprave Ericssona Nikole Tesle, razgovarali smo o tome kako AI mijenja način na koji kompanije posluju i donose odluke.

Umjetna inteligencija

Da AI sutra nestane, biste li još uvijek znali raditi svoj posao?

AI alate danas koristi oko 85 posto developera, a AI agenti na GitHubu već stvaraju desetke milijuna pull requestova mjesečno. No što više posla prepuštamo umjetnoj inteligenciji, to je važnije pitanje što se događa s našim vlastitim razumijevanjem koda i odluka koje donosimo.

Veliki intervjui

AI može prepisati 27.000 linija COBOL-a u četiri dana, ali ne i olakšati produkciju

Sada kada brzina pisanja koda više nije problem, pitanje je kako ga pregledati dovoljno brzo i utvrditi da je kvalitetan, siguran i pouzdan za produkciju.

Vodič

Nikola Žinić za Netokraciju otkriva kako optimizirati brend za AI preporuke

Upit danas nije samo jedno pitanje, upit je razgovor. A u tom razgovoru AI je taj koji bira hoće li te preporučiti.