Złudzenie vibe-codingu: AI napisze kod, ale nie zaprojektuje systemu
Iluzja vibe codingu: dlaczego AI potrafi pisać kod, ale nie zastąpi projektantów systemów
Bądźmy szczerzy: każdy z nas to zna. Odkrywasz nowe narzędzie AI do kodowania i nagle czujesz, że możesz zbudować cokolwiek. Całe lata myślałeś „gdybym tylko miał czas, żeby to zrealizować"? Czas właśnie nadszedł. Wystarczy opisać, czego chcesz, pogadać z AI i gotowe.
To uczucie jest uzależniające. I niebezpieczne.
Uroda kodu „wystarczy"
Kilka tygodni temu postanowiłem przetestować granice vibe codingu, budując „prosty" system pamięci dla agentów AI. Taki mechanizm, który pozwoliłby asystentowi kodowania pamiętać rzeczy z poprzednich sesji, zamiast zaczynać od zera za każdym razem.
Jakie to mogłoby być trudne? Przechowuj fakty, pobieraj je gdy potrzebne, może sygnalizuj sprzeczności. Sprytna baza danych z przyjemnym API.
Kod składał się błyskawicznie. Naprawdę błyskawicznie. Agent, z którym pracowałem, wygenerował demona w Rust, system klasyfikacji, cztery strategie pobierania z ponownym rankowaniem przez lokalne modele. Pod każdym względem wyglądało to imponująco. Testy przechodziły. Kompilator był zadowolony.
A potem spróbowałem tego użyć.
Rzecz w systemach pamięci dla agentów jest taka: nie chodzi tak naprawdę o przechowywanie. Chodzi o znaczenie. A znaczenie okazuje się filozoficznie kłopotliwe w sposób, który sprawia, że Twój starannie napisany kod wygląda jak budowanie rakiety i zapomnienie o grawitacji.
Problem sprzeczności, o którym nikt nie mówi
Mój pierwotny cel był prosty: jeśli agent dowie się czegoś nowego, sprawdź czy nie kłóci się to z tym, co już „wie". Brzmi rozsądnie. Pamięć, która przeczy sama sobie bez wyjaśnienia, nie jest tylko bezużyteczna — jest aktywnie szkodliwa. Zanieczyszczasz kontekst informacjami, które się wzajemnie wykluczają.
Co może być prostszego? Porównaj dwa fakty. Zgłoś konflikt.
Tylko że...
Czym jest sprzeczność w takim systemie? Jeśli agent w poniedziałek dowiedział się, że „Projekt X używa PostgreSQL", a we wtorek, że „Projekt X używa MySQL" — czy to sprzeczność? Może stos technologiczny się zmienił. Może jedno źródło było błędne. Może „Projekt X" oznacza różne projekty. Może „używa" znaczy co innego w różnych kontekstach.
Ludzie radzą sobie z tym dzięki latom nagromadzonego zdrowego rozsądku, kontekstu i umiejętności powiedzenia „coś tu nie gra", nawet jeśli nie potrafią dokładnie wyjaśnić dlaczego. Systemy AI potrafią generować pewnym siebie tekst na temat każdej z tych interpretacji, ale ta pewność to często tylko dopasowywanie wzorców bez zakotwiczenia w prawdziwym zrozumieniu.
Gdzie vibe coding się łamie
Vibe coding świetnie radzi sobie z problemami, które potrafisz jasno sformułować. Masz błąd? Opisz objawy. Potrzebujesz funkcji? Podaj parametry wejściowe i wyjściowe. AI zajmuje się implementacją z niezwykłą kompetencją.
Ale projektowanie systemów — prawdziwe projektowanie — polega na rozwiązywaniu problemów, których nie potrafisz jasno sformułować. To przewidywanie interakcji między komponentami, które jeszcze nie istnieją. To zadawanie pytań „co się stanie, gdy..." w scenariuszach, których jeszcze nie wymyśliłeś.
Kiedy poprosiłem asystenta AI o „zaimplementowanie wykrywania sprzeczności", tak naprawdę prosiłem o rozwiązanie problemu, którego nie potrafiłem precyzyjnie zdefiniować. Rezultaty były... twórcze. Eksplorowaliśmy kraty Belnapa, logikę czterowartościową, formalną weryfikację z dowodami w Agdzie, sieci Petriego. Asystent był otwarty na wszystko, co sugerowałem, i szczerze mówiąc, niektóre pomysły były naprawdę interesujące.
Ale „interesujące" nie znaczy „działa".
Dowód w Agdzie był poprawny. Architektura była dobrze udokumentowana. A system nadal niezawodnie nie wykrywał sprzeczności, bo formalizowaliśmy złą abstrakcję. Budowaliśmy piękną katedrę na fundamencie z piasku, i ani AI, ani ja nie zdaliśmy sobie z tego sprawy, dopóki nie zainwestowaliśmy miesięcy.
Niewygodna prawda
Oto czego zwolennicy vibe codingu Ci nie mówią: najtrudniejsza część tworzenia oprogramowania nigdy nie polegała na pisaniu kodu. Chodzi o to, żeby wiedzieć, co w ogóle budować.
To zawsze było prawdą. Co się zmieniło, to że przepaść między „miałem pomysł" a „mam kod" dramatycznie się zmniejszyła. To naprawdę wspaniałe dla prototypowania, uczenia się, eksplorowania możliwości.
Ale oznacza to też, że możesz teraz ponosić porażki szybciej i drożej niż kiedykolwiek. Możesz wygenerować góry kodu, który wygląda pewnie, ale rozwiązuje zły problem — i możesz nie zdawać sobie z tego sprawy, dopóki nie zbudujesz całego systemu na wadliwym fundamencie.
Co faktycznie pomaga
To wszystko nie oznacza, że programowanie z asystencją AI to zły pomysł. Nie jest. Ale efektywne korzystanie z niego wymaga innych umiejętności niż sama zdolność kodowania:
Musisz wiedzieć, czego nie wiesz. Kiedy AI sugeruje rozwiązanie w dziedzinie, której nie znasz — to nie jest moment na „brzmi dobrze, implementuj". To moment, żeby kopać głębiej.
Proof of concepts trzeba bezwzględnie testować na prawdziwych przypadkach użycia. Jeśli budujesz system pamięci, poświęć tyle samo czasu na próbę jego złamania, ile poświęciłeś na zbudowanie. Szczególnie próbuj złamać założenia, o których istnieniu nie wiedziałeś.
Ta pewność nie jest Twoja. Kiedy asystent AI jest bardzo pewny decyzji projektowej, ta pewność tkwi w modelu, nie w Twoim zrozumieniu. System, którego nie rozumiesz dogłębnie, to system, którego nie będziesz w stanie utrzymać ani debugować.
Projektowanie systemów to nadal dyscyplina. Możesz używać AI do szybszej eksploracji projektów, do szybszej implementacji fragmentów systemów, do prototypowania pomysłów, które wcześniej zajęłyby tygodnie. Ale wciąż potrzebujesz kogoś, kto potrafi ocenić, czy projekt ma sens, czy komponenty ze sobą współgrają, czy rdzeniowe abstrakcje wytrzymują.
Koniec końców
Wciąż pracuję nad moim narzędziem pamięci. Powoli się poprawia. Nauczyłem się zadawać inne pytania, testować bardziej rygorystycznie, być bardziej podejrzliwym wobec wyników „wystarczy".
Ale nauczyłem się też szanować przepaść między „kod działa" a „system jest poprawny". Ta przepaść zawsze istniała. Narzędzia AI jej nie zamknęły — tylko ułatwiły jej ignorowanie.
Najlepsi vibe coderzy to nie ci z najlepszymi promptami. To ci, którzy wiedzą, kiedy „vibe" jest zły.
Chcesz eksplorować możliwości hostingu z asystencją AI? Vibe Hosting od NameOcean łączy potężną infrastrukturę z narzędziami potrzebnymi do budowania, wdrażania i skalowania Twojego kolejnego projektu.