Tehno

Upute za vibe coding – programiranje za neznalice i sveznalice

Vibe coding, tj. pretvaranje teksta u kôd koji su prigrlili programeri, a i obični entuzijasti željni programiranja, postaje sve popularniji

Dok se domaće, a u dobroj mjeri i europsko gospodarstvo nisu još do kraja digitalno transformirali, umjetna inteligencija (AI – artificial inteligence) donijela je novi moment. Pojam umjetne inteligencije doslovno je preko noći postao sveprisutan. Nema medija koji je ne pokušava objasniti ili upozoriti na nju, a biznisi i pojedinci počinju s njom eksperimentirati. AI očigledno ima potencijala dodatno i snažno ubrzati digitalnu transformaciju gospodarstava. No, taj val još nije ni prošao, a na elektroničkom nebu pojavila se nova zvijezda – vibe coding.

Prolazna površnost

Ovaj pojam skovan je tek u veljači ove godine i može se prevesti kao intuitivno kodiranje, recimo 'kodiranje s vibrom'. Ukratko, označava produkciju aplikacija uz pomoć AI asistenata i agenata utemeljenih na LLM modelima umjetne inteligencije, a koji prateći jezične upute kreatora izrađuju konačni proizvod. Vibe coding kao pojam smislio je u veljači ove godine suosnivač OpenAI-a i bivši voditelj umjetne inteligencije u Tesli Andrej Karpathy. Govoreći o svom iskustvu s ovim servisima, pomalo ga je i umanjio.

- To zapravo nije programiranje - ja samo vidim stvari, kažem stvari, pokrećem stvari i kopiram-lijepim stvari, i uglavnom funkcionira – konstatirao je Karpathy opisujući kako na ovaj način u svoje slobodno vrijeme programira neke privatne zabavne ili površne stvari.

Simon Willison, drugi AI stručnjak, dodatno je pojasnio da nije svako kodiranje potpomognuto AI-ijem ujedno i vibe coding, već ono kad onaj tko programira zaboravi da iza svega stoje linije koda, jer se zabavlja na projektima koje će također ubrzo zaboraviti.

Kako sam uspio

Da istražim smisao iza pojma vibe coding i približim ga vama, našim čitateljima, što se od mene uostalom i očekuje, odlučio sam isprobati kako je to kodirati uz pomoć umjetne inteligencije. Odmah da kažem, nisam napisao ni jednu liniju koda od svoje osamnaeste godine, kad sam to posljednji put napravio u svrhu maturalnog rada. Danas, tridesetak godina kasnije, siguran sam da ne bih ništa znao programirati, eventualno bih bio u stanju napraviti neki lakši dijagram toka i to uz prethodno podsjećanje uz pomoć Googlea. Koristim LLM modele inače, ali sam definitivno praktična neznalica u kodiranju. Uz pomoć uputa s interneta, pronađenih opet uz pomoć AI-ja, pristupio sam sistematično ovom zadatku.

Najprije sam odabrao prikladne AI asistente, odgovarajuće početnicima: Replit i Loveable. Potom sam definirao zadatak ii tehnološki okvir i uputio ih da mi, koristeći HTML, CSS i JavaScript, izrade aplikacijicu za praćenje troškova kroz tjedne, mjesece i godine, po uobičajenim kategorijama. Pritom je potrebno biti što specifičniji i detaljniji, ali opet uz pažnju da se asistent ne optereti i zbuni previše složenim zadatkom.

U slučaju ove moje web aplikacije prompt je bio dovoljno jednostavan, no tko želi raditi složenije aplikacije, trebao bi raščlaniti upute u više koraka i instruirati agenta postupno. Nakon definicije zadatka, testirali smo stvoreni kod, odnosno pregledao sam napravljeno, pa ga je alat po mojim daljnjim uputama dorađivao. Uglavnom sam tražio doradu nezgrapnih dizajnerskih situacija na stranici.

Isplati se dorađivati

Primjerice, za pojedine kartice prikaza Replit se odlučio za font slabog kontrasta, a zatražio sam i da dodatno naprave analize potrošnje s odgovarajućim savjetima za ovladavanje njom. Tu su, interesantno, bili posve solidni, vjerojatno jer imaju dovoljan zahvat u financijska znanja budući da su bazirani na LLM modelima. Jako su dobro i brzo, moguće i istog razloga, dodatno raščlanili kategorije potrošnje i hijerarhijski je strukturirali. Malo sam više vremena potrošio da ih uputim kakve sve značajke treba imati mogućnost izvoza podataka, kako arhivirati izvještaje. U izradi konačnog proizvoda pojavljivale su se i neke pogreške zbog kojih web aplikacija nije mogla raditi, pa su je servisi uspješno popravili.

Sve u svemu, rezultati su bili iznenađujuće dobri, sam proces je bio izuzetno zabavan i nije dugo trajao, a na produkt ću brzo zaboraviti. To bi, dakle, doista bilo ono što tvorci pojma smatraju da vibe coding jest. Doduše, iako je pojam friško stvoren, već se objavljuju knjige o vibe codingu i opseg značenja ovog pojma se širi. Umjesto zabavljanja uz specijalizirani servis umjetne inteligencije, postao je već i biznis koncept, servisi se specijaliziraju za određene namjene, a sve je praćeno hrpom savjeta, tutoriala, pa čak i knjiga, iako je vibe coding kao pojam star jedva tri mjeseca. Krenimo redom.

Pokušaji i procjene

Procjene su, objavio je TechCrunch, da je u ovogodišnjoj generaciji startupa Y Combinatora čak četvrtina njih generiralo gotovo cijelu svoju kodnu bazu pomoću AI-ja. Ali kad se pogledaju rezultati studije koja je pokušala izmjeriti vrijednost GitHub Copilota, jednog od ovih servisa namijenjenih developerima, jasno je zašto. Naime, procjenjuje se da ovi servisi štede između 20 i 50 posto vremena potrebnog za kodiranje, što na developerske timove srednjih veličina vjerojatno znači uštede u tisućama sati. Samo tržište generativnih AI asistenata za kodiranje još je mlado. U 2023. godini bilo je teško oko 19 milijuna dolara, no procjene govore da bi moglo značajno narasti do 2030. godine, uz CAGR veći od 25 posto. Tim procjenama ne smetaju ni nalazi da je čak 40 posto koda generiranog na GitHub Copilotu ranjivo, odnosno opterećeno sigurnosnim problemima. Ne smetaju ni pitanja intelektualnog vlasništva i usklađenja sa svim sigurnosnim propisima, jer nije neočekivano da će ovi modeli generirati kod sličan već postojećem ili da dijele osjetljivi kod prema inozemnim serverskim lokacijama. Jasno je da se ove smetnje mogu prevladati, kad se očekuje da će se ovi digitalni agenti razvijati i napredovati samostalno, a također i zahvaljujući razvoju AI modela na kojima su zasnovani.

Prikladni pomagači

Stoga bi korisno bilo već danas razmišljati o tome kako primijeniti digitalne AI asistente za kodiranje u svom poslu i životu. Izbora već ima dovoljno. Već spomenuti Loveable i Replit pogodni su za početnike. Lovable omogućuje izradu mobilnih i web aplikacija uz pomoć vrlo jednostavnih opisa, zbog čega je prikladan neznalici poput mene, a Replitova jednostavnost i integracija daje početnicima moćan alat za vibe coding uz čiju pomoć se, primjerice, putem online tečaja pristupačno može izraditi aplikacija koja analizira SEO neke web stranice. Figma make je agent koji će izraditi web stranicu ili aplikaciju po postojećem dizajnu korisnika, dok je Cursor, primjerice, ozbiljniji alat koji duboko iskorištava mogućnosti ChatGPT-a 4. Copilot Workspace Microsoftov je adut, a nerijetko se i sam ChatGPT koristi za kreiranje koda.

Više od sadašnjeg pojma

Čini se da je već odgovoreno na pitanje je li vibe coding samo najnoviji tehnološki buzzword koji će nestati jednako brzo kao što se pojavio. Sve i da nestane sam naziv pojma, nije realno da će njegovo značenje nestati, jer je potencijal vibe codinga golem. Naprosto, najveća snaga generativnih AI agenata leži u činjenici da demokratiziraju vještinu programiranja na način da je svode na kreativno postavljanje zadataka i rješavanje problema, dok stroj sam proizvodi linije koda i ostvaruje ideje kreatora. Na taj način omogućuju svima s laptopom i internetskom vezom da naprave aplikacije koje mogu koristiti sami, podijeliti s drugima ili komercijalizirati. Naravno, pod uvjetom da je riječ o inovativnim i naplativim idejama.

Sjetite se kako su jačanje internetske povezivosti, povećanje računalne snage i poboljšanje prenosivosti u obliku laptopa, uz dostupnost i pad cijena, u jednom trenutku omogućile svima s potrebnim znanjem da proizvedu kvalitetne i inovativne aplikacije koje je moguće snažno skalirati. Sad ta mogućnost putem servisa za vibe coding postaje dostupna i onima koji ne vladaju programiranjem. Hoće li ova demokratizacija kodiranja donijeti novu aplikativnu revoluciju? Teško, ali nikad se ne zna. Vjerojatnije je ipak da će ogoliti koliko je ljudska vrsta nemaštovita i u kojoj mjeri može korisne alate primjenjivati za isprazne svrhe. No, zbog činjenice da već sad AI asistenti za kodiranje pokazuju obećavajuće rezultate u uštedi vremena developera i posljedično bržem povratu investicija, potencijal AI agenata za kodiranje ne treba podcjenjivati, već ga treba iskoristiti. Pritom proliferacija znanja i vještine koju pruža vibe coding ukazuje da bi mogao biti next big thing. Naime, dovoljno je jeftin da i srednja i mala i mikro poduzeća mogu sebi priuštiti da oprobaju kako bi ga iskoristila da unaprijede svoje poslovanje, unutarnje procese ili administraciju. Barem će moći, bez pomoći ljudskih developera, testirati svoje ideje prije nego povjere nekom da ih razvije. A budite sigurni, i taj netko će ih razvijati uz pomoć AI agenta za kodiranje.

Lider digital
čitajte lider u digitalnom izdanju