DevTalk Trio S03E01 – Czy AI zastąpi programistów?
Wracamy z nowym sezonem DevTalk Trio! Tym razem Maciej Aniserowicz oddaje stery ekspertom z ekipy DNA i Architekta Jutra. Kuba Kubryński, Łukasz Szydło i Kuba Pilimon biorą na warsztat temat, który wciąż rozpala emocje: Czy LLM-y zastąpią programistów? Z tego odcinka dowiesz się m.in.: Czy AI mogłaby generować binarkę; Czy 20 tysięcy linii kodu w […] The post DevTalk Trio S03E01 – Czy AI zastąpi programistów? appeared first on DevTalk.
Przed Tobą DevTalk. Programistyczny głos w Twoim domu. Cześć chłopaki, witamy tutaj Was też wszystkich naszych słuchaczy. Z racji Architekta Jutra postanowiliśmy nagrać cykl podcastów, żeby trochę przybliżyć temat użycia LLM-ów w wytwarzaniu oprogramowania. No i zaczynamy dzisiaj pierwszym odcinkiem na jakże nietypowy i mało popularny temat, czyli czy AI zastąpi programistów. Ciekawy jestem waszej opinii w tym temacie. Łukasz. Ty masz zawsze dużo ciekawych nazwisk, książek, które przeczytałeś.
Przecież to co tak naprawdę od lat my też robimy mówiąc o DDD, mówiąc o event stormingu, to jest właśnie po to, żeby deweloper Przejął też jakby częściowo rolę analityka, architekta, projektanta i tak dalej. Więc wydaje mi się, że teraz jakby to co się dzieje z LLM-em to jest krok w stronę tego, żeby jakby jeszcze bardziej przesuwać programistę czy dewelopera, czy jak teraz tą rolę nazwiemy. Dzień dobry, witam wszystkich.
Natomiast odnośnie tego, co mówisz z binarkami, ja na razie tego nie widzę, bo samo pisanie kodu i czy to jest binarka, czy nie, to oszczędność jest zerowa tak naprawdę. Proces kompilacji Javy zajmuje parę minut, potem mamy just-in-time optimization itd., więc zastanówmy się, co tracimy, jeżeli LLM wygenerowałby bytecode. Koniec z historią zmian. Nie wiem, co się zmieniło. Wdrażam na produkcję coś, gdzie nie wiem, co to jest. Nie jestem w stanie przeanalizować tego, czemu na przykład coś się wydarzyło. Pytanie, jak z logami itd. Programowanie to jest dużo więcej niż kod.
Ja bym nie chciał, żeby mój LLM generował binarki, bo nie jestem w stanie ich zreviewować i nie jestem w stanie zarządzać kontrolą wersji tego. A w kontekście LLM-ów, i to mówię po sobie, jak dostajecie PR-a 20 tysięcy linii kodu, po pierwsze, nawet jak jest to Java czy cokolwiek, tego się nie da zreviewować. Nie ma osoby na świecie, która usiądzie i przejrzy 20 tysięcy linii kodu. Nie ma bata. Nie wierzę, że ktoś to zrobi. A jak potwierdzi, że zrobi, to kłamie. Więc wyobraź sobie teraz, że dostałeś binarkę taką wielką. No nie, nawet jak masz jara, to i tak sobie zaglądasz do kodu źródłowego, pobierasz źródła, żeby zobaczyć, co tam się dzieje. No właśnie, ale pytanie, Kuba, czy to nie jest właśnie takie nasze stare myślenie?
To jest mega fajne, tylko że to było tak naprawdę tylko podstawa do zbudowania skill setu, skill setu tzw. Cloud Ingeniera. I teraz jeśli chodzi o programistów, to jakby na pewno jest tak, że wydajność Pojedynczego dewelopera bardzo wzrasta przy pomocy LLM. Moim zdaniem to 5-10 razy to nie jest jakby bullshit. Jeżeli ja jestem w stanie zbudować duży moduł produktu, a ja przypominam przestałem kodować parę lat temu, bo już nie byłem w stanie nadążyć, teraz do tego wróciłem, bo może nie teraz gadając z wami. Ale generalnie pracując regularnie, jestem w stanie na drugim ekranie sobie kodować. Jeżeli ja jestem w stanie dopisać duży fragment systemu w 3 dni i stworzyć właśnie te 20, 15, 25 tysięcy linii, może nie kodu, bo tam też jest dużo markdownów wtedy i tak dalej.
Cały system do notyfikacji oparty o Rabbit'a, z cache'em w Redisie, z in-app, z notyfikacjami na Slack'a, Teams'a, mail'owe. Ok, resztę rzeczy dokładamy teraz. To jest niesamowity wzrost wydajności. Teraz moim zdaniem przede wszystkim to co jest ważne i super Łukasz, że poruszyłeś ten temat sysopsów. To jest to, że jeżeli deweloperzy, którzy dzisiaj pracują, nie wykorzystują LLM-a w swojej pracy, to stają się tak jak sysopsi, których firma zaczęła korzystać z clouda, a oni dalej się interesują tym, w jakim ekranie kabel trzeba mieć do tego. To jest totalnie bezsensowna wiedza. Więc moim zdaniem jakby... Aha, i teraz jeszcze nie powiedziałem.
Czemu jakby jestem w stanie zbudować duży fragment systemu w 3 dni? Ja ci powiem czemu to pytanie jest z dupy postawione. No właśnie tak i teraz jakby chcę na to odpowiedzieć. Co się zmieniło? Przestałem kodować z LLM, a zacząłem wykorzystywać LLM w całym zakresie. Czyli zaczynam od researchu, gdzie tak naprawdę elementem tego researchu jest to, że LLM sobie czyta dokumentację wszystkich dostępnych produktów i kod źródłowy produktów do robienia notyfikacji, który jest dostępny na githubie jak np. Nowu itd. Z tego buduję ogromną bazę wiedzy, eksperckości, tego co jest ważne, co trzeba uwzględnić i tak dalej. Potem robi ze mną brainstorming, pyta potrzebujesz tego czy nie? Nie. Super, to nam uprości. A tego potrzebujesz? Tak, tego potrzebuję. A to jak robimy?
Tak, tak czy tak? No tak, bo mamy już tutaj wszystko zapięte, mamy rabita, mamy ten dzień w tą stronę. Ok, dobra. Jakby potem tworzę dopiero specyfikacje też z LLM, potem tworzę kod, potem tworzę... Po drodze strategii migracji, generuje mi kurlet, coś co wyciąga mi szablony z innego narzędzia, przenosi je tutaj i tak dalej. To była ta różnica. W związku z czym wydaje mi się, że jest na pewno za wcześnie, a moim zdaniem ze względu na pewne cechy ludzi nie nastąpi to, że AI zastąpi deweloperów, ale jak już było wielokrotnie powiedziane, deweloperzy używający LLM zastąpią tych, którzy nie używają. I to jest, wiecie, ciekawe. Jeszcze tylko jedną rzecz powiem, już się przymykam, odnośnie tego, czy AI zastąpi deweloperów.
Być może jest to jakieś lokalne minimum, optimum, maximum, nie wiem. Natomiast my też trochę pracujemy w bańce i widzimy różne rzeczy. Ja chciałem powiedzieć jedną rzecz jeszcze, że To co powiedziałeś Kuba, że programista, który używa LLM wyprze tego, który nie używa. Ja bym dodał, że ja do dzisiaj jeszcze osobiście wolę zajebistego inżyniera bez LLM niż słabego z LLM. Jesteśmy na takim etapie moim zdaniem. Ponieważ widzę efekty prac jednej takiej osoby i drugiej takiej osoby i totalnie wybieram tę pierwszą. Moim zdaniem AI jest takim wzmacniaczem. Jeżeli jesteś słaby, to jesteś jeszcze szybciej słaby, a jak jesteś dobry, to jesteś dużo szybciej dobry. Na dzisiaj moim zdaniem wolę gościa, którzy panią, którzy nie używają tego narzędzia, ale są po prostu nieźli niż na odwrót.
Ja już jestem na takim etapie, gdzie mam wątpliwości, bo dobrze wdrożony AI w systemie. Ja np. zdarza mi się robić frontend. Ja nie mam pojęcia o frontendzie. Natomiast mamy na tyle dobre, ogólnie mam na tyle dobre uczucie back-endu tego, co tam się powinno dziać i mamy na tyle dobrze opisane standardy. Kodowanie we frontendzie, tego czego w React używać, czego nie używać, czego w TypeScript używać, czego nie używać, o czym trzeba pamiętać. Wczoraj dodałem nawet standard, że w przypadku tam inter, loco czy tam transo, loco czy coś takiego nie wolno używać prefiksów, tylko trzeba używać te coś tam, coś tam. W życiu bym o tym nie wiedział. Dostałem komentarz w pull request. I poprawiliśmy standardy, więc jakby oczywiście jak jesteś głupi to ci nic nie pomoże, ale generalnie jeżeli jakby chcesz się rozwijać to LLM daje potężne możliwości, bo jesteś w stanie wymyślić z LLM rzeczy, których nawet dobry inżynier...
Nie wymyśli, więc moim zdaniem jakby ok, bardzo możliwe, że jesteśmy w bańce, ale moim zdaniem ta bańka jakby się dość szybko rozprzestrzeni z racji tego, że to jest tak jak z tymi końmi i samochodami. Mogły się używać koni, ale jednak samochody weszły szeroko. Wydaje mi się, że LLM do programowania też tak wejdzie. Masz te standardy reaktowe. Już oddaję głos Łukaszowi. Masz te standardy reaktowe, bo ktoś je spisał. A kto je spisał? Frontendowca. Kto ci ich znalazł? Ja. Dziękuję. Chciałem tylko powiedzieć, że standardy spisał LLM na podstawie przeglądu wszystkich komentarzy z pull requestów z ostatnich kilku lat. Ale tak. Anna robi robotę. Dziękuję. Łukasz, podsumowanie. Dobra, to jasne podsumowanie, bo wydaje mi się, że zrobiliśmy dwa tematy. To jeden temat, wrócę do tych sysopców.
Podsumowując, bo już musimy kończyć, ciężko jest, tak jak Pilo mówił, przewidywać przyszłość, bo gdybyśmy umieli przewidywać przyszłość, to byśmy grali na giełdzie i byśmy nie musieli nic robić. Natomiast jakby tak, to co Łukasz mówisz, to jakby z silnikiem parowym tak samo było z wprowadzeniem bankomatów w Stanach, gdzie bali się jakby tam bankierzy, że przestaną być potrzebni, a ich liczba bardzo wzrosła, bo banki stały się bardzo, w sensie ogólnie przeniesienie gotówki do banków stało się bardzo potrzebne. Więc tak, podsumowując, jako deweloperzy musimy się uczyć LLM-ów, a to pozwala nam tak naprawdę skupić się na sensownej i takiej trudnej części naszej roboty, a te rzeczy powtarzalne oddać po prostu automatom.
Pokazano wszystkie 12 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Kliknij, aby znaleźć fragmenty, w których pada.
Wracamy z nowym sezonem DevTalk Trio! Tym razem Maciej Aniserowicz oddaje stery ekspertom z ekipy DNA i Architekta Jutra. Kuba Kubryński, Łukasz Szydło i Kuba Pilimon biorą na warsztat temat, który wciąż rozpala emocje: Czy LLM-y zastąpią programistów? Z tego odcinka dowiesz się m.in.: Czy AI mogłaby generować binarkę; Czy 20 tysięcy linii kodu w […]
The post DevTalk Trio S03E01 – Czy AI zastąpi programistów? appeared first on DevTalk.