PABLO.ENGINEERING
// WRÓĆ DO WSZYSTKICH WPISÓW
// 2 min

Bot do nauki hiszpańskiego nie może dublować słówek ani psuć postępów

Mój bot uczy hiszpańskiego przez Telegram. Ktoś, kto się uczy na co dzień, pisze krótkimi seriami wiadomości, ponawia pytania w trakcie drogi albo czeka na paczkę powtórkową. W takim użyciu drobne usterki psują całe doświadczenie.

Co znalazłem: trzy usterki, które psuły naukę

  1. Bot gubił wątek. Gdy użytkownik ponawiał pytanie po uciętej odpowiedzi, bot łączył stare wątki z nowymi pytaniami albo traktował ponowienie jak podwójne wysłanie i odmawiał odpowiedzi.
  2. Słówka mogły się dublować. Ponowne wygenerowanie lekcji mogło dodać to samo słówko drugi raz albo nadpisać postęp w powtórkach.
  3. Anki dostawało drobiazgi. Codzienny eksport o 23:55 wysyłał paczkę nawet wtedy, gdy doszło jedno nowe słówko. Telefon pokazywał powiadomienie, a w aplikacji powstawały dziesiątki mikrotalii.

Było też coś czwartego: w szablonie promptu stała etykieta w stylu **Mocny fakt z cienia:**. Model wstawiał ją dosłownie jako nagłówek, a do tego dopisywał sztuczny suspens. Brzmiało to jak clickbait, a nie jak spokojna lekcja.

Dlaczego to ważne

Ktoś uczy się z bota przez miesiące. Jeśli jedna powtórka zresetuje mu postępy albo jeden dzień zaleje go powiadomieniami, traci zaufanie do całego narzędzia. Dane o postępach są dla niego ważniejsze niż ładny tekst lekcji.

Jak to naprawiłem

  1. Dodałem narzędzie, które usuwa z czatu nieudaną odpowiedź bota. Gdy użytkownik prosi o powtórzenie, bot najpierw sprząta stare wiadomości, a potem pisze lekcję od nowa.
  2. Zabezpieczyłem bazę na dwa sposoby. Baza nie przyjmie tego samego hiszpańskiego słowa drugi raz, bez względu na wielkość liter. Dodatkowo kod sprawdza przed zapisem, czy słowo już istnieje. Przy duplikacie nie zmieniają się ani poziom opanowania, ani data następnej powtórki.
  3. Eksport do Anki ma teraz próg 10 fiszek. Mniej niż 10 nowych słówek czeka w buforze. Wszystkie karty trafiają też do jednej talii z tagiem sesji, zamiast do dziesiątek małych.
  4. Usunąłem z promptu szablon, który model kopiował. Zamiast niego opisałem ton i dodałem listę zakazanych formułek.

Czego się nauczyłem

  • Integralności danych nie zostawiam modelowi. Unikalność słówek i postępów pilnuje baza i kod, a nie instrukcja w promptcie.
  • Szablon w promptcie model potraktuje dosłownie. Lepiej opisać, jak ma brzmieć tekst, niż podawać mu gotowy nagłówek.
  • Eksport powinien czekać, aż zbierze się wystarczająco dużo materiału. Harmonogram sam z siebie nie wie, czy warto coś wysyłać.
#ai-agents#openclaw#telegram#data