Twórcy oprogramowania swoimi doświadczeniami w zakresie zmiany w podejściu do pisania kodu za pomocą AI zaczęli się dzielić jeszcze w ubiegłym roku. Na początku 2025 nową praktykę zaczęto określać terminem vibe coding.
Jest to nowatorski sposób rozwijania aplikacji przy użyciu poleceń języka naturalnego, a nie ręcznego pisania kodu. Programiści, a w przypadku prostszego oprogramowania również twórcy bez wykształcenia technicznego, komunikują się z agentami AI za pomocą tekstu albo głosowo, opisując im wymagane funkcje projektowanej aplikacji. Następnie narzędzia oparte na sztucznej inteligencji interpretują tę charakterystykę i tworzą kod, który taką funkcjonalność implementuje. Agent AI dodatkowo może testować i debugować aplikację.
W praktyce vibe coding nie stanowi więc wyłącznie rozszerzenia narzędzi automatycznego uzupełniania, jakim stał się GitHub Copilot, ale całkiem redefiniuje rolę programisty. Nie jest to już osoba, która pisze kod wiersz po wierszu, ale ktoś, kto jedynie nakierowuje, a w zasadzie inspiruje i ewentualnie poprawia sztuczną inteligencję. Ta z kolei wykonuje większość ciężkiej pracy. AI bierze na siebie na przykład żmudne zadania, takie jak konfiguracja baz danych, tworzenie interfejsów użytkownika, łączenie interfejsów z API i debugowanie błędów. Programista wyłącznie nadzoruje ich wykonanie z poziomu konwersacyjnego interfejsu, prowadząc dialog z AI.
Potencjał i wyzwania
Takie podejście znacząco skraca czas między powstaniem pomysłu, a jego realizacją. Zyskują na tym szczególnie start-upy, które polegając na kodzie generowanym przez sztuczną inteligencję, są w stanie wdrażać swoje koncepcje szybciej i tworzyć bardziej zaawansowane produkty w oparciu na mniej licznych zespołów programistów. Z drugiej strony vibe coding to również liczne wyzwania.
Wraz ze wzrostem ilości automatycznie generowanego kodu pojawia się wiele wątpliwości, które dotyczą na przykład jakości oprogramowania, łatwości jego obsługi, możliwości aktualizacji i bezpieczeństwa. Choć bowiem AI może tworzyć kod, który jest poprawny składniowo, nie zawsze jest w stanie uwzględnić wymagania w zakresie jego długoterminowego utrzymania, zastosować się do najlepszych praktyk, wziąć pod uwagę nietypowe i skrajne przypadki użycia i różne problemy, na przykład z danymi wejściowymi wykraczającymi poza normalny zakres, brakującymi plikami, przerwaniem połączenia sieciowego. Kod rozwijany przez sztuczną inteligencję nie jest też często prawidłowo ustrukturyzowany. To utrudnia jego zrozumienie i dalszą optymalizację. Z tego powodu jest ponadto często wykluczany z przeglądów kodu i kontroli bezpieczeństwa. To z kolei prowadzi do powstania niezauważonych luk w zabezpieczeniach.
Dlatego jak na razie w przypadku rzeczywistych aplikacji kod tworzony przez sztuczną inteligencję stanowi zazwyczaj jedynie bazę do dalszych prac. Można powiedzieć „tylko” albo „aż”, ponieważ dzięki takiemu punktowi wyjścia przed programistami otwierają się szerokie możliwości.
Na przykład w zakresie szybkiego prototypowania. Pozwala ono na realizację pomysłów w postaci funkcjonalnego prototypu, który można wykorzystać, by sprawdzić, czy rozwiązanie przyjmie się na rynku. Tym samym decyzja o tym, czy warto inwestować w jego dalszy rozwój jest podejmowana bardziej świadomie. Łatwej jest też wdrożyć podejście „problem first”, skupiając się na rozwiązaniu danego problemu od strony koncepcyjnej, a nie na jego technologicznych aspektach. Tanie, bo nieangażujące dużych zespołów projektowych, eksperymentowanie z AI pozwala ponadto oszczędzić drogie zasoby ludzkie, angażowane wyłącznie w już sprawdzone koncepcje.
Podsumowanie
Platformy udostępniające narzędzia do vibe codingu stwarzają programistom hybrydowe środowisko pracy, umożliwiając kodowanie sterowane głosem, wizualne i tekstowe. Zwiększa to elastyczność i intuicyjność, a finalnie także produktywność programowania. Jednocześnie zmienia to powszechne postrzeganie czynności kodowania, dotychczas zarezerwowanej dla wysokiej klasy specjalistów, jako coraz bardziej dostępnej. Przewiduje się, że vibe coding ma ogromny potencjał w zakresie obniżenia barier wejścia dla nowych programistów, jak również przepływów pracy doświadczonych programistów.
Proces projektowania oprogramowania może stać się wkrótce szybszy i bardziej eksploracyjny. Chociaż jednak możliwości AI rosną – sztuczna inteligencja osiąga coraz lepsze wyniki w realizacji określonych zadań, jak interpretowanie języka naturalnego, generowanie kodu funkcjonalnego i reagowanie na iteracyjne informacje zwrotne – z pewnością jeszcze przez jakiś czas będzie musiała polegać na ludzkim wkładzie, kontekście i osądzie, aby uzyskać zakładany cel. Nie da się jednak ukryć, że vibe coding jest czymś więcej niż kolejnym trendem w rozwoju oprogramowania. Jest to raczej zapowiedź zbliżającej się transformacji sposobu, w jaki już być może niedługo będziemy tworzyć wszystkie technologie, nie tylko oprogramowanie.
Monika Jaworowska