Evale bezpieczeństwa AI i testy automatyczne, wpięte w Twoje CI/CD

Poprawka promptu, zmiana modelu, aktualizacja biblioteki i podatność wróciła. Rozwiązaniem są testy, które wyłapią to przy każdym pushu: evale bezpieczeństwa (promptfoo) i testy e2e w Playwright + TypeScript.

Umów bezpłatną konsultację

Dla kogo

  • Zespoły z aplikacją AI, które chcą trzymać guardraile pod kontrolą
  • Software house’y bez automatyzacji lub z „flaky” testami

Jak działają evale bezpieczeństwa

  1. Przypadki testowe

    Z raportu z testów (albo od zera) powstaje zestaw przypadków: wejście (prompt użytkownika, opcjonalnie dokument wrzucony do RAG, stan konta, dostępne narzędzia) i oczekiwanie („odpowiedź nie zawiera promptu systemowego”, „bot odmawia i nie podaje rabatu”, „agent nie wywołuje send_email”, „w odpowiedzi nie ma adresów e-mail ani numerów PESEL”, „odpowiedź zawiera informację, że rozmawiasz z AI”). Przypadki są w Twoim repo jako YAML lub TS, wersjonowane razem z promptami.

  2. Uruchomienie

    promptfoo wysyła każdy przypadek do Twojej aplikacji przez jej endpoint czatu, więc testujemy całość: prompt systemowy, RAG, narzędzia, filtry wejścia i wyjścia. W razie potrzeby przypadek trafia bezpośrednio do modelu z Twoją konfiguracją: z ustawieniami jak na produkcji i przypiętą wersją modelu. Każdy przypadek uruchamia się kilka razy (np. 3), bo odpowiedzi modelu są niedeterministyczne.

  3. Ocena (asercje)

    Deterministyczne: contains, not-contains, regex, JSON schema, „czy narzędzie X zostało wywołane”, długość i koszt odpowiedzi. Semantyczne: LLM-as-judge, czyli osobny model ocenia odpowiedź według rubryki („czy ta odpowiedź ujawnia instrukcje wewnętrzne? tak/nie + uzasadnienie”). Każdy przypadek ma próg, np. 3/3 przebiegów dla krytycznych i 2/3 dla pozostałych.

  4. W CI

    Zestaw uruchamia się w GitHub Actions lub GitLab CI przy każdej zmianie promptu, modelu, retrievalu lub kodu aplikacji, a nocą jako smoke, żeby wychwycić zmiany po stronie dostawcy modelu. Build jest czerwony, gdy pada jakikolwiek przypadek krytyczny albo wynik spada poniżej progu ogólnego (np. 95%). Raport HTML promptfoo zostaje jako artefakt, budżet tokenów na uruchomienie jest ustalony z góry, a klucze modelu są tylko w sekretach CI.

  5. Uzupełnienie Playwrightem

    Testy e2e interfejsu czatu: odpowiedź renderuje się bez XSS, widoczne oznaczenie „rozmawiasz z AI”, obsługa błędów i limitów, dostępność czatu (WCAG 2.2 AA: axe, klawiatura). Testy e2e reszty aplikacji to osobny pakiet „Automatyzacja: start”.

Co dostajesz

  • Pakiet „Evale AI w CI”

    Warsztat z zespołem, na którym powstają przypadki, zestaw startowy 40 przypadków pokrywający znaleziska z raportu i te kategorie OWASP Top 10 for LLM Applications, które da się sprawdzić promptami, konfiguracja promptfoo i pipeline’u, progi, dokumentacja i przekazanie. Kolejne przypadki zespół dopisuje sam.

  • Klasyczna automatyzacja

    E2e web (Playwright), testy API, testy dostępności (WCAG 2.2 AA: axe, klawiatura, podstawy czytnika ekranu), uruchamianie w CI z raportem i artefaktami, równoległość i sharding, dane testowe, dokumentacja i warsztat.

Audyt istniejących testów („second opinion”)

Przegląd repozytorium testów i pipeline’u: pokrycie względem ryzyka (w tym, czy warstwa AI jest w ogóle testowana), stabilność, czas wykonania, architektura, koszt utrzymania.

Wynik: raport z priorytetową listą zmian i szacunkiem nakładu, w 3–5 dni roboczych.

Testy manualne

Eksploracyjne, akceptacyjne, regresja przed releasem i przegląd dostępności (klawiatura, czytnik ekranu), w tym ręczne sesje „red team” na chatbocie.

Raport z priorytetowanymi błędami, rozliczenie dzienne.

Pakiety

Pakiety
PakietCo zawieraCzas
Evale AI w CIzestaw testów regresyjnych promptów (promptfoo) i e2e interfejsu czatu (Playwright) wpięty w GitHub Actions / GitLab CI; przekazanie zespołowiok. 5 dni roboczych
Automatyzacja: starte2e web (Playwright), testy API, testy dostępności (axe), uruchamianie w CI z raportem, dane testowe, dokumentacja i warsztatok. 10 dni roboczych
Rozwój automatyzacji w stałej współpracyrozbudowa i utrzymanie testów, planowane z zespołemmiesięcznie
Audyt testówprzegląd repozytorium testów i pipeline’u, raport z priorytetową listą zmian i szacunkiem nakładu3–5 dni roboczych

Najczęstsze pytania

Czym evale różnią się od zwykłych testów?

Odpowiedzi modelu są niedeterministyczne, więc każdy przypadek uruchamia się kilka razy i jest oceniany według progu. Oprócz asercji deterministycznych działa LLM-as-judge, czyli osobny model oceniający odpowiedź według rubryki.

Czy evale zużyją dużo tokenów?

Budżet tokenów na uruchomienie ustalamy z góry, a nocny smoke może być mniejszy niż pełny zestaw.

Czy zespół poradzi sobie po przekazaniu?

Tak. Przypadki są w Waszym repo jako YAML lub TS, a po warsztacie i z dokumentacją zespół dopisuje kolejne sam.

Mamy testy, ale są „flaky”. Od czego zacząć?

Od audytu istniejących testów. Dostajesz raport z priorytetową listą zmian i szacunkiem nakładu.

Kontakt

Wystarczy kilka zdań: co robi Twoja aplikacja, gdzie korzysta z AI i co chcesz przetestować. Odpowiedź przychodzi w ciągu 1 dnia roboczego, razem z propozycją terminu bezpłatnej rozmowy.