Przerażenie i zaskoczenie. To dwa słowa, które całkiem trafnie opisują moje odczucia po wczorajszej 4h+ sesji Vibe Codingu.
Byłem potrójnie zaskoczony takim trybem pracy.
Niestety, nie zawsze było to pozytywne zaskoczenie 🧵 ↓
Korzystam z płatnej wersji Cursora w trybie agenta z modelem "o3" od OpenAI.
Do tej pory używałem tego IDE tylko do drobnych poprawek w kodzie, ale postanowiłem zrobić eksperyment i stworzyć w nim projekt od początku do końca.
Co tworzę, jest mało ważne. Chodzi o coś innego.
Zacząłem "programowanie" od pustego katalogu z plikiem "dump.sql".
Była tam zaprojektowana przeze mnie struktura danych.
To jedyna rzecz, która wymagała ode mnie skilla programistycznego.
Po czasie myślę, że było to zbyteczne.
Napisanie mojego pierwotnego prompta opisującego jakie moduły ma mieć aplikacja i jak ma działać, zajęło mi ~25 minut.
Rozpoczęło się generowanie. Trochę to trwało...
Po kilku minutach otrzymałem komunikat:
"Review changes!"
Jak na typowego vibe codera przystało, kliknąłem "Accept all", a w przeglądarce "refresh", aby zamiast pustego katalogu zobaczyć... działającą aplikację.
WSZYSTKO (absolutnie wszystko) działało tak, jak to opisałem.
To był mój pierwszy moment zaskoczenia/przerażenia.
Szacuję, że stworzenie tego prototypu, pisząc kod jak do tej pory, zajęłoby mi z 4-5 dni.
Mam działające MVP zbudowane w 30 minut, z czego 25 to moje pisanie prompta, a reszta to patrzenie w ekran jak buduje się kod 😐
Pozostałe godziny spędziłem na dopieszczaniu aplikacji.
Podmiana kolorów, inny rozkład pozycji w menu, inny flow rejestracji itp.
Tych uwag nie zawarłem w pierwotnym zapytaniu.
Po chwilach zachwytu przyszedł czas na kolejne zaskoczenie — tym razem mniej pozytywne.
Zacząłem czytać wygenerowany kod.
Muszę przyznać, że ja tak ładnie kodu nie piszę 😬
Sprawdziłem jeszcze bezpieczeństwo stworzonej aplikacji.
Znalazłem tam KAŻDY błąd, który testowałem.
✅ XSS
✅ SQL Injection
✅ XSRF
✅ open redirect
✅ IDOR
Dalej już nie sprawdzałem 🤦♂️
Tutaj jednak pojawiło się trzecie zaskoczenie.
Poprosiłem o usunięcie podatności bardzo ogólnymi poleceniami np.:
"zabezpiecz moduł zarządzania projektami przed atakiem XSRF"
Poszło mu naprawdę dobrze! Jednak mocno trzeba go pilnować.
Czasami agent o czymś zapominał.
Wnioski po 4h+ vibe codingu:
✅ to skrajnie szybki sposób na tworzenie MVP
❌ bez wiedzy programistycznej nie da się stworzyć bezpiecznej i optymalnej, fullstackowej aplikacji produkcyjnej
❌ przyda Ci się wiedza architektoniczna i pentesterska
Za ~36zł w 30 minut miałem gotowy prototyp aplikacji.
Teraz spędzę kilka dni na rozbudowie prototypu (już klasycznie programując), ale już teraz mam coś, co działa i mogę to dać zaufanym ludziom do testów.
Jeśli chcesz tworzyć aplikacje w trybie "vibe" i na nich zarabiać, to efekt pracy oddaj w ręce programistów i testerów, którzy to poprawią.
Jeśli jednak byłaby to aplikacja "wewnętrzna", stworzona tylko na moje potrzeby, to ja bym te bugi zostawił — to po prostu działa 🤷♂️