Vibe

Programiranje obuhvaća cijeli proces razvoja softvera. Uključuje analizu problema, osmišljavanje algoritma, planiranje strukture podataka, optimizaciju i kodiranje. Planiranje i osmišljavanje arhitekture i pisanje koda. Vibe znači da AI generira kod, ali čovjek definira problem, dizajnira rješenje, formulira upute za AI, provjerava i testira, integrira i održava te osigurava domensko znanje, te vođenjem dijaloga osigurava da aplikacija doista i profunkcionira. AI je asistent sposoban generirati programski kod, a čovjek je arhitekt. Danas je važna kombinacija vještine računalnog razmišljanja i razvijenih jezičnih vještina.

vibe coding – fokus na ono što se želi postići, a ne na to kako to tehnički doista i napraviti – programer koristi prirodni jezik za opisivanje funkcionalnosti koje mora imati konačni proizvod, AI model generira odgovarajući kod – kod takvog pristupa razvoju nije više toliko važno poznavanje sintakse programskih jezika, detaljnog razumijevanja algoritma… – dovoljno je jasno artikulirati cilj što preciznijim uputama te zatim AI zadano pretvara u funkcionalnu aplikaciju generirajući sav potreban programski kod. Korisnik testira i provjerava generirani kod (funkcionalno, usklađeno sa zahtjevom), te ponovo koristi AI model za dorađivanje i proširenje aplikacije, popravljanje pogrešaka, ispravljanje koda uz ručne intervencije. Transformira odnos između čovjeka i računala, umjesto ručnog tipkanja koda, fokus se prebacuje na ideju, dizajn i iterativno testiranje i korekcije.

LLM (ChatGPT, Claude) mogu pisati funkcije, stvarati podatkovne strukture, generirati cjelovite aplikacije na temelju skupa promptova. AI generira kod, ljudi pregledavaju, prihvaćaju, odbacuju, korigiraju. Transformacija uloge razvojnih inženjera. Tradicionalni razvoj softvera uključuje planiranje, osmišljavanje arhitekture, pisanje i održavanje koda, testiranje i dokumentiranje. Sada je naglasak na orkestraciju, razvojni inženjeri postaju voditelji projekata (definiraju zahtjeve, odabiru tehnologije, pregledavaju generirani kod, odlučuju što zadržati, što odbaciti, što modificirati. Neispravan ili nefunkcionalan generirani kod ispravlja sama AI, ponavljajući dok se ne postigne željeni rezultat. Set vještina sada uključuje važno: vrlo jasna i precizna komunikacija te sposobnost jasnog artikuliranja zahtjeva i problema, dobro domensko znanje i sposobnost donošenja odluka (pisanje i generiranje koda se u potpunosti prepušta AI). Takav način razvoja izrazito je iterativan proces (vođenje dijaloga s AI, Google FireBase Studio, ključna komponenta vibe kodiranja). 

Prva iteracija generiranog često nije u potpunosti funkcionalna, započinje se proces dorade, obično se kopiraju greške kako bi se modelu dala povratna informacija i kako bi ih mogao ispraviti (uz pojašnjenja). Ako traje predugo, počinje se sa novim projektom/dijalogom. U prednosti su tehnički pismeniji koji mogu pomoći AI (npr. F12 u web tools konzoli), koji razumiju kod, koji dobro znaju tehnologiju, rješenja i resurse (npr. API-je) koji se inače mogu koristiti za razvoj tih određenih aplikacija (ili se pita AI uz pomnije planiranje). Treba izgraditi i toleranciju na greške i nadati se da će kroz iteracije one biti uklonjene. Vibe kodiranje također uključuje usvajanje preporučenih praksi i metodologije.

Savjeti: jednostavniji opis (prompt) za početak. Postupno se gradi i proširuje. Kvaliteta rezultata ovisi o jasno i konkretno postavljenom upitu, pa je u početku uputno navesti osnovni cilj aplikacije ili funkcije, a zatim kroz iteracije dodavati detalje i opcije. Uvijek treba pregledati i detaljno testirati generirani kod, radi ispravnosti i sigurnosti. To se može zatražiti i od AI. Valja pokušati razumjeti što je generirano, dodavati komentari i tražiti objašnjenja dijelova koda koji su nejasni. Treba paziti na sigurnost i privatnost kod podjele informacija (treće strane!). Nikad nije uputno unositi osjetljive podatke ili API ključeve izravno u prompt. Korištenje promptova za daljnje treniranje modela može predstavljati sigurnosni rizik. Alatima treba ovladati uz besplatni pristup.

AI modeli mogu se koristiti kao asistenti za pisanje koda ili za generiranje čitavih aplikacija. Sposobnost opisivanja željenog softvera prirodnim jezikom može ukinuti potrebu za učenjem programskih jezika i sintakse, no izostanak tehničkog znanja donosi i brojne rizike. AI je sklona pogreškama, generirani programski kod može biti slabo optimiziran i nerijetko pun sigurnosnih propusta i pogrešaka koje iskusni developeri ne bi napravili. Alate za generiranje koda preporuča se koristiti ograničeno, pažljivo, za prototipiranje aplikacija i eksperimentiranje. Treba raditi na dodatnim sigurnosnim mehanizmima i edukaciji korisnika koji trebaju biti svjesni ograničenja AI. Traži se dobro razumijevanje AI modela, alata i rješenja. Sigurnosni mehanizmi još nisu adekvatni, sve treba provjeravati i držati strogo pod nadzorom.

Vibe kodiranje ne oslobađa korisnika od odgovornosti za krajnji rezultat, nego ga potiče da svoje ideje izražava precizno, logično i s jasnom vizijom. Kvaliteta generirane aplikacije ovisi o tehničkom znanju i sposobnostima korisnika (jezična profinjenost i jezična sposobnost da se jasno komunicira željeni cilj). Korisnik preuzima ulogu kreativnog upravitelja projekata.

Transformacija posla i uloga programera, utječe na izvršavanje repetitivnih zadataka bez mnogo kreativnog doprinosa ili dubljeg razumijevanja sustava, mijenjaju se i preoblikuju neki poslovi, orijentacija razvojnih inženjera prema arhitektima koji su u stanju iskoristiti AI kako bi rješavali složene i zahtjevne probleme na kreativan i učinkovit način. Hibridni model razvoja softvera uz korištenje AI asistenata kojima se upravlja, a programeri koji to prihvate zanimljiviji su poslodavcima. Iskusni mogu raditi optimizaciju koda. AI neće oduzeti posao, oduzima onima koji odbiju koristiti i nisu se u stanju prilagoditi.

cursor composer, platforma bubble.io (LC/NC, vizualni editor za slaganje elemenata), platforma www.bolt.new (nudi podršku za Figmu, olakšava pretvaranje dizajna u funkcionalnu aplikaciju), google AI studio https://aistudio.google.com/ (IDE, brzo prototipiranje i izrada aplikacija temeljenih na gen AI – modelima iz obitelji Gemini), Firebase Studio https://studio.firebase.google.com (googleovo razvojno sučelje u oblaku, Project IDX, stvaranje, testiranje i objava web i mobilnih aplikacija uz pomoć agenata – Gemini, potreban i API ključ, podržava popularne jezike i frameworke), objavljuje se na Google Cloud infrastrukturi.

Rješenja se dijele: AI asistenti za razvojna okruženja- proširenja za editore i IDE, npr. GitHub Copilot; samostojeći editori koda, temeljeni na VS Code (Cursor ili Windsurf); online editori (generiranje koda uz pomoć AI modela (Replit); alati koji se koriste iz naredbenog retka i naglašavaju agentski pristup; cjelovite platforme za potpuno vizualno kreiranje aplikacija, korisnik povlači komponente na radnoj površini, a AI generira potreban kod, logiku i integraciju sa bazama podataka ili vanjskim servisima; prompt-to-app platforme (Bolt, Lovable) nastoje isporučiti kompletno rješenje od opisa do potpuno gotove full-stack aplikacije. Za početnike koji žele brzo kreirati aplikaciju najbolji su Lovable ili Replit, za iskusne koji žele veću kontrolu i nadzor su Windsurf ili Cursor.

Alati rade na interaktivan i iterativan način s naglaskom na vođenje dijaloga. Generirani kod često pati od slabe organiziranosti, pa ga je teže održavati. Takvo stvaranje aplikacija u ozbiljnim produkcijskim okruženjima zasad treba izbjegavati, ne bi se trebalo stvarati aplikacije bez razumijevanja generiranog koda i korištenih tehnologija.

GitHub Copilot, predlaganje ili automatsko generiranje programskog koda na temelju komentara, postojećeg koda ili konteksta iz drugih otvorenih datoteka u projektu, može dovršavati retke ili stvarati funkcije, generirati dokumentaciju i komentare, pronalaziti ili predlagati ispravke bugova, prevoditi kod između programskih jezika, generirati testove, objašnjavati kod, u agentskom načinu rada samostalno dodavati promjene i kreirati pull requestove. Namijenjen programerima početnicima koji žele učiti uz primjere ali i iskusnima za ubrzavanje repetitivnih zadataka. U Visual Studio Codu je dostupan nakon instalacije.

Claude Code (Anthropic) agentski alat www.anthropic.com/claude-code, sposobnost duboke analize većih projekata

Gemini CLI