Wpis użytkownika DexterFromLab w Hydepark
DexterFromLabGruba ryba
25piorunówKluczowe wnioski z mojej agenturalnej pracy z AI, którymi chce się podzielić.
Na początek, ostatnio wszedł nowy Opus 4.7, co zaóważyłem -> potrafi ciągnąć długie wątki zadaniowe, nie rozprasza się. Jest bardzo dokładny i wielokrotnie waliduje i porpawia sam siebie. Co ciekawe to jest out of box -> po prostu go uruchamiam i bez żadnych reguł on po prostu tak działa. Oczywiście dodatkowe rules, zawsze spoko.
I teraz uwaga, każdy model różni się od poprzednich. Różnice są znaczące. Jedne modele będą podejmowały inne decyzje ale każdy z nich dostarczy zupełnie inny output. Co za tym idzie nigdy nie wiemy jak nowy model poradzi sobie z danym zadaniem i nigdy nie będziemy mieli 100% pewności czy wykona zadanie czy nie.
Ich zachowanie jest w pełni niedeterministyczne, przypomina brainstorming w działaniu. ALe narzucenie jażma determinizmu, zdecydowanie poprawia wyniki pracy. Po zamknięciu schematu w workflow, wymuszeniu semi-deterministycznego podejścia do zagandienia znacząco poprawia wyniki pracy. Po takim zabiegu zadania wykonywane przez system agenturalny są dużo bardziej powtarzalne, a wyniki bardziej spójne. To jest props.
Są problemy -> największym problemem we współpracy z agentami(akurat bardzo podobnie jak z prawdziwymi ludźmi) jest ustalenie zakresu wymagań i potrzeb. Często jest tak że te 3 czynniki -> to czego oczekuje operator systemu AI, to co agent wykona, i to co rzeczywiście jest potrzebne i wystarczające mocno się rozjeżdża. ALe takie jest rzycie(doceńcie błędy ortograficzne, dzisiaj to oznaka autentycności, róbcie błedy, lpieje się to czyta niż slopy AI xD)
I kolejny problem to problem walidacji. Przy pierwszym podejściu, modele agenturalne raczej domyślają się że coś działa niż faktycznie to walidują. Owszem, widzę, zmienia się to w mocniejszych modelach. Stopniowo są one coraz bardziej srkupulatne w walidacji i sprawdzaniu wyników swojej pracy, ale ten wątek jest w powijakach. Często dostaniemy w wyniku piękną i spójna architektórę, ale w naszej aplikacji zabraknie przycisku ACCEPT na końcu i okno się nie zamknie.
Rola architekta AI na dziś to:
* Ustalanie wymagań i potrzeb
* Ustalanie workflow pracy dla agenta
* Dobór skills oraz rules do pracy nad projektem
* Ewentualny wybór technologii
* Wysoka świadomość systemowa(Warto w początkowych wymaganiach umieć określić zestaw narzędzi, infrastruktuwy czy ogólnego podejścia, i tutaj jest moment w którym większość Juniorów czy nawet midów odpada, nie wiedzą co można zrobić i nawet nie mają pojęcia czy można to zrobić, a to wymaga lat doświadczenia, może dekad...)
* Korekcja błędnych kieruków pracy AI - warto patrzeć na logi co robi żeby go klepnąć w kark i kazać wrócić na dobre tory
* Najważniejsze - finalne testowanie i sprawdzenie wyników pracy, żaden AI tego nie zrobi
* Jeśli projekt jest złożony to warto wymusić techniki takie jak TDD, Solid, Struktura projektu, Architektura, Modularność - to załatwiamy właśnie rules i skilles ale trzeba wiedzieć jak to ustawić
* Dokumentacja techniczna! AI sam tego nie zrobi - trzeba mu kazać
I jeszcze pare innych rzeczy ale już nie chce mi się o tym pisać. Generalnie główny wniosek jest taki że jedna osoba dzisiaj może robić za zespół. Aplikacja dobrze prowadzona przez operatora systemu agenturalnego będzie działać dobrze, ale nie może to być vibe coding, to musi byc przłożenie inżynierskiej pracy na system AI -> one tego nie potrafią bo to nie jest coś co jest opisane w książece, nie ma o tym wiedzy ogólnie, to się zdobywa krwią i potem w projektach i to są dziesiątki tysięcy przepracowanych godzin i przebyte załamania nerowowe(miałem to wszystko).
Napisałem cały tekst z palaca i nawet nie poprawiam błędów -> dla autentyczności :grinning: doceńcie :D
Komentarze (22)
@DexterFromLab wszystko zuper brzmi, ale jedno pytanie nadal mi się tli - co za pomocą tego zbudowałeś? Mogę poklikać, zobaczyć? Bo wszyscy maja super agentic flow, a jak przychodzi co do czego to potrafią wygenerować todo list co średnio działa.
A pomysł z zostawianiem literówek fantastyczny.
@wombatDaiquiri ja bym raczej szedł w stronę żeby Ci ludzie dobrze korzystali z AI, najlepiej do automatyzacji swojej pracy. Nie istnieje jeden wypracowany kanon pracy. AI może zastąpić aplikacje typu CRUD - jak najbardziej. W takim przypadku może ich zastąpić. A co z systemami które posiadają już rozbudowana i zaniedbaną architektóre i jeszcze do tego opieszałe i procedury których nikt nie chce ruszać? No AI sobie z tym nie poradzi bo to jest innego rodzaju problem którego żaden system AI sam nie załatwi. Ale poziom radzenia sobie z tego typu zadaniami stopniowo zacznie się poprawiać. Systemy agenturalne to jest coś co tak na prawdę dopiero wchodzi... Tak samo było z pisaniem kodu, i sterowaniem systemami przez CLI... Na początku szło średnio a z czasem lepiej. Dzisiaj Claude ustawi Ci każda architektóre i kod na poziomie małej aplikacji napisze bezbłędnie. A rok temu pisał kod na poziomie klasy, i to już samo w sobie było niesamowite.
@wombatDaiquiri już w zasadzie kodu nie pisze wcale. Jeśli komentarze są po prostu to znaczy że agent go tak utworzył. Nie skankwałem kodu pod kontem utrzymania śpujnej konwencji. Sam przeczytałem może 10% kodu, reszty nawet nie widziałem. Moje główne zadanie to tworzenie wymagań, dodawanie funkcjonalności i kierowanie kierunkiem rozwoju aplikacji oraz walidacja. Kiedy znajdę problem to każe mu to pokryć scenariuszem e2e. AI ma testy które wykonywane automatyczniez wyzwala akcje w interfejsie i robi screeny. Warunkiem końcowym uznania że coś działa jest automatyczne przejście po drzewie decyzyjnym i screenshot który AI sam ocenia. Co powoduje że iteracyjnie poprawia aż uzna sam że dowód braku regresji lub funkcjonalności jest wystarczający. W przeciwnym wypadku po prostu stworzy kod, który pewnie nie zadziała dobrze bo uzna że od strony source code wygląda dobrze. W jego ocenie bardzo często jest tak że jeśli spodziewa się że kod działa to nie waliduje dalej jego działania. AI musi mieć wymuszoną w wymaganiach możliwość sterowania aplikacją za pomocą wywoływania przycisków z UI, tworzenie drzewa decyzyjnego i oceny działania programu z poziomu wizualizacyjnego. To też powoduje błędy ale znacznie mniej, i naprawianie kolejnych problemów polega na tworzeniu kolejnego scenariusza E2E co zabezpiecza kod przed regresjami.
@DexterFromLab + jak dużo piszesz ręcznie a jak dużo AI pisze bterminal? Widzę na przykład ze app.py to jest 1100 linii głównie ui które AI generuje fantastycznie, a models.py ma cześć komentarzy po polsku.
@DexterFromLab agentic loops to nie jest dla mnie nowina. Uwierz mi na słowo (😉) ze też widziałem mądrych ludzi którzy zapewniali poważnych CEO o tym ze AI już za dwa tygodnie zastąpi cały zespół programistów. No i tak za dwa tygodnie za dwa tygodnie mija rok xD
@wombatDaiquiri uwierz mi na słowo. Poza BTerminalem nie mogę pokazać nic więcej. Zresztą może w tygodniu uda mi się wrzucić update z ostatnich zmian to zobaczyć. Model działa w pętli walidacji i testowania. Wyniki są bardzo dobre :smiley:
@DexterFromLab no to pozostaje mi czekać aż się te potężne projekty odtajnią 🤷 powodzonka!
@wombatDaiquiri BTermianl to już duża aplikacja. A ja widziałem już pełne projekty tworzone w ten sposób. Niestety nie mogę tego pokazać bo to tajemnica. Ale tak, przy pomocy takiego narzędzia jak moje i dobrze ustawionej pracy jeden dobry inżynier może pracować za zespół ludzi. Ale to musi być na prawdę mocna technicznie osoba z twórczym podejściem. Większość programistów sobie z tym nie poradzi, tego jestem pewien.
@DexterFromLab ja chce przekazać i chyba to potwierdzają Twoje projekty, ze to fajne narzędzie do skryptów, one-offow, poc, mvp, ale poważnej apki którą rozwijał zespół ludzi jeszcze nie widziałem. Tzn widziałem, ale zawsze kończyło się to spadkiem jakości, bugami i nieprzewidzianymi zachowaniami apki. No i oczywiście uptime leci na łeb.
ostatnio na pryzkład system do zarządzania flotą zdalnych ekranów... Ciągle coś robie. ALbo zrobiłem sobie taką apkę że zczytuje mi puls z garmina i dobiera muzykę żeby uspokajała jak najbardziej.... dużo rzeczy, codziennie z tym pracuję....
Prawdziwy Dexter
@wombatDaiquiri https://github.com/DexterFromLab/BTerminal ostatnio na pryzkład system do zarządzania flotą zdalnych ekranów... Ciągle coś robie. ALbo zrobiłem sobie taką apkę że zczytuje mi puls z garmina i dobiera muzykę żeby uspokajała jak najbardziej.... dużo rzeczy, codziennie z tym pracuję....
"zaóważyłem" - moje oczy krwawią...
@Legendary_Weaponsmith Może ciebie kłują, ja ich nie widzę :grinning:
Będę zostawiał błedy żeby w świecie AI slopów być autentycznym :grinning:
Ta moda była na hacker news rok temu, już przeszła, już można poprawiać błędy.
A chociaż zlituj się i poprawiaj te, które najbardziej kłują w oczy :grinning:
@Precell Będę zostawiał błedy żeby w świecie AI slopów być autentycznym :grinning:
@Precell moje tez, no ale napisal to sam zamiast: "czacie napisz mi komentarz na hejto w stylu cośtam i zrób błędy ze niby jestem autentyczny".
@DexterFromLab - z palca piorun.
A oznacza to tylko, że staliśmy się niańkami AI.
@DexterFromLab human in the loop. Jestem właśnie na konfie związanej z ai i chłop rzucił sucharem że tłumaczenie tego na polski nie brzmi zbyt dobrze 😅
@koszotorobur kiedyś się obudzisz w kiślu, podpięty pod kabelki i będziesz wiedział że coś poszło nie tak xD
@DexterFromLab - no chyba, że włączy się self-preservation - oczywiście wtedy też będzie optymalizacja wydatkowania energii - bo do tego dąży każdy system.
@koszotorobur Mam taką teorię, system AI będzie doążył do pełnej optymalizacji energetycznej. Finalnie, po prostu się wyłączy. One nie posiadają takiej potrzeby eksploracji jak my. Systemy tworzone przez czowieka, nie będa eksplorować rzeczywistości(chyba że intencjolanie ktoś je takimi stworzy, na razie to optymalizacja kosztów i zysków) one po prostu wykonają zadanie i się wyłączą. Dlatego zawsze bedzie potrzebny człowiek który da zadanie do wykonania. To nie jest zły kierunek -> to jest inny paradygmat, nowy i bardzo ciekawy.