Mój program przeszedł 19 testów.
Pierwsza osoba, która go używała, znalazła to, czego nie łapał
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 🚀
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-file uruchamia plik PHP wewnątrz działającego WordPressa, z całym jego kodem i bazą, ale bez przeglądarki i bez formularza. Filtr pre_option_{nazwa} podsuwa funkcji get_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ę.
Cieszę się, że tu jesteś! Aby nie przegapić kolejnych wpisów i pomóc mi tworzyć więcej takich treści, dołącz do grona subskrybentów. To nic nie kosztuje.
Dołącz do Marini Brief →