Cały segment open-source musi się teraz z tym mierzyć. To jest faktycznie porażka. Vibe codding to najgorsze co spotkało programowanie od bardzo, bardzo dawna....
Jeżeli ktoś to robi na własny użytek, to niech sobie robi, w końcu to on będzie jedynym beneficjentem (ofiarą?) własnego kodu. Gorzej, gdy taki badziew zaczyna zaśmiecać "przestrzeń publiczną".
Wystarczy dobrze przetestowac i rozumiec output.
nawet kontekst do ciebie sie nie zgadza :D
TL;DR: Korzystanie z AI jest w porządku do momentu kiedy jest ona dla Ciebie tylko narzędziem wspomagającym pisanie a nie pisze za Ciebie.
Niestety, ale w pracy przyszło mi poprawiać pewne rzeczy po vibe coderze... I mogę powiedzieć jedno, tego nie da się poprawić. Owszem zgadzam się z tym że AI można wykorzystać przy programowaniu, sam z tego korzystam, np. aby znaleźć funkcję która mi jest potrzebna, lub zamiast szukać setek bibliotek proszę o ich znalezienie, a do tego wykorzystuję do znajdowania takich rzeczy jak zagubione średniki, lub kiedy potrzebujemy z jakiś przyczyn dokonywać powtarzalnych modyfikacji w kodzie, ale niestety pisanie całego kodu od zera tylko w oparciu o AI to jest najgorsze co może być.
Jednym z przykładów zbytnie rozdrabnianie. I na przykładzie tego co ja miałem do poprawy, Przycisk miał przypisane że kliknięciu ma zmienić swój stan oraz napis na sobie, a następnie stać się niedostępnym. Normalnie jest to pięć linijek kodu w samym przycisku. Ale nasz vibe coder, zamienił to w trzy osobne funkcje, po co? Nie są one powoływane w kodzie nigdzie indziej, i mają działać tylko z tym przyciskiem.
Drugi przykład:
Z uwagi na to że obwarowania projektowe zabraniają nam korzystania z pewnych bibliotek, część funkcji musimy pisać sami od zera. I teraz mamy matematyczny wzór na czas pracy maszyny. Wystarczy jedna funkcja i gotowe. Ale zamiast tego mamy powołane biblioteki których nie możemy używać (nie pytajcie mnie dlaczego, po prostu nie wolno i już) i tylko po to aby zamienić matematyczny wzór w jakiegoś potworka, który o dziwo wypluwa dobry wynik ale działa to o wiele za długo, (w naszym przypadku czas tego obliczenia musi być minimalny z uwagi na to że od tego czasu są zależne inne dalsze elementy).
Niestety nie wiem na jakim AI pracuje nasz kolega, gdyż po innej akcji z mailami, już z nami nie pracuje. A reszta z osób z którymi pracuję korzysta z AI w sposób podobny do mnie.
W innym wątku pisałem właśnie o tym. AI jest niezłe jako wsparcie, ale tylko dla doświadczonych programistów. Jak ktoś nie ma wiedzy, albo ma podstawową to skąd ma wiedzieć, że kod, który Claude mu wypluje jest dobry?
Jeśli celem jest uwalenie open-source przez ludzi bez umiejętności, wiedzy i leniwych na tyle, że nie chcą nauczyć się nowych umiejętności to tak, najlepsze...
Mądre narzędzia są dla modrych ludzi. AI to narzędzie, które samo w sobie nie jest złe. To ludzie, którzy bezmyślnie z niego korzystają stanowią zagrożenie.
Swoją drogą szukanie pomocy na forach od losowych użytkowników jest tak samo skuteczne jak losowe odpowiedzi AI... Na jedno wychodzi.
Czyli kolejny, bezwartościowy artykuł o tym, jak to AI rujnuje świat. W porządku :)
Sytuacja się trochę powtarza jak kiedyś było z programami do stron www. Był taki okres że prawie każdy chciał mieć swoje miejsce w sieci, a że jeszcze nie było gotowych darmowych produktów do zakładania blogów to popularność zdobywały programy graficzne do tworzenia stron. Czyli że układało się wszystko jak w paincie, wstawiało teksty czy linki i to fakt, działało. Nawet i jakoś wyglądało jak ktoś się postarał, ale co się działo w kodzie i jaki był jego nadmiar to już głowa mała. No i często było to przyczyną złego działania strony, teraz podobnie będzie z programowaniem AI przez amatorów.
I jak powyżej zostało zauważone, gdy ktoś robi tylko coś dla siebie to nikomu nie zaszkodzi. Gorzej jeśli ktoś bierze za coś odpowiedzialność i udaje programistę którym nie jest.
AI jako narzędzie dla programistów jest w porządku. Jeżeli znasz swoją domenę, język i frameworki to posiłkowanie się jakimś agnetem jest ok - wyłapiesz błędy i bzdury na początku (a jest tego sporo), poprawisz i masz gotową funkcję. Ale jest to obwarowane kilkoma założeniami:
- programować w danym języku już musisz umieć,
- musisz znać domenę i frameworki,
- AI kompletnie nie nadaje się do generowania większych projektów, gdzie jest trochę zależności,
- AI nie wygeneruje ci rozwiązania dla mało popularnych domen czy frameworków, bo nie miało się na czym uczyć,
- nigdy nie możesz puścić kodu wygenerowanego wyłącznie przez AI na produkcję.
Odnośnie tego ostatniego, testowałem jeszcze zeszłym roku agenta, któremu kazałem napisać skrypt SQL który na podstawie danych warunków miał albo zrobić update na tabeli docelowej, albo insert, wykorzystując tabelę źródłową. Klasyczny merge. Wiecie jak ten geniusz to rozwiązał? Chciał zrzucić wszystkie z tabeli docelowej dane do tabeli tymczasowej, usunąć tabelę docelową (tak, drop tabeli zamiast usunięcia danych), dodać ją z powrotem i skopiować dane z tabeli tymczasowej. I najlepsze - nazwy tabeli temp się w kodzie nie zgadzały, agent nawet nie zapytał czy użytkownik ma odpowiednie uprawnienia do tabel, i na "nowej" tabeli nie wszędzie zgadzały się typy danych :) Miłego przywracania backupu, gdyby to odpalił ktoś kto o bazach danych i SQL nie ma pojęcia, ale jest za to "vibe programistom" :) AI nigdy programistów nie zastąpi, albo inaczej - tak jak z backupami, do pierwszego fuckupu programiści będą zbędni. Później będzie "ratuj" :)
Co Ty tam wiesz? AI zastąpi wszystkich, nawet chirurgów, jak ostatnio stwierdził jakiś oświecony, chyba z MS.