Wpis z mikrobloga

AI zastąpi programistów xD
Dobra, muszę się wygadać bo właśnie zmarnowałem dzień na testowanie AI i mam już dosyć tego hype'u że "programiści skończeni, AI wszystko ogarnie".

Kontekst: mamy stary monolit, jakieś 400k linii kodu + 200k linii testów (pokrycie ~70%, więc jak na polskie IT całkiem ok). Do tego klient w React, kolejne 50k linii. W środku siedzi jeden piękny problem architektoniczny, który jacyś bootcampowcy w 2015 wprowadzili, bo nie rozumieli podstaw aplikacji serwerowych. I to jest core systemu, gryzie nas do dzisiaj.

Oszacowaliśmy refaktor na minimum 10 dni roboczych, realistycznie pewnie 20-30 + pełna regresja przez QA.
No i pomyśleliśmy - sprawdźmy tego całego AI. Wzięliśmy natywne AI IDE, ten "najlepszy model pod programowanie", cały hype, AGI za rogiem itd. Co się stało?

AI się kompletnie zesrało. Zjadło cały dzienny usage, pozmieniało kilka plików kompletnie nie dotykając root cause problemu. Niby "poprawiło" jedną rzecz, ale aplikacja w sumie przestała działać, bo nie wzięło pod uwagę powiązań w innych miejscach kodu.
I uwierzcie mi - prompta napisaliśmy bardzo szczegółowego. Opisaliśmy cały problem, kroki w których trzeba go naprawić, kontekst architektoniczny, wszystko. Robiliśmy to w 3 osoby żeby nic nie przegapić. Więc zanim ktoś napisze "spróbuj inne prompty bo różne som" - nie, to nie jest kwestia promptu.

Nie rozumiem skąd te historie że AI trzaska taski. Chyba tylko w perfekcyjnych greenfieldach, pierwsze 5 endpointów CRUDa i "wow, magia".

Morał?

Ludzie robią sobie jakieś ulepy na 2-3k linii kodu, które realizują im jakiegoś codziennego prywatnego taska i krzyczą "rewolucja!". Tylko że:

To nigdy nie trafi na produkcję
Nigdy tego nie spieniężycie
Pewnie w 2020 wycena takiego toola to byłoby 12k PLN netto
Pytanie czy byście to kupili? No raczej nie

I drugie pytanie - dzwoniliście kiedyś do software house'u albo znajomego programisty żeby wam napisał taką prywatną apkę? Bo mi się nigdy taki klient indywidualny nie trafił xD
Fajnie że teraz jest AI i każdy może sobie coś sklepać, ale to trochę jak z fotografią - każdy ma iPhone'a z portretem i jest "fotografem", ale jak trzeba zrobić zdjęcia na wesele to nagle dzwonimy do profesjonalisty.
AI do kodu to dokładnie to samo. Fajna zabawka, pomocnik, ale zastąpienie programisty? Jasne, powodzenia z tym 400k linii legacy xD

INB4 "można to przepisać od zera w AI!!!" - powodzenia, nikt już nawet nie jest w stanie zebrać wszystkich zasad biznesowych i edge case'ów, bo nikt ich nie zna. Nawet biznes. Nie ma też gwarancji, że AI napisze to dużo lepiej przy tak wielkim kontekście.

TL;DR: Puściliśmy AI na realny problem w legacy monolicie. Zjadło cały usage, zepsuło apkę, nie dotknęło root cause. Fajna zabawka do prywatnych projektów, ale do skomplikowanych tasków się nie nadaje. Programiści mogą spać spokojnie - póki co.

#programowanie #programista15k #programista25k #pracait
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Whiskeyjack29:
zgadzam sie, że głowny hype pochodzi z vibecodingu landpejdzów i prostych apek, albo boilerplate ktore sa skrojone pod ai i małe
ale z drugiej strony głupio tak spisywać na straty narzędzie które odpaliliście pierwszy raz i nie umiecie go jeszcze obsługiwać
nie wiadomo jaki model
nie wiadomo jak zarządzaliście kontekstem, to jest głowny problem z którym maja wszyscy problem i dlatego co drugi dzień powstaje nowa biblioteka do zarzadzania
  • Odpowiedz
@Whiskeyjack29: mnie ostatnio rozwaliło jak napisał mi 5 tysięcy linijek testów, na koniec podsumował, że wszystko pięknie cover jest, nawalił tych emotek z zielonymi znaczkami xd a okazało sie ze nawet jeden test sie nie odpala bo dependency nie ogarnał
3 razy od nowa zaczynałem, 5m tokenów zeżarło
  • Odpowiedz
  • 0
@grand_khavatari: Kontekst to problem ale jak zadanie jest przekrojowe i dotyka całej aplikacji to co lepszego można zrobić? Można jeszcze iść bardzo małymi krokami (to LLM zwykle robią bardzo dobrze), ale szybciej to sam napiszę niż robiąc to w pętli szegółowy prompt => 2 min czekania => 3 linijki zmienione w jednym pliku.
  • Odpowiedz
  • 2
@Whiskeyjack29:
To znaczy, że nie umiesz korzystać z AI. Workflow AI claude code'a musi być odpowiedni, a nie losowe prompcenie.
Odpowiednia konfiguracja AI pisze perfekcyjny, bezbłędny kod.
  • Odpowiedz
  • 0
@GooPae: "Perfekcyjny bezbłędny kod" xD No to oświeć mnie mistrzu, czego nie wiem? Plik .md z kontekstem i architekturą - mam. Plan kroków rozpisany - jest. Prompt pisało 3 seniorów - tak. Rozbicie na dużo mniejsze taski - próbowaliśmy. Multiple agents z podziałem odpowiedzialności - było. Iteracyjne podejście z review po każdym uzysku - robiliśmy. RAG z naszą wew. dokumentacją - podpięty. Co jeszcze powinienem zrobić, kadzidełko zapalić i mantrę
Whiskeyjack29 - @GooPae: "Perfekcyjny bezbłędny kod" xD No to oświeć mnie mistrzu, cz...

źródło: 8e702fd7463261eddc2e2945035b4d9ff7bc6b0a5620afd528597d890f9bbb5d

Pobierz
  • Odpowiedz
  • 4
@Whiskeyjack29: Żeś wpierdzielił cały projekt z promptem "e pozmieniaj mi" i wielce zdziwony. Po drugie samo to, że macie monolit przy 400k linijkach napisany przez stażystów mówi wszystko. Masz taski z jirki w tym swoim kołchozie? To zrób jak należy i zobaczysz, że AI będzie leciało jak maszyna i dowoziło ficzer za ficzerem, bezbłędnie 100% test coverage z poprawną modularną architekturą, wiem bo sam tak robie, z rok już samemu
  • Odpowiedz
  • 0
@Whiskeyjack29: pełna zgoda. AI przegrywa na refaktoringu czegokolwiek większego, w szczególności że w czymkolwiek, co żyło już 5 lat są owoce radosnej twórczości Hindusów, bootcampowiczów, nawiedzonych architektów, oraz zwyczajnych kretynów. Są też rzeczy, które wiszą nieużywane i psują kontekst. Widzę, że próbowałeś już wiele technik, więc nie jesteś nowicjuszem.

AI zastąpi programistów xD


Ale zauważ, że jakbyś dał takie zadanie losowemu Hindusowi czy juniorowi, to też by się zesrał. Tzn
  • Odpowiedz
@Whiskeyjack29: Raz że z AI trzeba umieć korzystać i wiedzieć jak pisać prompty, bo nie jest to tak że wygeneruje całą aplikację a tylko jej szkielet lub pewne części. Dwa że AI tylko wspomaga a nie generuje całe aplikacje, chyba że proste z niewielką ilością linii kodu. Trzy to generuje tylko takie kody na których się nauczyła i są na dzień dzisiejszy jeszcze zbyt sztuczne i szablonowe. Ale gdyby nie
  • Odpowiedz
@Whiskeyjack29: Pierwszy prompt który wyślesz do AI nie powinien nic zmieniać w kodzie. Tylko piszesz zeby stworzył plan zmian. Czekasz... potem zapoznajesz sie z planem i robisz dodatkowe prompty, co w tym planie trzeba zmienić. Im większy problem tym wiecej czasu tutaj spędzasz. Nawet cały dzień.
Do opracowania tych planów sa specjalne gotowe rozbudowane prompty które powinny byc na stałe załączone w repo w których sa informacje na temat tego projektu
  • Odpowiedz
@Whiskeyjack29: kolejny co nie umie używać promptów i p------i że nie działa xD dziwne bo jakoś w projekcie 1 000 000 kodu AI mi generuje rozwiązania na poziomie dobrego MIDa 1000-2000 jakościowego kodu dziennie

Ale ja nie w--------m całego kontekstu do API tylko te 10-20 wymaganych klas, jeśli jako programista obce jest ci pojęcie 'divide && conquer' no to nie wina AI tylko skill issue

Ty sam musisz rozbić wszystko
  • Odpowiedz
To było wiadome od dawna, że AI to jedynie narzędzie. Tak samo jak śrubkę odkręcisz palcem, ale wygodniej śrubokrętem. Tak samo mozna użyć modelu do pisania kodu. Ale sam śrubokręt nie zbuduje stołu. I nie ma co na ten temat dyskutować, bo jak ktoś twierdzi inaczej to najzwyczajniej w świecie nigdy nie pracował przy prawdziwym kodzie produkcyjnym a jedyne co zostało to trolowanie na wykopie XD
  • Odpowiedz
@Whiskeyjack29: AI do refactoringu legacy to duże XD. To jest dobre do zadań typu "napisz mi unit testy pod tą klasę", albo dodaj mi tu jakiś mechanizm retry i tutaj faktycznie nawet pomaga.
  • Odpowiedz