Moderacja treści w aplikacjach AI: poradnik dla programistów
Każda aplikacja oparta na modelu LLM potrzebuje moderacji treści. Jednym powodem jest zgodność z przepisami. Pozostałe to bezpieczeństwo, zaufanie użytkowników i ochrona modelu przed złośliwymi danymi wejściowymi.
W tym poradniku omawiamy dwie strony moderacji treści w AI: filtrowanie tego, co użytkownicy wysyłają do modelu, oraz filtrowanie tego, co model odsyła użytkownikom.
Dwa filtry, których potrzebuje każda aplikacja AI
1. Filtrowanie wejścia
Zanim dane od użytkownika trafią do modelu, sprawdź je pod kątem:
- Szkodliwych treści: mowa nienawiści, nękanie, groźby, treści o charakterze seksualnym
- Prompt injection: próby nadpisania promptu systemowego lub „jailbreaku” modelu
- Nielegalnych próśb: instrukcje dotyczące działań niezgodnych z prawem, produkcji narkotyków itp.
- Wycieku danych osobowych: użytkownicy, którzy przypadkiem udostępniają dane osobowe
2. Filtrowanie wyjścia
Zanim odpowiedź modelu trafi do użytkowników, sprawdź ją pod kątem:
- Szkodliwych treści wygenerowanych przez model: mowa nienawiści, przemoc itp.
- Generowania danych osobowych: model, który przypadkiem tworzy prawdziwe lub zmyślone dane osobowe
- Niebezpiecznych halucynacji: porady medyczne, prawne, rekomendacje finansowe
- Naruszeń zasad: treści sprzecznych z regulaminem aplikacji
Wzorce implementacji
Wzorzec 1: filtrowanie sekwencyjne (zalecane dla większości aplikacji)
User Input -> Input Moderation -> { if flagged -> reject } -> LLM
LLM Output -> Output Moderation -> { if flagged -> fallback response } -> User Wzorzec 2: filtrowanie równoległe (gdy liczy się niskie opóźnienie)
User Input -> Input Moderation + LLM (in parallel)
-> Wait for moderation result
-> If flagged -> discard LLM response & show error
-> If not flagged -> show LLM response after output moderation Ochrona wielowarstwowa z wieloma dostawcami
Poleganie na jednym dostawcy moderacji tworzy pojedynczy punkt awarii i martwe pola. Kilka warstw dostawców sprawdza się lepiej:
- OpenAI Moderation do ogólnego wykrywania szkodliwych treści
- Llama Guard (we własnej infrastrukturze) do filtrowania wrażliwych danych wejściowych bez kosztów i bez wycieku danych
- LLM jako klasyfikator z GPT-4o lub Claude do egzekwowania własnych zasad z głębokim zrozumieniem kontekstu
W OpenModeration takie wielowarstwowe podejście to jedno wywołanie API: nasza własna AI do moderacji analizuje treść, a inne modele AI weryfikują trudne przypadki przed ostateczną decyzją.
Dobre praktyki
- Zawsze moderuj zarówno wejście, jak i wyjście. Każdy z filtrów wychwytuje inny rodzaj ryzyka.
- Wykorzystuj kontekst, by zwiększyć trafność. Przekazuj historię rozmowy i informacje o autorze, aby decyzja moderacyjna była lepiej uzasadniona.
- Ustaw odpowiednie progi. Niższe progi dla kategorii wysokiego ryzyka (małoletni, samookaleczenia), wyższe dla kategorii niskiego ryzyka (spam).
- Rejestruj wszystko na potrzeby audytu. Trzeba umieć udowodnić, że moderacja działa, zwłaszcza w branżach regulowanych.
- Testuj na złośliwych danych. Regularnie przepuszczaj znane prompty jailbreakowe przez swój proces moderacji.