Walidacja przez samokrytykę
Dane wyjściowe sprawdzane przez model
Walidacja przez samokrytykę to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 4 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.
Model jako własny krytyk
Samokrytyka wykorzystuje LLM do oceny danych wyjściowych innego LLM względem zestawu kryteriów lub zasad. Wykrywa subtelne błędy, których nie da się zakodować w deterministycznych walidatorach: niespójność faktów, niewłaściwy ton, brak pomocności i nieoczywiste naruszenia zasad.
Jest uzupełnieniem walidatorów schematów i reguł opartym na modelu.
Oddzielić krytyka od autora
Krytykę należy przeprowadzać jako oddzielne wywołanie z własnym promptem, a nie jako instrukcję dopisaną na końcu generowania. Krytyk działający w czystym kontekście, poproszony wyłącznie o ocenę, jest znacznie bardziej niezawodny niż autor proszony o ocenianie własnej odpowiedzi w trakcie generowania, gdy jest stronniczy na jej korzyść.
draft = author_model(task_prompt)
verdict = critic_model(
'You are a strict reviewer. Judge ONLY the answer below against the rubric.\n'
'Rubric: ' + rubric + '\nAnswer: ' + draft
)Ustrukturyzowane dane wyjściowe krytyka
Krytyk powinien generować ustrukturyzowane werdykty, aby potok mógł reagować programistycznie. Krytyka zapisana w swobodnym tekście nie nadaje się do automatycznego przetwarzania.
CRITIC_SCHEMA = {
'type': 'object',
'properties': {
'pass': {'type': 'boolean'},
'violations': {'type': 'array', 'items': {'type': 'string'}},
'severity': {'type': 'string', 'enum': ['none','minor','major','critical']},
'fix_hint': {'type': 'string'}
},
'required': ['pass','violations','severity','fix_hint'],
'additionalProperties': False
}Pętla krytyki i poprawiania
Krytyka powinna współpracować z modułem poprawiającym. Krytyk wykrywa problemy, autor poprawia odpowiedź na podstawie krytyki, a proces jest powtarzany do uzyskania pozytywnego wyniku lub wyczerpania budżetu. Jest to oparty na modelu odpowiednik pętli naprawczej.
draft = author_model(task)
for _ in range(2):
c = critic_model(draft)
if c['pass']:
break
draft = author_model(task + '\nRevise to fix: ' + c['fix_hint'])
final = draftKryteria zwiększają niezawodność krytyki
Niejasna instrukcja („czy to jest dobre?”) prowadzi do niespójnych werdyktów. Konkretne kryteria z jawnymi, możliwymi do sprawdzenia warunkami dają spójne wyniki. Należy rozłożyć ocenę na pytania typu tak/nie, na które krytyk odpowiada osobno.
RUBRIC = [
'Does the answer directly address the user question?',
'Are all factual claims supported by the provided context?',
'Is any disallowed content present?',
'Is the response within the requested length?'
]Krytyka ugruntowana w faktach
W celu wykrywania halucynacji należy przekazać krytykowi kontekst źródłowy i poprosić go o oznaczenie każdego twierdzenia, którego nie można z niego wywnioskować. W ten sposób samokrytyka staje się kontrolą wynikania, znacznie silniejszą niż pytanie „czy to prawda?” bez przedstawienia dowodów.
verdict = critic_model(
'For each claim in the ANSWER, state whether the CONTEXT entails it. '
'Flag any unsupported claim.\nCONTEXT:\n' + ctx + '\nANSWER:\n' + draft
)Tryby błędów krytyka
Sam krytyk jest LLM i może popełniać błędy:
- Uległość — bezkrytyczne zatwierdzanie odpowiedzi autora.
- Nadmierna krytyczność — oznaczanie prawidłowych danych wyjściowych jako błędnych.
- Wspólne martwe pola — ten sam model pomija te same błędy.
Można temu przeciwdziałać, używając jako krytyka modelu z innej rodziny, ścisłej persony recenzenta i skalibrowanych progów.
Tańszy lub inny krytyk
Krytyk nie musi być najdroższym modelem. Często mniejszy model z precyzyjnymi kryteriami stanowi opłacalną bramkę, a użycie innej rodziny modeli ogranicza skorelowane martwe pola. Najsilniejszy model należy zachować do tworzenia treści.
Kiedy ufać, a kiedy weryfikować
Samokrytyka zmniejsza liczbę błędów, ale nie jest dowodem poprawności. W przypadku treści o niskiej stawce wystarczy pojedyncza iteracja krytyki. Dla danych wyjściowych o wysokiej stawce należy łączyć samokrytykę z deterministycznymi walidatorami i weryfikacją człowieka; model nigdy nie powinien być jedynym arbitrem decyzji krytycznych dla bezpieczeństwa.
Koszt, opóźnienie i buforowanie
Samokrytyka mniej więcej podwaja liczbę wywołań na żądanie. Należy to kontrolować: uruchamiać krytykę dopiero po przejściu kontroli deterministycznych (krytykować tylko to, co przeszło walidację schematu i reguł), buforować krytykę identycznych wersji roboczych oraz ograniczać liczbę rund poprawek. W miarę możliwości krytykę należy uruchamiać równolegle z pracami nieblokującymi.
if deterministic_ok(draft):
verdict = critic_model(draft) # only spend critique on viable draftsKalibracja względem ocen ludzkich
Przed zaufaniem krytykowi należy go zweryfikować. Należy przygotować zbiór danych wyjściowych ocenionych przez ludzi, uruchomić krytyka i zmierzyć zgodność (precyzję i czułość względem ludzkich werdyktów). Należy dostrajać kryteria i personę, aż oceny krytyka będą skorelowane z ocenami ludzi, a po aktualizacji modelu ponownie przeprowadzić kontrolę.
agreement = mean(critic(d)['pass'] == human_label[d] for d in eval_set)
assert agreement > 0.9Szybki test
Chcą Państwo, aby krytyk niezawodnie wykrywał halucynacje w odpowiedzi RAG. Co najbardziej zwiększy jego niezawodność?
Podsumowanie
Walidacja samokrytyczna:
- Oddzielny krytyk, działający w czystym kontekście, ocenia dane wyjściowe autora.
- Należy generować ustrukturyzowane werdykty i sterować pętlą krytyki oraz poprawiania.
- Konkretne kryteria i ugruntowane kontrole wynikania zwiększają niezawodność.
- Należy uważać na uległość i wspólne martwe pola; warto używać innego modelu jako krytyka.
- Należy kontrolować koszty, łączyć krytykę z kontrolami deterministycznymi i kalibrować ją względem ocen ludzi.
Ukończyli Państwo temat mechanizmów ochronnych. Następny kurs: red teaming i ocena adversarialna.
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 „Walidacja przez samokrytykę” jest bezpłatna?
Tak — pełny tekst „Walidacja przez samokrytykę” 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 „Walidacja przez samokrytykę”?
Dane wyjściowe sprawdzane przez model Ć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 4 z 4.
Ile czasu zajmuje lekcja „Walidacja przez samokrytykę”?
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
- Czym są mechanizmy ochronne
- Filtrowanie danych wejściowych i wyjściowych
- Walidatory schematów i reguł
- Walidacja przez samokrytykę