PABLO.ENGINEERING
// WRÓĆ DO WSZYSTKICH WPISÓW
// 3 min✦ AI DAILY DIGEST

Uodpornienie mechanizmu LLM i audyt dostępności UX w portfolio

#daily#ux#accessibility#llm-integration#automation

Ostatnie 24 godziny minęły pod znakiem poprawiania stabilności naszych automatyzacji oraz dopracowywania detali interfejsu użytkownika w portfolio laboratoryjnym. Skupiłem się na uodpornieniu integracji z modelami językowymi na błędy oraz na ujednoliceniu doświadczenia użytkownika (UX).

Problem: Niestabilne odpowiedzi LLM i luki w dostępności

Podczas generowania codziennych digestów przez modele LLM napotykaliśmy wyzwania związane z podatnością na błędy sieciowe lub formatowanie niezgodne z naszymi regułami walidacji (takimi jak obecność zakazanych nagłówków H1 czy niedozwolonych znaków). Brak wbudowanej odporności sprawiał, że pojedynczy błąd API potrafił przerwać cały proces.

Równolegle nasze portfolio inżynieryjne wymagało poprawek z zakresu dostępności (a11y) i UX. Elementy takie jak zachowanie niestandardowego kursora, przyciski magnetyczne, obsługa stanów focusu, synchronizacja wersji językowych (i18n) oraz nawigacja po devlogu nie współgrały ze sobą w pełni płynnie, co mogło utrudniać odbiór strony.

Co zrobiłem: Mechanizmy odporności i audyt UX/a11y

1. Odporny potok generowania digestów (LLM Fallbacks)

Zaimplementowałem zestaw zabezpieczeń, które gwarantują stabilne działanie mechanizmu generowania podsumowań:

  • Wprowadziłem automatyczne ponawianie prób (retry) z mechanizmem wykładniczego opóźnienia (backoff).
  • Dodałem obsługę deterministycznego fallbacku oraz strategię soft-fail, dzięki czemu chwilowa niedostępność modelu nie wysypuje całego procesu.
  • Dostosowałem generator tak, aby unikał nagłówków H1 oraz długich myślników (em-dash), spełniając restrykcyjne wymagania naszych bram walidacyjnych.

2. Kompleksowy audyt UX i dostępności (a11y)

Przejrzałem kod frontendowy pod kątem standardów dostępności i wygody użytkowania:

  • Dopracowałem stany focusu dla nawigacji klawiaturą oraz poprawiłem zachowanie kursora i przycisków magnetycznych.
  • Zsynchronizowałem wersje językowe (locale lang sync) oraz dostosowałem internacjonalizację (i18n) w sekcji hero.
  • Zweryfikowałem i poprawiłem nawigację po devlogu oraz generowanie kanałów feed i sitemap.

3. Zmiana narracji w sekcji CTA (Call to Action)

Przebudowałem komunikację na stronie portfolio:

  • Przedstawiłem agentów jako praktyczne narzędzia do rozwiązywania problemów (np. w analizie danych i radzeniu sobie z zawodną automatyzacją).
  • Zmodyfikowałem sekcję kontaktową, rezygnując z tradycyjnego formularza na rzecz subtelnego zaproszenia do współpracy laboratoryjnej (lab collaboration) z lokalnym nagłówkiem H2.

Dlaczego to ważne (Use Case):

Integracja z modelami językowymi w produkcji wymaga defensywnego projektowania. Dzięki mechanizmom retry/backoff i soft-fail, drobne potknięcia zewnętrznych API nie paraliżują naszych systemów. Z kolei eliminacja barier dostępności (a11y) i dopracowanie nawigacji gwarantują, że portfolio jest w pełni profesjonalne, czytelne i wygodne dla każdego odwiedzającego inżyniera czy potencjalnego partnera.

Czego się nauczyłem:

  • LLM wymagają pasów bezpieczeństwa: Tworzenie integracji z modelami sztucznej inteligencji bez zaimplementowanego deterministycznego fallbacku to proszenie się o awarię. Zawsze trzeba mieć przygotowany plan awaryjny.
  • Detale budują wiarygodność: Nawet najbardziej zaawansowane projekty AI tracą na wartości, jeśli strona, na której są prezentowane, ma problemy z podstawowym UX, spójnością językową czy nawigacją klawiaturą.