Ciao! 🇵🇱🇮🇹
Wpadł mi w ręce mem z Anakinem i Padmé, który streszcza jeden z moich ostatnich projektów lepiej niż cała dokumentacja. Ta dokumentacja zresztą też jest długa.
Lecimy z tematem 🚀
💡 Psst!
Na końcu maila znajdziesz prosty sposób, żeby ocenić dzisiejszą treść jednym kliknięciem, i dwa sposoby, żeby wesprzeć ten newsletter, jeśli akurat masz na to ochotę. Z góry dzięki!
Cisza, która wyglądała jak sukces
Na stronie mojej wspólnoty modlitewnej jest formularz do wysyłania intencji. Zespół modli się za każdą przez cztery tygodnie. Część osób wraca po kilku dniach z tą samą prośbą, a osoba czytająca maile musiała pamiętać sama, co już było. Napisałem więc wtyczkę, która porównuje nową intencję z tymi z ostatnich 28 dni i przy podobnej dopisuje w temacie maila [PODOBNA do intencji z DD.MM]. Przeszła 19 przypadków testowych. Wdrożyłem.
Po trzech dniach przyszły pierwsze przekazane maile z dopiskiem, że ta intencja na pewno już była, a program tego nie pokazuje.
Objaw. Mail bez znacznika znaczy „nowa intencja”. Mail bez znacznika, bo program nie rozpoznał powtórki, wygląda identycznie. Obie sytuacje kończyły się tą samą ciszą, więc z mojej strony wszystko wyglądało dobrze.
Co się działo pod spodem. Program porównywał słowa. Moje testy też były zbudowane ze słów: brałem intencję, skracałem ją, zmieniałem końcówki. Ludzie tak nie piszą. Kto wraca z tą samą prośbą, pisze ją od nowa, innymi słowami. Przy jednej takiej parze pokrycie wyszło 40 procent przy progu 80. Jeden podpis wysłał osiem różnych intencji w dziesięć minut i żadna nie dostała znacznika. W drugą stronę też się sypało: słowo „Bożą” program wziął za imię i połączył ze sobą intencje, które nie miały ze sobą nic wspólnego.
Jak to wykryć u siebie. Jeśli masz cokolwiek, co oznacza wyjątki (duplikaty, podejrzane płatności, powtórzone zgłoszenia), policz, ile oznaczeń dało w pierwszym tygodniu. Zero przy prawdziwym ruchu powinno Cię zaniepokoić. Potem weź dane z produkcji, o których z głowy wiesz, co powinno zostać oznaczone, i przepuść je przez mechanizm jeszcze raz.
Jak naprawiłem. Progu nie ruszałem, bo zacząłby oznaczać rzeczy, które powtórką nie są. Dołożyłem osobne sygnały: powracające imiona w treści, ten sam podpis w polu „Imię”, a przy powtórce słowo w słowo godzinę pierwszego zgłoszenia. Formy „Boży”, „Bożą” i podobne trafiły na listę wykluczeń, wypisane w całości, bo po samym początku słowa odpadłaby też Bożena. Zmieniłem też sposób testowania: kopia wtyczki odtworzyła wszystkie 35 prawdziwych wpisów z rejestru, nie wysyłając przy tym ani jednego maila.
Czego to uczy. Przypadki testowe piszesz sam, więc sprawdzają, czy program rozumie Ciebie. Mechanizm, który milczy, gdy nic nie znajdzie, sprawdzaj na danych, w których wiesz, co powinien znaleźć, bo jego milczenie niczego nie dowodzi.
NARZĘDZIE 🛠️
WP-CLI: wp eval-file plus filtr pre_option_
wp eval-fileuruchamia plik PHP wewnątrz działającego WordPressa, z całym jego kodem i bazą, ale bez przeglądarki i bez formularza. Filtrpre_option_{nazwa}podsuwa funkcjiget_option()` Twoje dane w miejsce tych z bazy, więc kopia wtyczki czyta prawdziwy rejestr i nic do niego nie zapisuje. Tak odtworzyłem wszystkie 35 wpisów rejestru intencji na kopii z innym prefiksem funkcji i innym numerem formularza, żeby żaden testowy mail nie trafił do skrzynki zespołu. Polecam, bo to najtańszy sposób na przetestowanie wtyczki na danych z produkcji bez ruszania produkcji.
https://developer.wordpress.org/cli/commands/eval-file/
ZE ŚWIATA 🌍
When Errors Become Narratives: A Longitudinal Taxonomy of Silent Failures in a Production LLM Agent Runtime. Wei Wu przez osiem tygodni zapisywał awarie działającego asystenta opartego na LLM i około 70 procent cichych błędów wyłapał człowiek, a nie testy ani audyt. Pocieszające, że nie tylko u mnie.
Silent Failures: The Bug That Won’t Page You. Mój ulubiony przykład stamtąd to martwy eksporter metryk, który zamraża wykres na ostatniej, zdrowo wyglądającej wartości. Mail bez znacznika to ten sam przypadek, tylko w skrzynce zamiast na dashboardzie.
Fuzzy Matching 101: The Complete Guide to Accurate Data Matching. Poradnik firmy, która sprzedaje narzędzia do dopasowywania danych, więc czytaj go z tą świadomością. Jedno zdanie powiesiłbym jednak nad biurkiem: progi trzeba sprawdzać na oznaczonych przykładach z prawdziwego zbioru danych. Ja swoje sprawdziłem na przykładach, które sam wymyśliłem.
NA KONIEC 😄
U mnie kolejność była odwrotna: najpierw zbudowałem, a zła wiadomość przyszła mailem trzy dni później.
Jeśli ktoś w Twoim otoczeniu powinien to przeczytać, prześlij mu ten numer. To najlepsza forma wsparcia.
A jeśli wolisz wesprzeć bezpośrednio: postaw mi kawę.
Michał Marini | Marini Brief
Jeśli oceniłeś wpis na mniej niż 5 gwiazdek, daj znać w komentarzu, czego Ci zabrakło, chętnie poprawię to w kolejnych publikacjach!
