Mam zamiar znów sobie zrobić trenowanie z robienia zadanek koderskich. Uznałem, że spróbuję użyć tu AI do pomocy.
Są 3 główne obszary w takich przygotowaniach.
- Pattern matching,
- Użycie odpowiednich klocków,
- Implementacja klocków
Jedno to jest zobaczyć "o, tutaj najlepiej użyć fast/slow pointers", drugie to zaimplementować.
Jedno to "o graf", drugie to uznanie "a tutaj chcemy najkrótszą ścieżkę czyli BFS" i w końcu trzecie to implementacja.
Na każdym etapie można mieć "mocniejsze" i "słabsze" obszary ;-)
"Z poprzednich razów" mam masę kodu, jakieś 1600 rozwiązań w postaci kodu źródłowego i jeszcze w Markdown jakieś ~300.
Uznałem, że dam AI szansę ;-)
Wystawiłem to na pożarcie Antigravity CLI (taki "uboższy" kuzyn Claude Code, tylko że od Google).
Dostało instrukcję by spróbować najpierw na podstawie tego kodu spróbować zidentyfikować klocki... kiedyś sobie to rozpisałem, że miałem takowe w postaci mind mapy... ale jak wiele mind map zgubiłem ;-)
Nie wyszło mu zbytnio, ale spróbuję jeszcze raz.
Drugie było takie "przejrzyj ten kod i znajdź miejsca gdzie mam największe problemy i opisz te miejsca i zaproponuj drogę do poprawy"....
Coś zrobił... (inna sprawa, widzę wyraźnie, że w takim treningu TRZEBA mieć kogoś kto Cię sprawdza, może to być LLM, ale ktoś musi sprawdzić, bo to, że działa na przykładach to za mało - z doświadczenia, Gemini jest tu słabsze od ChatGPT). Antigravity najpierw uznało, że od razu napisze regexy do wyszukiwaina błędów.... nie była to dobra ścieżka ;-)
W końcu mu wytłumaczyłem, że niech wybierze losowe 10% plików i zrobi ich pełną analizę wysyłając ich treść do modelu żeby ten model zrobił analizę... dopiero później powinno spróbować zrobić syntezę tych błędów....
Wszystko spaliło masę tokenów i zużyłem swoje 5h w 20 minut ;-) więc jeszcze użyłem Opusa 4.6...
Ale wyniki są takie sobie, teraz jest pytanie czy lepiej po prostu to wszystko zrobić samemu i używać Gemini czy bardziej ChatGPT do sprawdzania moich rozwiązań i to trzymać w Markdownie do późniejszej analizy, czy więcej wysiłku włożyć w te prompty....
Mam wrażenie, że to jest tak często. Że Agenty robią cuda, jak akurat wyczują o które cuda Ci chodzi, albo to są "prostsze" cuda do zrobienia i nic na razie nie bije zrozumienia rozwiązania samemu... tylko fakt, z Agentem wiele rozwiązań które są "good enough" można zrobić w godzinę, a swoje "good enough" robiłoby się tydzień albo miesiąc.
Zrobienie mocka dla serwisu to jest coś co robiono miliony razy, sam to robiłem kilka razy - dziś nie muszę tego pisać sam, proszę Claude Code czy podobne i mam.
Naniesienie prostych zmian w auth/authz z dobrze napisanej (przeze mnie ;-)) historyjki to też jest prosta sprawa.
Jak sprawa jest prosta w definicji to jest błysk ciupagi.
Ale na razie są, albo ja mam problemy z nowatorskimi sprawami gdzie sam nie do końca wiem co powinno dziać się w środku.
Zwykle jest tak, że jeżeli sam bym tu i teraz umiał napisać ten kod, ale mnie by to zajęło parę godzin czy dni to umiem to wyjaśnić narzędziu, ale jak jest coś z czym sam miałbym problemy (np. zamiana polyline z x,y,z w klotoidę, która jest linią bazową dla drogi tak by kolejne klotoidy i pasy na tej drodze do siebie geometrycznie pasowały) to pierwsze "o wow! zrobił to, ale są jeszcze problemy" to pikuś, problem jest później jak te problemy trzeba rozwiązać...
Coś jak z prawem Parkinsona:
- "Ile masz zrobione kodu po tych 2 dniach?"
- "z 80 %"
- "o to jutro skończysz?"
- "nie, no coś Ty, z 2 tygodnie to jeszcze zabierze"
O, jak Agent ma "myśleć" to na razie mu to idzie słabo, jak ma robić szybko coś co my byśmy umieli zrobić, albo coś co było robione już wiele razy to wtedy wymiata.
A w pewien sposób im lepiej płatna praca, tym mniej powtarzalnych rzeczy ;-)
A w pewien sposób im lepiej płatna praca, tym mniej powtarzalnych rzeczy ;-)
Podobne postybeta
Bob wykazuje inicjatywę ;-) i jakże piękny mógłby być Googlebook....
Zapiski z 29 piętra....
O urokach uprzęży – czyli o tym, że okiełznana moc LLM-ów jest bardziej użyteczna niż nieokiełznana
Agent by Agent ;-) czyli o tworzeniu agenta AI agentem AI ;-)
Moto zakład