DevTalk Trio S03E07 – Taktyczne wzorce projektowe vs. LLM
Jakub Kubryński, Łukasz Szydło i Kuba Pilimon w kolejnym odcinku DevTalk Trio! Dziś rozmawiają o tym, dlaczego faza projektowania to wciąż domena człowieka i jak mądrze używać LLM-ów, żeby nie produkować pięknie wyglądającego, ale bezużytecznego kodu. Niby szeroki temat, który przewija się ciągle i wszędzie, ale z tego odcinka dowiesz się: Czy LLM potrafi samodzielnie […] The post DevTalk Trio S03E07 – Taktyczne wzorce projektowe vs. LLM appeared first on DevTalk.
Dzień dobry. Nazywam się Maciej Anisarowicz i jestem twórcą podcastu DevTalk, którego właśnie słuchasz. W zamierzchłych czasach robiliśmy eksperymentalne nagrania takiego cyklu DevTalk Trio, w którym to w trzy osoby nagraliśmy kilkanaście odcinków, które następnie puszczaliśmy regularnie. I te odcinki spotkały się z bardzo dużym zainteresowaniem i ciepłym przyjęciem. Wtedy występowałem ja wraz ze Sławkiem Sobutką i Andrzejem Krzywdą. A teraz przed Tobą trzeci sezon DevTalk Trio, gdzie znowu eksperymentalnie dajemy wypowiedzieć się innym ekspertom. Przed Tobą ekipa DNA Drogi Nowoczesnego Architekta oraz Architekta Jutra, czyli Kuba Kubryński, Łukasz Szydło i Kuba Pilimon. Enjoy!
O nie, co teraz? Wiecie co, wybraliście taki trochę mało kontrowersyjny temat. Ja wybrałem. W kontrowersyjnych rzeczach mogę wyrzucić Łukasza po prostu ze studia. To będzie wtedy szybsza dyskusja na pewno. To ja na początku jeden off-top propos tego, co ty Kuba mówiłeś, czyli tego takiego kodowania Laiolo. Bo obserwuję teraz pewien eksperyment, czyli mojego 14-letniego syna, który implementuje grę w Javie, nie wiedząc prawie nic na temat programowania. No i powiem wam, że jestem naprawdę bardzo pozytywnie zaskoczony. Jakie są efekty takiej pracy na YOLO. Po prostu pracy na YOLO i to takie YOLO, które trwa już drugi miesiąc.
Nie wiem, rywalizacja o zasoby, tak? I współbieżny dostęp do danych i tam muszą być jakieś blokady przekładowo. Co ludzie robili lata temu przed w ogóle wzorcami tak zwanymi DDD, prawda? Te problemy istniały i jakoś ludzie rozwiązywali. Niektórzy robili to dobrze, niektórzy robili to źle. Dokładnie tak jak dzisiaj. Niektórzy robili to dobrze, niektórzy robili to źle. I teraz, a Ty Kuba mówisz z kolei o pewnym rodzaju... Urzeczywistnieniu tego wzorca w konkretnej stylowie w kodzie, bo tę jednostkę spójności, która broni czegoś tam, mogę zamodelować np. czymś takim, co Evans pokazywał w książce jako obiektowy agregat, a mogę zrobić to funkcyjnie, a mogę zrobić to na bazie danych, a mogę zrobić to procesowo, mogę zrobić to w bardzo różny sposób. Ciągle będzie miało to taką samą skuteczność, jeżeli chodzi o skalowalność i spójność, ale trochę inną stylowę w kodzie i inne konsekwencje. To ty mówiłeś na tym poziomie, a Łukasz chyba...
Jak bardziej przetwarzanie danych, to jeszcze troszeczkę inne. Ale chodzi mi o to, że zawsze mamy jakąś taką skończoną ilość tych elementów. Jeżeli my je potrafimy nazwać, a następnie to, co Kuba mówił, jesteśmy w stanie sobie napisać skille, które każdy z tych klocuszków w jakiejś tam naszej stylówie potrafią być wykonane, to właśnie tutaj mamy jakby tę powtarzalność. Zaczynamy budować sobie ten proces w taki sposób, że Nie muszę za każdym razem myśleć, co mi ten agent tym razem wygeneruje. Wygeneruje mi dokładnie to, co sobie z tych klocuszków poukładam. Jasne. Ale zobaczcie jedną rzecz, że jeżeli chodzi o wzorce projektowe, czy to używamy LLM-ów, czy nie używamy, sama implementacja wzorca jest turbo banalna. Problemem jest to, żeby zauważyć, że w tym miejscu ten wzorzec musisz zrobić, bo każdy głupi wie, jak się implementuje wizitora.
Łatwiejsza niż ta część projektowana za pomocą karteczek. Kuba Ty mówił z kolei, że stosowalność wzorca To jest zabior game changer albo niestosowalność, a nie sama faza implementacyjna, czyli gdzieś tam ten ciężar, że tak powiem, intelektualny w Waszych wypowiedziach był w tym samym miejscu, bym powiedział. Czyli na fazie implementacyjnej. I teraz z mojego doświadczenia Mogę użyć też takiego narzędzia do tego, żeby zadało mi pewnego rodzaju meta pytania. Ja na przykład używam sobie kilku różnych skilli do tego, żeby zobaczyć przykładowo. Nie wiem, masz listę comment, nie? Zablokuj slot, zwolnij slot, wyłącz zasób, zdefiniuj slot. Sztampowy przykład jak już tam dostępność zasobów. Czyli taka klasyczna walka o zasoby.
Łukasz, chciałeś coś powiedzieć? No tak, bo moim zdaniem to jest mało potrzebne. W sensie, że nie do końca się z wami zgodzę. Pod takim kątem, że Co jest wejściem do mojego procesu? W sensie jak ja projektuję? Ja nie zmieniam procesu projektowania. Ja jak będę myślał czy projektował, to ja będę projektował tymi building blockami, bo ja tutaj bym rozróżnił te dwie rzeczy, bo ty Kuba wydaje mi się zmiksowałeś przez chwilę wzorce projektowe z wzorcami taktycznymi. I teraz jeżeli mamy jakąś sesję modelowania, no to jakimi klockami modelujemy? Ja explicit modeluję agregatem, czy właśnie jakimś serwisem aplikacyjnym, czy serwisem domenowym, czy value objectem. To są czasami słowa. To są słowa czasami, które się nawet po prostu pojawiają podczas dyskusji.
Aha, to wydaje mi się, że to jest dobry kandydat na agregat albo na jakieś inne rzeczy. Rzeczywiście też mam skilla klasyfikacyjnego podobnie jak Kuba, tylko że ja mam skilla, który klasyfikuje reguły do wzorców taktycznych. Najczęściej jak ludzie opowiadają, jak są jakieś warsztaty z tymi... Z osobami z biznesu. To oni się posługują najczęściej regułami, tak? Oni nie mówią tymi wzorcami taktycznymi i tak dalej. To jest jakby nasza rola, żeby to wszystko przekształcić. Więc taki skill klasyfikacyjny, tak? Tylko pewnie trochę coś innego następuje klasyfikacja, nie? Ale mówię... No dobra, ale zobaczcie, że wydaje mi się, że trochę w innym kierunku w ogóle idziemy, bo Łukasz mówi, że ty modelujesz w taki sposób i tak dalej. Super, tylko moje pytanie jest po cholerę, ty masz modelować, skoro mamy LLM.
Pokazano wszystkie 7 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Kliknij, aby znaleźć fragmenty, w których pada.
Jakub Kubryński, Łukasz Szydło i Kuba Pilimon w kolejnym odcinku DevTalk Trio! Dziś rozmawiają o tym, dlaczego faza projektowania to wciąż domena człowieka i jak mądrze używać LLM-ów, żeby nie produkować pięknie wyglądającego, ale bezużytecznego kodu. Niby szeroki temat, który przewija się ciągle i wszędzie, ale z tego odcinka dowiesz się: Czy LLM potrafi samodzielnie […]
The post DevTalk Trio S03E07 – Taktyczne wzorce projektowe vs. LLM appeared first on DevTalk.