Kodowanie Vibe
Czym jest kodowanie Vibe?
Kodowanie vibe to wspomagana przez AI metoda programowania wprowadzona przez Andreja Karpathy’ego w latach 2024/2025. W kodowaniu vibe opisujesz, czego chcesz, za pomocą poleceń w naturalnym języku, a zwykle duże modele językowe (LLM) generują za Ciebie większość, a często cały działający kod. Jeśli masz czas, sprawdź Art of Vibe Coding, zaadaptowane przez Ricka Rubina, aby dowiedzieć się więcej o sposobie kodowania vibe.
Jedną z dużych zalet tej nowej metody jest dostępność, ponieważ osoby bez doświadczenia w programowaniu mogą budować projekty, a doświadczeni deweloperzy mogą szybko prototypować nowe pomysły, zanim w pełni się na nie zdecydują. Jest to szczególnie pomocne dla startupów. Wadą jest to, że deweloperzy najprawdopodobniej nie będą w pełni rozumieć, jak działa wygenerowany kod. W przypadku małych pobocznych projektów to nie problem, ale w oprogramowaniu produkcyjnym może to prowadzić do długoterminowych problemów i długu technicznego.
Istnieje mnóstwo narzędzi, które sprawiają, że kodowanie vibe przebiega sprawniej. Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0 i inne pozwalają pracować z AI bezpośrednio w Twoim środowisku albo oferują dedykowane interfejsy do kodowania vibe. Osobiście w większości korzystałem z Cursor IDE i Claude Code CLI przy tych projektach.
Oto jednak sedno sprawy. Te narzędzia i modele kosztują pieniądze. Przy tradycyjnym kodowaniu płacisz głównie swoim czasem. Przy kodowaniu vibe płacisz portfelem. A jeśli nie wiesz, co robisz, płacisz zarówno portfelem, jak i czasem. Każdy z projektów na tej stronie kosztuje około $10 do $20 do zbudowania. To się sumuje, jeśli dużo eksperymentujesz. Myślę jednak, że wraz z ulepszaniem i zwiększaniem wydajności tych modeli koszt ostatecznie spadnie. Na razie to coś, co warto wziąć pod uwagę przy decyzji, czy kodowanie vibe ma sens dla Twojego projektu.
Ciekaw, co jest możliwe, sam przetestowałem kodowanie vibe i stworzyłem tę stronę, aby zbadać samą zasadę poprzez rzeczywiste projekty. Nie tylko buduję produkty, ale też testuję i pokazuję, do czego naprawdę zdolne jest kodowanie vibe. To tylko dla zabawy, ale daje wgląd w to, jak kodowanie może wyglądać w przyszłości, gdy te modele będą nadal się rozwijać.
Twierdzenie o nieskończonej małpie
Słyszałeś kiedyś o Twierdzeniu o nieskończonej małpie? To filozoficzny eksperyment myślowy, który mówi, że jeśli dasz nieskończonej liczbie małp nieskończoną liczbę maszyn do pisania i nieskończony czas, to w końcu jedna z nich stworzy kompletne dzieła Szekspira po prostu przypadkowo uderzając w klawisze.
Brzmi absurdalnie, prawda? Ale oto szalona część. Kodowanie vibe jest trochę jak to, tylko zamiast małp mamy modele AI, zamiast maszyn do pisania mamy języki programowania, a zamiast Szekspira dostajemy działające oprogramowanie.
Pomyśl o tym. Duże modele językowe są trenowane na miliardach linii kodu, wzorców i przykładów. Kiedy dajesz LLM prompt, on tak naprawdę nie „myśli” o Twoim problemie krok po kroku jak ludzki programista. Zamiast tego przewiduje kolejny najbardziej prawdopodobny token na podstawie wzorców, których nauczył się podczas treningu. W istocie zgaduje w oparciu o wiedzę, generując kod na podstawie tego, co statystycznie wydaje się poprawne.
I jakoś, częściej niż nie, to działa. Model generuje kod, który faktycznie się kompiluje, uruchamia i rozwiązuje Twój problem. Nie dzięki zrozumieniu, lecz dzięki probabilistycznemu dopasowywaniu wzorców na absolutnie ogromną skalę. To jakby najbardziej zaawansowany generator losowego tekstu we wszechświecie znalazł „właściwą” odpowiedź. Ale tutaj różnicą jest szybkość. Tamte małpy potrzebowałyby dosłownej nieskończoności. Twój AI? Dochodzi tam w sekundy albo minuty.
Więc w pewnym sensie, gdy korzystasz z kodowania vibe, wykorzystujesz miliony linii wzorców kodu, skondensowanych w model, aby generować rozwiązania. To nie jest świadome rozwiązywanie problemów, to statystyczna magia. I właśnie dlatego jest to tak potężne oraz, trzeba przyznać, dlatego nadal tak ważne jest rozumienie tego, co kod faktycznie robi.
Pytanie ma większe znaczenie niż odpowiedź
Jest tu coś ważnego, co często jest pomijane. Kodowanie vibe nie polega na uzyskaniu jakiejkolwiek odpowiedzi, lecz na zadaniu właściwego pytania. Pomyśl o Superkomputerze Deep Thought z Autostopem przez Galaktykę. Spędził miliony lat, obliczając odpowiedź na ostateczne pytanie o życie, wszechświat i wszystko, tylko po to, by dać Ci liczbę 42. Odpowiedź była technicznie poprawna, ale bezużyteczna, ponieważ prawdziwym problemem było ustalenie, jakie pytanie zadać na samym początku.
Kodowanie vibe działa tak samo. Twoje prompty są wszystkim, ale zarządzanie kontekstem również. Niejasny prompt da Ci niejasny kod, a jeśli nie dostarczysz właściwych plików, dokumentacji lub przykładów jako kontekstu, model nie zrozumie, czego naprawdę potrzebujesz. Jeśli jesteś osobą, która rozumie kodowanie, architekturę i projektowanie systemów, możesz tworzyć szczegółowe prompty i dobierać odpowiedni kontekst, aby skierować LLM ku doskonałym rozwiązaniom. Ale jeśli nie wiesz, o co prosić ani jaki kontekst dostarczyć, AI też tego nie będzie wiedziała.
Właśnie dlatego kodowanie vibe jest tak potężne dla doświadczonych deweloperów. Wiemy, jak wygląda dobry kod, rozumiemy pułapki i potrafimy pisać prompty, które od nich odciągają model. Dla początkujących bez technicznego backgroundu staje się to realnym ograniczeniem. Możesz dostać działający kod, ale bez zrozumienia, co poszło nie tak lub o co poprosić dalej, utkniesz.
Kiedy kodowanie vibe nie wystarcza
Najnowsze modele AI są imponujące, ale nie są srebrną kulą. Kodowanie vibe może działać w produkcji, ale tylko jeśli podchodzisz do tego serio. Potrzebujesz solidnych testów jednostkowych. Potrzebujesz jasnych źródeł prawdy dotyczących tego, co Twój system powinien robić. Musisz wykrywać, kiedy rzeczy się psują albo dryfują. I potrzebujesz mentalności hakera. Myśl nieszablonowo i spróbuj złamać swój projekt zrobiony w vibe codingu w nieoczekiwany sposób. Jakich przypadków brzegowych nie wziąłeś pod uwagę? Jakie luki bezpieczeństwa ktoś mógłby wykorzystać? To właśnie odróżnia kod, który tylko działa, od kodu, który jest naprawdę odporny.
Oto jednak sedno sprawy. AI nie posiada Ciebie. To Ty posiadasz AI. Nie akceptuj po prostu tego, co wygeneruje. Przejrzyj to. Przetestuj to. Złam to. I szczerze mówiąc, w przypadku niektórych części Twojej bazy kodu będziesz musiał wrócić do starego, klasycznego kodowania. Skup się, myśl głęboko, napisz to sam. Kodowanie vibe przyspiesza pracę, ale nie zastępuje prawdziwego programowania tam, gdzie ma to znaczenie.
Jest jeszcze jedna rzecz, której się nauczyłem. Czasem po prostu trzeba zakończyć sesję z AI i zacząć nową. W miarę jak historia rozmowy staje się coraz większa, wydajność modelu się pogarsza. Popełnia więcej błędów, generuje mniej spójny kod i częściej zaczyna halucynować. Jeśli tego nie wychwycisz i nie zatrzymasz, błędy się nakładają, czyniąc sytuację coraz gorszą. To jak próba czytania dokumentu, który był kopiowany kserokopiarką w kółko. Świeży start utrzymuje wszystko w czystości i ostrości.
Projekty zrobione w kodowaniu vibe
Poniżej znajdują się dwa projekty, stairs (repo) oraz transcendental (repo), które zbudowałem, używając metodologii kodowania vibe. W większości wygenerowane z promptów, z pracą ręczną ograniczoną do dostarczania kontekstu, debugowania i wdrożenia na GitLab Pages. To zabawne eksperymenty ze statycznymi stronami, które pokazują, co jest możliwe, gdy połączysz kreatywne pomysły z kodem poprzez kodowanie vibe. Oba są hostowane na GitLabie.