AI Prompt Engineering · Lekcja

Czym są mechanizmy ochronne

Bramki bezpieczeństwa i jakości

Lekcja 1 z 413 kroki

Czym są mechanizmy ochronne to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Definicja mechanizmów ochronnych

Mechanizmy ochronne to programistyczne kontrole umieszczone wokół LLM-a, które egzekwują zasady bezpieczeństwa, polityki i jakości. Działają na wejściu (input), czyli na danych użytkownika, oraz na wyjściu (output), czyli na wyniku modelu, kontrolując to, co dociera do modelu i do użytkownika.

Model jest probabilistyczny, natomiast mechanizmy ochronne zapewniają deterministyczne egzekwowanie polityk nałożonych na model.

Dlaczego samo promptowanie nie wystarcza

Instrukcje w prompcie systemowym, takie jak „nigdy nie ujawniaj sekretów”, są miękkie: można je obejść za pomocą jailbreaków, mogą osłabnąć w długim kontekście albo zostać zignorowane przy zmianie rozkładu danych. Mechanizmy ochronne są twarde, ponieważ stanowią kod znajdujący się poza modelem i nie można ich przekonać do zmiany decyzji.

Należy stosować obronę warstwową: instruować model i otaczać go niezależnymi kontrolami.

Mechanizmy ochronne wejścia i wyjścia

Dwa miejsca zastosowania, z różnymi zadaniami:

  • Mechanizmy ochronne wejścia blokują prompt injection, niedozwolone żądania i dane PII, zanim tokeny wygenerują koszty.
  • Mechanizmy ochronne wyjścia wykrywają niebezpieczne treści, ujawnione dane, halucynacje i naruszenia schematu, zanim wynik zostanie dostarczony.

Kontrole wejścia ograniczają koszty, a kontrole wyjścia chronią użytkowników.

Blokowanie, redagowanie, ponowne generowanie i eskalowanie

Mechanizm ochronny musi po wykryciu naruszenia zdecydować o działaniu:

  • Zablokować — odmówić i zwrócić bezpieczny komunikat.
  • Zredagować — usunąć problematyczny fragment i kontynuować.
  • Ponownie wygenerować — wysłać ponowny prompt z informacją o naruszeniu.
  • Przekazać dalej — skierować sprawę do człowieka lub bardziej rygorystycznego modelu.

Właściwe działanie zależy od dotkliwości naruszenia i zaufania użytkownika.

def on_violation(severity):
    if severity == 'critical': return 'block'
    if severity == 'pii': return 'redact'
    if severity == 'quality': return 'regenerate'
    return 'escalate'

Potok mechanizmów ochronnych

Mechanizmy ochronne należy połączyć w uporządkowany potok i szybko zakończyć działanie po wykryciu pierwszego poważnego naruszenia.

def guarded_generate(user_input):
    for g in INPUT_GUARDS:
        verdict = g.check(user_input)
        if verdict.block:
            return safe_refusal(verdict)
    output = call_model(user_input)
    for g in OUTPUT_GUARDS:
        verdict = g.check(output)
        if verdict.block:
            return verdict.handle(output)
    return output

Mechanizmy deterministyczne i oparte na modelach

Dwa style implementacji:

  • Deterministyczne — wyrażenia regularne, schematy, listy dozwolonych i blokowanych oraz klasyfikatory ze stałymi progami. Są szybkie, tanie i możliwe do audytowania.
  • Oparte na modelach — model moderacyjny lub LLM ocenia niuanse polityki. Są elastyczne, ale wolniejsze i również zawodne.

Mechanizmy deterministyczne należy stosować do twardych reguł, a mechanizmy oparte na modelach — do ocen wymagających osądu.

Budżety opóźnienia i kosztu

Każdy mechanizm ochronny zwiększa opóźnienie. Strategie pozwalające zachować szybkość:

  • Niezależne mechanizmy ochronne wyjścia należy uruchamiać równolegle.
  • Tanie kontrole deterministyczne należy wykonywać przed kosztownymi kontrolami opartymi na modelach.
  • Należy przerwać działanie po pierwszej bezwarunkowej blokadzie.
  • Można strumieniować wynik, ale dostarczać go dopiero po przejściu krytycznych kontroli.
verdicts = await asyncio.gather(*[g.check(out) for g in OUTPUT_GUARDS])
if any(v.block for v in verdicts):
    return handle(verdicts)

Fałszywe alarmy są realnym kosztem

Zbyt agresywne mechanizmy ochronne blokują uzasadnione żądania i frustrują użytkowników, prowadząc do komunikatów „Nie mogę w tym pomóc” przy nieszkodliwych zapytaniach. Należy dostrajać progi na podstawie oznaczonego zbioru danych i traktować odsetek fałszywych alarmów jako pełnoprawną metrykę, a nie śledzić wyłącznie czułość wykrywania ataków.

Strumieniowanie komplikuje kontrolę wyjścia

Jeśli tokeny są strumieniowane do użytkownika, naruszenie wykryte z opóźnieniem może już być wyświetlone na ekranie. Możliwe rozwiązania:

  • Buforować cały wynik, przeprowadzić kontrolę, a następnie go udostępnić — najbezpieczniejsze rozwiązanie, ale o większym opóźnieniu.
  • Przeprowadzać kontrolę podczas strumieniowania na granicach zdań.
  • Strumieniować optymistycznie, ale wycofywać lub zastępować wynik po wykryciu naruszenia.

Wybór zależy od tego, jak szkodliwe byłoby ujawnienie częściowego wyniku.

Możliwość audytu i rejestrowanie

Mechanizmy ochronne są artefaktami związanymi ze zgodnością. Należy rejestrować każdy werdykt wraz z hashem danych wejściowych, identyfikatorem mechanizmu ochronnego, poziomem dotkliwości i podjętym działaniem, uważając przy tym, aby nie zapisywać samych poufnych treści. Taki rejestr potwierdza egzekwowanie zasad podczas audytów i pomaga w dostrajaniu systemu.

audit.log({'guard': g.id, 'verdict': verdict.label,
           'action': verdict.action, 'input_hash': sha256(inp)})

Mechanizmy ochronne nie zastępują dobrego projektu

Mechanizmy ochronne ograniczają ryzyko, ale go nie eliminują. Model bez dostępu do sekretu nie może go ujawnić. Należy preferować kontrole architektoniczne, takie jak zasada najmniejszych uprawnień, narzędzia o ograniczonym zakresie i nieumieszczanie poufnych danych w kontekście, a mechanizmy ochronne stosować jako ostatnią warstwę, nie jako jedyne zabezpieczenie.

Szybki test

Umieszczenie mechanizmu ochronnego w którym miejscu przede wszystkim ogranicza zużycie tokenów przy niedozwolonych żądaniach?

Podsumowanie

Podstawy mechanizmów ochronnych:

  • Deterministyczna polityka nakładana na model probabilistyczny.
  • Mechanizmy ochronne wejścia ograniczają koszty, a mechanizmy ochronne wyjścia chronią użytkowników.
  • Działania: blokowanie, redagowanie, ponowne generowanie i eskalowanie.
  • Należy łączyć kontrole deterministyczne i oparte na modelach oraz uruchamiać je równolegle.
  • Należy śledzić fałszywe alarmy, rejestrować werdykty i preferować rozwiązania architektoniczne zamiast doraźnych poprawek.

Następnie: szczegółowe filtrowanie danych wejściowych i wyjściowych.

Bezpłatny start

Ucz się AI Prompt Engineering dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
53
Lekcje
199

Często zadawane pytania

Czy lekcja „Czym są mechanizmy ochronne” jest bezpłatna?

Tak — pełny tekst „Czym są mechanizmy ochronne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Co nauczysz się w „Czym są mechanizmy ochronne”?

Bramki bezpieczeństwa i jakości Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?

Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Czym są mechanizmy ochronne”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?

Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym są mechanizmy ochronne
  2. Filtrowanie danych wejściowych i wyjściowych
  3. Walidatory schematów i reguł
  4. Walidacja przez samokrytykę
← Powrót do AI Prompt Engineering