Vibe Coding: Kodėl AI Prototipas Dar Nėra Produktas

Vibe coding – kaip iš AI prototipo padaryti realų produktą

Aplikacija, per kelias dienas sukurta su Lovable beveik be vienos parašytos kodo eilutės, gali atrodyti baigta: gražus interfeisas, mygtukai spaudžiami, duomenys atsiranda. Bet tai, kas atrodo kaip „paskutinis štrichas“, dažnai yra viskas, kas skiria demo nuo produkto – ir to būna daugiau nei viso ankstesnio darbo.

Šitas reiškinys jau turi pavadinimą – vibe coding. Šiame straipsnyje paaiškinsiu, kas tai yra, kodėl jis genialus prototipui ir pavojingas produktui, ko konkrečiai vibe-coded aplikacijai trūksta, kada jo visiškai pakanka (taip, kartais tikrai pakanka), ir kaip iš tokio prototipo padaryti realų, produkcijoje veikiantį produktą.

Kas yra vibe coding

Vibe coding – tai programavimo būdas, kai aplikaciją kuri ne rašydamas kodą, o aprašydamas natūralia kalba AI įrankiui, ko nori. „Padaryk man užduočių sąrašo aplikaciją su prisijungimu ir tamsiu režimu“ – ir po kelių sekundžių turi veikiantį ekraną. Tau nepatinka spalva, prašai pakeisti. Trūksta mygtuko, prašai pridėti. Tu nerašai kodo eilutė po eilutės – vairuoji pagal pojūtį: prašai, žiūri į rezultatą, prašai pataisyti.

Įrankiai, kurie tai daro, jau gerai žinomi: Lovable ir Bolt generuoja visą aplikaciją, v0 – interfeisą, Cursor ir ChatGPT rašo kodą pagal pokalbį. Tai tikrai įspūdinga technologija ir aš jos nemenkinu – šiuos įrankius gerai pažįstu. Klausimas niekada nebuvo „ar AI gali rašyti kodą“. Klausimas yra „ar tas, ką jis parašė, atlaikys realų pasaulį“.

Nes vibe coding turi vieną nematomą savybę: jis optimizuotas tam, kad atrodytų, jog veikia. AI generuoja kodą, kuris praeina akivaizdų testą – tu paspaudi mygtuką ir kažkas nutinka. Bet „veikia mano ekrane“ ir „veikia produkcijoje realiems naudotojams“ yra du visiškai skirtingi dalykai, o tarp jų slypi būtent tas darbas, kurio AI nepadaro savaime.

Kodėl jis nuostabus prototipui ir pavojingas produktui

Prototipo užduotis viena – įrodyti idėją. Jam pakanka veikti tau, vieną kartą, laiminguoju keliu (taip vadinu scenarijų, kai naudotojas viską daro teisingai ir niekas ne"lūžta"). Jei nori parodyti investuotojui, kaip atrodys tavo paslauga, arba pats sau patikrinti, ar idėja apskritai turi prasmę – vibe coding čia neprilygstamas. Tai, kam anksčiau reikėjo savaitės ir kelių tūkstančių eurų, dabar padaroma per popietę. Tai realus, didžiulis pliusas.

Produkto užduotis visai kita. Produktas turi veikti ne tau, o nepažįstamiems žmonėms. Su blogu internetu. Su klaidingai įvestais duomenimis. Su žmogumi, kuris bando tave apgauti. Naktį, kai tu miegi. Po pusės metų, kai pasikeitė biblioteka. Su tūkstančiu naudotojų vienu metu, ne su vienu. Štai kur vibe-coded prototipas pradeda byrėti – ir byra ne ten, kur matosi, o ten, kur nesimato, kol nepasidaro vėlu.

Pavojingiausia vibe coding iliuzija

Kai aplikacija atrodo 90 % baigta, intuicija sako, kad liko 10 % darbo. Realybėje yra atvirkščiai: matoma dalis (interfeisas, mygtukai, ekranai) yra ta lengvoji, kurią AI padaro gerai. O nematoma dalis – saugumas, duomenys, kraštiniai atvejai, deploy – yra ir sunkiausia, ir brangiausia. Tą sunkųjį 30 % aš atskirai aprašiau straipsnyje „Pradėjai kurti aplikaciją su AI ir įstrigai? Ką daryti toliau“.

7 dalykai, kurių vibe-coded aplikacija neturi

Vibe-coded prototipuose, kuriuos man parodo žmonės, beveik visada trūksta tų pačių septynių dalykų. Ne todėl, kad AI „blogas“ – tiesiog jis generuoja tai, ko prašai, o šitų dalykų niekas neprašo, nes apie juos net nežinai, kol jie netampa problema.

Ko trūksta Kodėl tai svarbu produkcijoje
1. Automatiniai testai Be testų kiekvienas pakeitimas yra azartas. Pataisai vieną vietą – nematomai sulūžta kita. Vibe-coded kode testų beveik niekada nėra, todėl projektas darosi vis trapesnis, kuo daugiau jį liečia.
2. Klaidų valdymas Kas nutinka, kai nutrūksta internetas, serveris neatsako arba naudotojas įveda šiukšlę? Prototipe – baltas ekranas arba krašas. Produkte turi būti aiškus pranešimas, atsarginis kelias ir tylus klaidos užfiksavimas.
3. Saugumas Atviri API raktai pačiame kode, neapsaugota duomenų bazė, kur bet kas gali pasiimti svetimus duomenis, jokio įvedimo validavimo. Tai dažniausia ir pavojingiausia vibe-coded spraga – ją išnaudoja per minutes.
4. Duomenų migracijos Kai pridedi naują lauką ar pakeiti struktūrą, jau turimi naudotojų duomenys turi „persikraustyti“ be praradimų. Vibe prototipe duomenų schema keičiama trinant ir kuriant iš naujo – produkcijoje tai reikštų ištrintus klientus.
5. Monitoringas Produkcijoje turi sužinoti apie problemą anksčiau už naudotoją. Be klaidų sekimo ir logų tu nematai, kad pusė žmonių negali prisijungti – sužinai tik tada, kai jie nustoja grįžti.
6. Mastelis Kodas, kuris dirba su vienu naudotoju, gali subyrėti su šimtu. Neoptimizuotos užklausos, jokio talpyklavimo, viskas vienoje gijoje – prototipui nesvarbu, produktui lemtinga pirmą sėkmingą dieną.
7. Priežiūra Bibliotekos sensta, atsiranda saugumo spragos, keičiasi mokėjimų ir prisijungimo taisyklės. Produktas reikalauja nuolatinio prižiūrėjimo. Vibe-coded kodas, kurio niekas nesupranta, tampa nepataisomu po pirmo rimto gedimo.

Atkreipk dėmesį: nė vieno iš šių septynių dalykų naudotojas nemato, kol viskas gerai. Visi jie pasimato tą vieną blogą dieną – ir būtent dėl jų produktą statyti brangiau ir lėčiau nei prototipą. Tai ne „lakas“ pabaigai, tai pamatas.

Kada vibe coding tikrai pakanka

Dabar – svarbiausia ir sąžiningiausia šio straipsnio dalis. Vibe coding nėra „blogai“. Yra daug atvejų, kai jis ne tik pakanka, bet ir yra protingiausias pasirinkimas. Jei tu pataikai į vieną iš jų – nesamdyk manęs, taupyk pinigus ir kurk pats.

Čia vibe coding tikrai užtenka

  • Vidinis įrankis keliems žmonėms. Skaičiuoklė, lentelė, paprasta sistema, kurią naudoja tavo komanda. Jei nelaiko svetimų duomenų ir nepriima pinigų – statyk su AI ir nesuk galvos.
  • Demo investuotojui ar klientui. Reikia parodyti, kaip atrodys idėja. Niekam nesvarbu, kas po kapotu, jei tikslas – įtikinti, ne aptarnauti.
  • Idėjos vizualizacija sau. Nori pamatyti, ar tavo sumanymas apskritai turi prasmę, prieš investuojant rimtus pinigus. Vibe prototipas atsako į šitą klausimą pigiausiai.
  • Asmeninis projektas. Hobis, asmeninis dienoraštis, įrankis sau. Jei sulūš – sulūš tau vienam, ir tu tai ištversi.

Bendra taisyklė paprasta: jei aplikacija nelaiko svetimų duomenų ir nepriima pinigų, vibe coding tau greičiausiai užtenka.

Kada vibe coding nebepakanka

O dabar kita pusė. Yra riba, už kurios „atrodo, kad veikia“ tampa rizika, kuri kainuoja kur kas daugiau nei sutaupei statydamas. Ją peržengi tą akimirką, kai aplikaciją pradeda naudoti žmonės, kurių tu nepažįsti, arba kai per ją juda pinigai.

Vibe coding pakanka Reikia profesionalaus perstatymo
Naudoji tik tu arba siauras patikimas ratas Naudoja nepažįstami, realūs klientai
Jokių pinigų sistemoje Mokėjimai, prenumeratos, atsiskaitymai
Duomenys nesvarbūs arba vieši Asmens duomenys, GDPR, klientų privatumas
Sulūžimas nekainuoja nieko Prastova reiškia prarastus klientus ar reputaciją
Gyvuoja kelias savaites Turi veikti ir būti prižiūrimas metų metus

Vos tik atsiranda realūs klientai ar mokėjimai, kiekvienas iš tų septynių trūkstamų dalykų virsta atsakomybe. Neapsaugota duomenų bazė su tavo klientais – jau ne techninė smulkmena, o GDPR pažeidimas. Mokėjimai be klaidų valdymo – pinigai, kurie dingsta tarp tavęs ir banko. Štai kodėl čia jau nebe vibe coding klausimas, o produkto klausimas.

Kaip iš vibe prototipo padaryti produktą

Gera žinia: vibe prototipas dažnai nėra iššvaistytas darbas – jis yra puikus startas. Tu jau apsisprendei, ką aplikacija daro, kaip atrodo, kokia logika. Tai vertingiausia ir sunkiausiai užrašoma specifikacijos dalis, ir ji jau padaryta. Lieka uždaryti tą sunkųjį 30 %, dėl kurio prototipas nėra produktas.

Kai į mane kreipiasi su vibe-coded projektu, jo kodo neperimu ir nelopau – produktą statau švariai nuo nulio, o prototipas tampa specifikacija ir vizualiniu orientyru. Bendra logika, kurią verta žinoti ir tau: ar tęsti ant esamo kodo, ar perstatyti, lemia ne kodo kiekis, o jo struktūra. Jei logika ir duomenų modelis sveiki, trūkstamą sluoksnį ant esamo kodo gali pridėti pats arba žmogus, kuris jį kūrė. Jei kodas chaotiškas, su atvirais raktais ir nesuvaldomu state – švarus perstatymas išeina greičiau ir pigiau nei lopymas. Plačiau apie tai, kas nutinka, kai AI kodas pradeda griūti ir „taisomas“ griūva dar labiau, rašau atskirame straipsnyje „Lovable, Bolt, v0, Cursor – ką daryti, kai AI kodas sulūžta“.

Kelias nuo prototipo iki produkcijos

  1. Specifikacija. Iš prototipo išsirenku ekranus, srautus ir logiką, kurią jau išsigryninai, ir surašau, ką produktas turi daryti – įskaitant tai, ko prototipas nedarė.
  2. Tvirtas pamatas. Saugi duomenų bazė, normalus prisijungimas, paslėpti raktai, įvedimo validavimas – tai, ant ko galima statyti.
  3. Sunkusis 30 %. Mokėjimai, integracijos, klaidų valdymas, kraštiniai atvejai. Lietuvoje čia dažnai prisideda vietinės integracijos (Paysera, Smart-ID, e-sąskaita), kurių AI nepajungs.
  4. Saugiklis. Testai, monitoringas ir logai, kad apie problemą sužinotum tu, ne tavo klientas.
  5. Deploy ir priežiūra. Tikras domenas, tikras hostingas, atsarginės kopijos ir aiškus susitarimas, kas prižiūrės toliau.

Mano siūlymas niekada nėra „sutvarkysiu tavo kodą“. Jis yra „pastatysiu, kad veiktų ir uždirbtų“. Skirtumas esminis: kodo tvarkymas yra kosmetika, o produkto pastatymas reiškia, kad tavo klientai gali ramiai naudotis, mokėti ir grįžti, o tu gali ramiai miegoti.

Realūs skaičiai

Konkrečiai apie kainą, nes vis tiek to klausi. Švarus perkūrimas pagal tavo vibe prototipą – su autentifikacija, saugumu ir deploy – prasideda nuo 2 900 € (MVP / PWA, iOS ir Android viena kodo baze). Verslo aplikacija su mokėjimais, vietinėmis integracijomis ir admin panele – nuo 6 900 €, sudėtinga platforma – nuo 14 900 €. Terminai dažniausiai 2–6 savaitės, priklausomai nuo apimties ir nuo to, kiek aiškiai prototipas jau apibrėžia, ką produktas turi daryti.

Tai gali skambėti kaip nemažai už „beveik baigtą“ projektą. Bet prisimink lentelę su septyniais trūkstamais dalykais – tu nemokėsi už lakavimą, mokėsi už tą pamatą, be kurio aplikacija nėra produktas, o tik jo nuotrauka.

Turi vibe-coded prototipą? Paverskime jį tikru produktu.

Tavo Lovable, Bolt, v0 ar Cursor prototipas tampa specifikacija: ekranus ir srautus išsaugau, o po jais nuo nulio pastatau tvirtą pamatą – saugumą, duomenis, mokėjimus ir deploy. MVP nuo 2 900 €. Parašyk, ką kuri, ir per 24 val. gausi pasiūlymą su kaina ir terminu.

Perkurti mano prototipą

Dažniausiai užduodami klausimai

Kas yra vibe coding?

Vibe coding – tai programavimo būdas, kai aplikaciją kuri natūralia kalba aprašydamas AI įrankiui (Lovable, Bolt, v0, Cursor, ChatGPT), ko nori, o jis generuoja kodą. Tu nerašai kodo eilutė po eilutės – vairuoji „pagal pojūtį“: prašai, žiūri į rezultatą, prašai pataisyti. Tai puikiai tinka greitam prototipui, bet sugeneruotas kodas dažnai neturi to, ko reikia produkcijai – testų, klaidų valdymo, saugumo.

Kuo prototipas skiriasi nuo produkto?

Prototipas turi įrodyti idėją – pakanka, kad jis veikia tavo ekrane laiminguoju keliu. Produktas turi veikti produkcijoje, su realiais naudotojais, blogu internetu, klaidingais įvedimais ir piktavaliais. Skirtumą sudaro testai, klaidų valdymas, saugumas, duomenų migracijos, monitoringas, mastelis ir priežiūra – būtent tai, ko vibe-coded prototipas dažniausiai neturi.

Ar galima vibe-coded prototipą paleisti į produkciją?

Techniškai paleisti gali, bet realiems klientams ar mokėjimams to nepatariu. Vibe prototipe paprastai trūksta saugumo (atviri API raktai, neapsaugota duomenų bazė), klaidų valdymo ir monitoringo. Pirmas piktavalis arba pirmas netikėtas duomuo lengvai jį parverčia. Prieš paleidimą reikia žmogaus, kuris uždaro tą sunkųjį 30 % – saugumą, duomenis, deploy ir kraštinius atvejus.

Kada vibe coding tikrai pakanka?

Vibe coding pakanka, kai aplikacija nelaiko svetimų duomenų ir nepriima pinigų: vidiniam įrankiui keliems žmonėms, demo investuotojui, idėjos vizualizacijai, asmeniniam projektui. Jei aplikaciją naudoji tik tu pats arba siauras patikimas ratas, vibe-coded sprendimas sutaupo daug laiko ir pinigų – tokiu atveju tikrai nesiūlysiu samdyti developer'io.

Kiek kainuoja iš vibe prototipo padaryti realų produktą?

Priklauso nuo to, ką produktas turi daryti. Švarus perkūrimas pagal tavo prototipą – su autentifikacija, saugumu ir deploy – prasideda nuo 2 900 € (MVP / PWA, iOS ir Android viena kodo baze). Verslo aplikacija su mokėjimais, vietinėmis integracijomis ir admin panele – nuo 6 900 €, sudėtinga platforma – nuo 14 900 €. Sunkiausia ir brangiausia dalis visada yra tas paskutinis 30 %, ne pradžia.

Ar verta tęsti ant vibe-coded kodo, ar perrašyti iš nulio?

Sprendimą lemia ne kodo kiekis, o jo struktūra. Jei prototipo logika ir duomenų modelis sveiki, pridėti trūkstamą produkcijos sluoksnį ant esamo kodo gali būti prasminga – tai gali daryti pats arba su žmogumi, kuris jį kūrė. Jei kodas chaotiškas, su atvirais raktais ir nesuvaldomu state, švarus perstatymas išeina greičiau ir pigiau nei lopymas. Aš dirbu tik šiuo antruoju keliu: svetimo kodo neperimu, o produktą statau nuo nulio, naudodamas tavo prototipą kaip specifikaciją.

Dažniausiai užduodami klausimai (DUK)

Kas yra vibe coding?
Vibe coding – tai programavimo būdas, kai aplikaciją kuri natūralia kalba aprašydamas AI įrankiui (Lovable, Bolt, v0, Cursor, ChatGPT), ko nori, o jis generuoja kodą. Tu nerašai kodo eilutė po eilutės – vairuoji „pagal pojūtį“: prašai, žiūri į rezultatą, prašai pataisyti. Tai puikiai tinka greitam prototipui, bet sugeneruotas kodas dažnai neturi to, ko reikia produkcijai – testų, klaidų valdymo, saugumo.
Kuo prototipas skiriasi nuo produkto?
Prototipas turi įrodyti idėją – pakanka, kad jis veikia tavo ekrane laiminguoju keliu. Produktas turi veikti produkcijoje, su realiais naudotojais, blogu internetu, klaidingais įvedimais ir piktavaliais. Skirtumą sudaro testai, klaidų valdymas, saugumas, duomenų migracijos, monitoringas, mastelis ir priežiūra – būtent tai, ko vibe-coded prototipas dažniausiai neturi.
Ar galima vibe-coded prototipą paleisti į produkciją?
Techniškai paleisti gali, bet realiems klientams ar mokėjimams to nepatariu. Vibe prototipe paprastai trūksta saugumo (atviri API raktai, neapsaugota duomenų bazė), klaidų valdymo ir monitoringo. Pirmas piktavalis arba pirmas netikėtas duomuo lengvai jį parverčia. Prieš paleidimą reikia žmogaus, kuris uždaro tą sunkųjį 30 % – saugumą, duomenis, deploy ir kraštinius atvejus.
Kada vibe coding tikrai pakanka?
Vibe coding pakanka, kai aplikacija nelaiko svetimų duomenų ir nepriima pinigų: vidiniam įrankiui keliems žmonėms, demo investuotojui, idėjos vizualizacijai, asmeniniam projektui. Jei aplikaciją naudoji tik tu pats arba siauras patikimas ratas, vibe-coded sprendimas sutaupo daug laiko ir pinigų – tokiu atveju tikrai nesiūlysiu samdyti developer'io.
Kiek kainuoja iš vibe prototipo padaryti realų produktą?
Priklauso nuo to, ką produktas turi daryti. Švarus perkūrimas pagal tavo prototipą – su autentifikacija, saugumu ir deploy – prasideda nuo 2 900 € (MVP / PWA, iOS ir Android viena kodo baze). Verslo aplikacija su mokėjimais, vietinėmis integracijomis ir admin panele – nuo 6 900 €, sudėtinga platforma – nuo 14 900 €. Sunkiausia ir brangiausia dalis visada yra tas paskutinis 30 %, ne pradžia.
Ar verta tęsti ant vibe-coded kodo, ar perrašyti iš nulio?
Sprendimą lemia ne kodo kiekis, o jo struktūra. Jei prototipo logika ir duomenų modelis sveiki, pridėti trūkstamą produkcijos sluoksnį ant esamo kodo gali būti prasminga – tai gali daryti pats arba su žmogumi, kuris jį kūrė. Jei kodas chaotiškas, su atvirais raktais ir nesuvaldomu state, švarus perstatymas išeina greičiau ir pigiau nei lopymas. Aš dirbu tik šiuo antruoju keliu: svetimo kodo neperimu, o produktą statau nuo nulio, naudodamas tavo prototipą kaip specifikaciją.