Vibecoding: rýchla cesta k softvéru, ktorému nikto nerozumie
Určite si už videl aspoň jedno také video. Niekto otvorí AI nástroj, napíše pár viet o tom, akú aplikáciu chce, a o dvadsať minút ukazuje hotový produkt s prihlasovaním, formulármi a peknou úvodnou stránkou. A pod videom stovky komentárov, že programátori sú odteraz zbytoční.
To video ti však neukáže, čo sa stane o niekoľko mesiacov. Napríklad keď sa prihlási prvých päťsto používateľov, keď bude treba pridať novú funkciu alebo keď ti niekto napíše, že vidí cudzie dáta.
V tomto článku sa pozrieme na to, prečo je vibecoding skvelá hračka, ale zlý základ pre takmer čokoľvek, na čom ti naozaj záleží. A prečo to platí bez ohľadu na to, či si úplný začiatočník, alebo programuješ desať rokov.
Vibecoding nie je to isté ako programovanie s AI
Tieto dva pojmy sa často zamieňajú a práve v tom je jadro celého problému.
Výraz vibecoding spopularizoval začiatkom roka 2025 Andrej Karpathy. Opísal ním prístup, pri ktorom AI povieš, čo chceš, jeho zmeny prijmeš bez čítania a keď niečo nefunguje, vrátiš mu chybovú hlášku a dúfaš, že to opraví. Kód je pre teba neviditeľný. Riadiš sa len tým, či výsledok na obrazovke „vyzerá dobre“.
Programovanie s AI je niečo úplne iné. AI ti navrhne riešenie, ty si ho prečítaš, pochopíš, upravíš a až potom zaradíš do projektu. Rýchlosť je podobná, ale kontrolu máš stále ty.
Jednoduchý test, do ktorej skupiny patríš: Vedel by si niekomu vysvetliť, čo robí kód, ktorý si včera pridal? Ak nie, vibecoduješ.
Ilúzia hotovej práce
V softvéri platí staré pravidlo: prvých 80 % práce zaberie 20 % času a zvyšných 20 % práce zaberie ďalších 80 % času. Vibecoding ti tých prvých 80 % dodá neuveriteľne rýchlo. A práve preto je taký zradný.
To, čo vidíš na obrazovke, je demo. Produkt sa od dema líši vecami, ktoré na prvý pohľad nevidno:
- Čo sa stane, keď používateľ zadá nevalidné dáta alebo nevyplní nič?
- Zvládne aplikácia, keď na ňu naraz príde tisíc ľudí?
- Vidí každý používateľ len svoje dáta, alebo sa dostane aj k cudzím?
- Čo ak vypadne databáza alebo externá služba?
- Ako zistíš, že sa niečo pokazilo, skôr než ti napíše nahnevaný zákazník?
AI tieto otázky samo od seba nerieši, pretože si ich nepoložil ani ty. Výsledkom je aplikácia, ktorá v ukážke vyzerá hotová, no v skutočnosti stojí na nedokončených základoch.
Predstav si napríklad takýto kúsok kódu, ktorý AI pokojne vygeneruje na požiadavku „zobraz profil používateľa“:
app.get('/api/users/:id', async (req, res) => {
const user = await db.users.findById(req.params.id);
res.json(user);
});
Funguje to. Lenže stačí v adrese zmeniť číslo a vidíš profil hocikoho iného, vrátane e-mailu a možno aj hashu hesla. Nikto ti nepovedal, že to tak nemá byť, a v deme to nikto nezistí.
Pre koho je vibecoding fajn? Možno práve pre teba
Často počuť, že vibecoding je fajn „aspoň pre niekoho“. Pozrime sa, kto by to mal byť.
Ak sa chceš naučiť programovať
Toto je možno najväčšia pasca. Pocit, že „robíš aplikácie“, je návykový, no v skutočnosti sa nič nenaučíš. Programovanie nie je písanie kódu, ale rozmýšľanie nad problémom, jeho rozkladanie na menšie časti a hľadanie chýb. Presne túto časť za teba vibecoding preskočí.
Po pol roku tak máš na GitHube desať projektov, ale na pohovore nevieš vysvetliť, ako funguje ani jeden z nich.
Ak si podnikateľ s nápadom
Rýchly prototyp na overenie nápadu je v poriadku. Problém nastane, keď ho začneš považovať za hotový produkt a pustíš naň zákazníkov. Od tej chvíle spracúvaš ich osobné údaje, možno aj platby, a za každý únik zodpovedáš ty.
Keď si neskôr najmeš programátora, často ti povie nepríjemnú pravdu: rýchlejšie a lacnejšie bude všetko prepísať, než to opravovať.
Ak robíš projekty pre klientov
Klient ti platí nielen za funkčnú aplikáciu, ale aj za to, že vieš, čo si mu dodal. Keď o pol roka zavolá, že mu niečo nefunguje, musíš vedieť chybu nájsť. Ak kódu nerozumieš, nepredávaš mu svoju prácu, ale lotériu.
Ak si skúsený vývojár
Ani skúsenosti ťa neochránia, ak prestaneš čítať, čo AI generuje. Práve skúsení ľudia majú tendenciu dôverovať výstupu, ktorý „vyzerá rozumne“. Navyše zručnosti, ktoré nepoužívaš, postupne slabnú. Kto si zvykne prijímať zmeny naslepo, po čase zistí, že bez AI už nevie spraviť ani to, čo kedysi zvládal bez rozmýšľania.
Vibecoding má teda zmysel naozaj len tam, kde na výsledku vôbec nezáleží: víkendová hračka, jednorazový skript pre seba, experiment, ktorý potom zahodíš.
Účet, ktorý príde neskôr
Vibecoding ti ušetrí čas dnes a pošle ti faktúru zajtra. V programovaní sa tomu hovorí technický dlh a vibecoding ho vytvára rýchlejšie než čokoľvek iné.
Každá zmena, ktorej nerozumieš, je malá pôžička. Na začiatku si ju nevšimneš. Po niekoľkých týždňoch však máš projekt, v ktorom sú tri rôzne spôsoby, ako sa ukladajú dáta, funkcie, ktoré sa nikde nepoužívajú, a opravy, ktoré opravujú iné opravy.
V tej chvíli sa zvyčajne objaví známa slučka: vložíš chybu do AI, ono niečo zmení, objaví sa nová chyba, vložíš ju znova. AI totiž nevidí celý projekt naraz a s každou ďalšou úpravou stráca prehľad o tom, prečo veci vyzerajú tak, ako vyzerajú. A ani ty ho nemáš.
Ďalšie účty chodia potichu:
- Bezpečnosť: Zabudnutý API kľúč v kóde, chýbajúca kontrola oprávnení alebo knižnica, ktorú AI vymyslelo a útočník si ju medzitým zaregistroval.
- Peniaze: Nekonečná slučka volaní platenej služby alebo databáza bez indexov, ktorá ti zdvihne faktúru za cloud.
- Dôvera: Jeden únik dát a zákazníci sa už nevrátia, nech je aplikácia akokoľvek pekná.
Ako teda používať AI a nespáliť sa
AI nie je nepriateľ. Je to najlepší pomocník, akého si programátor mohol priať, ak s ním zaobchádzaš ako s kolegom, a nie ako s čarovnou paličkou. Stačí si osvojiť pár návykov:
- Nikdy neprijmi kód, ktorému nerozumieš. Ak ti niečo nie je jasné, opýtaj sa AI, prečo to spravilo práve takto. Je to zároveň najrýchlejší spôsob, ako sa niečo naučiť.
- Rozmýšľaj skôr, ako napíšeš prompt. Ujasni si, čo má aplikácia robiť, kto k čomu smie pristupovať a čo sa stane, keď sa niečo pokazí. AI ti dá len to, na čo sa opýtaš.
- Postupuj po malých kúskoch. Jedna funkcia, kontrola, ďalšia funkcia. Malú zmenu dokážeš pochopiť, tisíc riadkov naraz nie.
- Nechaj si pomôcť aj nástrojmi. Testy, linter a automatická kontrola závislostí zachytia veľa chýb, ktoré by ti inak unikli.
- Ak ide o niečo dôležité, daj kód skontrolovať aj človeku. Code review od skúseného vývojára je lacnejšie ako akýkoľvek incident.
Pokojne vibecoding používaj na hranie, experimenty a nápady, ktoré potom zahodíš. Keď však ide o cudzie dáta, peniaze alebo tvoju reputáciu, oči si otvor. Najlepší kód nie je ten, ktorý vznikol najrýchlejšie, ale ten, ktorému niekto rozumie – a ideálne by si to mal byť ty.
