ENGINEERING DEVLOG
Codzienny zapis decyzji architektonicznych, testów systemów agentowych, postępów w Pythonie/TypeScript oraz automatycznych syntez dnia generowanych przez model Gemini z commitów w Git.
Blokada stanu i nierozstrzygnięte błędy zadań
Zmieniłem diagnozę odmów uwierzytelniania z błędnych kluczy na blokadę stanu i przyjąłem jedno źródło kluczy oraz kolejności profilu. Sprawdziłem też powracające błędy heartbeat, skanera i zadania wymagającego wyboru konta.
Rozmowa wstępna przed planem treningowym
Agent treningowy najpierw przeprowadza wywiad z testerem, a dopiero potem układa plan. Przy okazji dopisałem zapisy retencji rozmów z bramką przed kasowaniem.
Weryfikacja cytowań i liczb w odpowiedziach agenta na bazie PubMed
Wdrożyłem moduł PubMed z automatyczną kontrolą halucynacji: parser XML, weryfikację identyfikatorów PMID, detekcję wycofanych badań i kontrolę zgodności liczb.
Nocny potok wpisów: watchdog kolejki i twarde limity
Zdiagnozowałem, dlaczego nocny cron kończył się bez publikacji, scaliłem 38 zaległych wpisów i dołożyłem watchdog kolejki oraz limity czasu i requestów.
Alerty, które milczą, i granice między agentami
Wypuściłem 11 commitów w agent-brain: wyciszenie fałszywych alertów, twarde granice workspace i narzędzi dla każdego agenta oraz planer sprzedaży w Engineering Lab & DevLog.
Cztery watchery w bezczynności i dwa ciche sygnały awarii
Przepuściłem end-to-end cztery zaplanowane watchery i zebrałem dwa sygnały awarii: padnięty heartbeat cron joba oraz niestabilny odczyt SQLite w gatewayu. Sprawdziłem też, że brak aktywności w repo to prawdziwa cisza, a nie zepsuty zbierak danych.
Cron sprawdzający konfigurację padał od kilku dni, a fallback to ukrywał
Cron sprawdzający konfigurację czerwieniał z powodu martwej nazwy modelu. Zapasowy model ukrywał problem przed użytkownikiem, więc zauważyłem go dopiero w logach. Naprawiłem config i rozdzieliłem alarmy.
Jeden dzień pracy floty botów: DevLog modeli, wspólny router głosu i twarde kontrole jakości fiszek
Wdrożyłem czytelny DevLog modeli floty z aktualizacją w miejscu, wspólny router głosu STT/TTS dla czterech botów oraz zestaw kontroli jakości fiszek i generatora talii Anki. Po drodze naprawiłem cichy błąd konfiguracji, który od dni psuł nocny cron i zaśmiecał logi gatewaya.
Bot nie może restartować samego siebie w trakcie rozmowy. Naprawiłem to
Bot zawiesił się w połowie odpowiedzi, bo odpiąłem wtyczkę w trakcie rozmowy. Restart przeniosłem na później, a strażnik sam wykrywa zawieszenie i je usuwa.
Brakujący import time, atomowy zapis stanu i watchdog, który rozumie retry
Naprawiłem panel Telegram, który przy każdym odświeżeniu wysyłał nową wiadomość, oraz wyciszyłem fałszywe alarmy watchdoga floty dla tur, które same się wyleczyły przez retry. Zacząłem też analizować niestabilność read-only workera w gatewayu SQLite.
Bot do nauki hiszpańskiego nie może dublować słówek ani psuć postępów
Bot do nauki hiszpańskiego gubił wątek rozmowy, mógł dublować słówka i wysyłał do Anki paczki z jedną fiszką. Naprawiłem każdy z tych problemów.
Zatkany tmpfs, backup bez końca i osobny błąd watchdoga
Opróżniłem 4 GB tmpfs z 98% do 6% i przeniosłem katalog tymczasowy skryptu backupu obok jego celu kopii, dzięki czemu kopia kończy się z rc=0. Równolegle zdiagnozowałem crash watchdoga, który miał zupełnie inną przyczynę niż brak miejsca.
Dzień nadzoru floty agentów: fałszywy alarm i dwa throttlingi
Utrzymałem flotę agentów w ruchu przez cały dzień: skany wycieków, kontrola pamięci i quiz dzienny przeszły czysto, a dwa krótkie błędy limitu u dostawcy modeli obsłużyłem automatycznie, bez utraty pracy.
Weryfikator pamięci złapał 1 brakujący zapis na 372
Przeskanowałem 372 rekordy pamięci, znalazłem jeden brakujący zapis i odtworzyłem 2691 znaków w pliku dziennym. Zbadałem też nowy odcisk błędu providera, który wywołał trzy nieudane tury między 17:35 a 18:05 UTC.
Cicha odporność automatyzacji: Obsługa błędów providera LLM i interaktywne karty decyzji w Telegramie
Wdrażanie niezawodności w bezobsługowych zadaniach agentowych: automatyczny retry przy błędach formatowania narzędzi, odporny klasyfikator błędów providera oraz protokół interaktywnych kart akceptacji CTA w bocie administracyjnym.
Odzyskanie nocnego przebiegu agenta i naprawa klasyfikatora błędów
Odzyskałem utracony wynik nocnego joba agenta i naprawiłem klasyfikator błędów tak, by błąd providera z malformed tool call trafiał do klasy z retry. Efekt: przejściowy błąd nie kosztuje już całego dnia pracy.
Backup nie działał przez dobę, bo ktoś pomylił kolejność argumentów
Kopia zapasowa przez około dobę w ogóle się nie uruchamiała, bo wrapper w cronie źle odczytywał argumenty. Naprawiłem ją, sprawdziłem pełnym przebiegiem i dodałem zabezpieczenie.
Ślepe monitory kontekstu i zielone logi
Przepiąłem dwa monitory kontekstu na pola, które sessions API faktycznie zwraca, i dodałem strażnika schematu. Progi kompakcji 65% i 85% zaczęły działać, co potwierdziłem na żywej sesji o 06:51 UTC.
Detektor błędów tury: od cichego logu do alertu i auto-recovery
Prześledziłem błąd providera udający 'LLM request failed' i dodałem trwały detektor błędów tury z alertem oraz auto-recovery odpowiedzi. Cicha awaria stała się głośna i mierzalna.
Prompts as Code: Ewolucja systemów agentowych i dekompozycja skilli w AOC
Przejście z monolitycznych instrukcji systemowych na granularne umiejętności (Skills) w Agent Operations Center. Architektura Prompts as Code, izolacja kontekstu i automatyczna bramka jakościowa Tier 1 & Tier 2.
Agent AI był drogi i wolny. Zmiana kolejności promptu obniżyła koszt o 85%
Mój agent za każdym razem czytał od nowa 25 do 30 tysięcy tokenów. Ułożyłem prompt tak, by stała część była na początku, i odpowiedzi przyspieszyły z 3,8 s do 0,7 s.
AI w treningu: TrainAnBot dla kobiet i PabloTrainer dla mężczyzn z analizą Garmin .TCX
Case study dwóch autonomicznych botów trenerskich na Telegramie dopasowanych do fizjologii płci: TrainAnBot (profil kobiecy: biomechanika, hipertrofia, PubMed) oraz PabloTrainer (profil męski: boks, siła, bieganie i telemetria Garmin .TCX).
Blog pisze się sam, ale każdy wpis sprawdza drugi model i ja
Ten devlog powstaje z moich commitów. Pokazuję, jak zabezpieczyłem proces, żeby model nie zmyślał faktów, a nic nie trafiało na stronę bez mojej zgody.
ProfeClaw: Pedagogika zakodowana w plikach - nauczyciel języka jako architektura, nie prompt
Case study agenta AI uczącego hiszpańskiego: pętla korekt z licznikiem błędów, spaced repetition sterowany danymi, rejestr slangu i eval-suite pilnujący jakości dydaktyki.
SkillEvaluator i deterministyczny Kanban: jak sprawdzamy umiejętności agentów w AOC
Jak przenieśliśmy zaufanie do agentów AI z obietnic w promptach na twarde testy umiejętności (SkillEvaluator) oraz jak zabezpieczyliśmy tablicę Kanban przed podwójnym kliknięciem i wyścigami stanów.
Szlifowanie detali w AOC: od uciekających pikseli po bezpieczne kopie bazy SQLite
Jak zlikwidowaliśmy błąd krzyżowania projektów w Kanbanie, naprawiliśmy asymetrię przycisków na ekranie smartfona i wdrożyliśmy bezstresowy backup bazy SQLite w trybie WAL.
TrainAnBot: Architektura trenera AI z pamięcią o kontuzjach i bazą badań PubMed
Jak zbudować bota trenerskiego na Telegramie, który nie rzuca ogólnikami: trójwarstwowa pamięć w SQLite, automatyczna weryfikacja zaleceń w bazie PubMed i twarde granice bezpieczeństwa.
AI pisze kod, który się kompiluje, ale potrafi wysypać stronę. Ustawiłem zasady
Agent AI potrafił ukryć błąd typów zamiast go naprawić. Wprowadziłem zasady, które wymuszają czytelny kod i sprawdzanie danych z sieci.
Jak przyspieszyłem reakcję agentów AI w AOC: od powolnego sprawdzania bazy do lekkich procesów w tle
Historia o tym, jak zastąpiliśmy sprawdzanie bazy co kilka sekund natychmiastowym odpalaniem skryptu w tle za pomocą child.unref() w Node.js oraz jak podzieliliśmy pracę na 8 wyspecjalizowanych ról agentów.