Przejdź do treści

Przewodniki

Jedna zmiana od początku do końca

Twój wynik wzrósł po zmianie. Ta strona prowadzi jedną prawdziwą zmianę przez każde pytanie, które Oloproof zadaje, zanim pozwoli ją wdrożyć: czy sędzia jest wiarygodny, czy zmiana sama spełnia próg, czy jest lepsza od tego, co zastępuje, według sędziego i według ludzi, i co wypróbować dalej. System to mały bot wsparcia odpowiadający na podstawie 40 dokumentów, uruchamiany na twoim komputerze z lokalnymi modelami; każda liczba poniżej to to, co wypisał silnik. Skopiuj go z examples/one_change i uruchom REVIEWER=yourname ./run_demo.sh.

Zmiana

Prompt bazowy każe botowi zachować dokładne liczby, nazwy i jednostki. Kandydat prosi o jedno lub dwa ciepłe, naturalne zdania. Oba są uruchamiane na tych samych 120 pytaniach, z kontrolą deterministyczną (answer_correct: czy odpowiedź zawiera oczekiwany fakt) i sędzią na lokalnym modelu (judge_correct: czy odpowiada tym samym faktem):

oloproof run --policy release.yaml
oloproof run --config candidate.yaml --policy release.yaml

Odsetek poprawnych odpowiedzi wzrósł z 80.0% do 82.5%, odsetek zaliczeń sędziego z 82.5% do 83.3%. To jest pozorna poprawa. Żaden z przebiegów jeszcze niczego nie rozstrzyga: reguła wydania czyta sędziego, a sędzia nie został sprawdzony, więc reguła mówi INSUFFICIENT_EVIDENCE z evaluator_not_validated.

Czy można ufać sędziemu?

Ludzie oznaczają ślepą losową próbkę odpowiedzi kandydata, bez werdyktu sędziego, a silnik mierzy sędziego względem nich:

oloproof review CANDIDATE --criterion judge_correct --by you

W zarejestrowanej sesji sędzia zgodził się w 77 z 79 oznaczonych przypadków (97.5%, dolna granica 91.2%) przy obciążeniu -2.5 punktu, w granicach domyślnych progów (zgodność 0.70, obciążenie 0.35), więc został zwalidowany i może rozstrzygać. W tej sesji etykiety nadał agent zastępujący recenzenta, co pokazuje przebieg pracy i nie jest osądem człowieka; gdy uruchomisz to sam, recenzentem jesteś ty.

Czy kandydat sam spełnia próg?

release.yaml wymaga odsetka zaliczeń sędziego co najmniej 80%:

oloproof gate CANDIDATE --policy release.yaml --config candidate.yaml

83.3% z przedziałem od 75.4% do 89.6% obejmuje 80%, więc reguła daje INSUFFICIENT_EVIDENCE, a silnik podaje, że rozstrzygnęłoby ją około 592 przypadków. Wiarygodny sędzia nie czyni wyraźnym wyniku na granicy.

Czy jest lepszy od bazowego?

compare.yaml zadaje dwa pytania. Czy kandydat jest lepszy według sędziego, co zostaje zachowane tylko wtedy, gdy ludzie pokażą, że sędzia myli się jednakowo przy obu promptach (judge_bias_bar: 0.10)? I czy według własnych etykiet ludzi dla obu odpowiedzi na te same przypadki (people_pass_diff, metryka human_difference) jest gorszy o nie więcej niż 10 punktów?

oloproof review CANDIDATE --against BASELINE --criterion judge_correct --by you --sample 40
oloproof compare CANDIDATE BASELINE --policy compare.yaml --config candidate.yaml

Przegląd pokazuje obie odpowiedzi jako A i B, w kolejności ustalonej rzutem monetą, bez nazywania przebiegów. W zarejestrowanej sesji różnica według sędziego wyniosła +0.8 punktu (od -5.1 do +7.3): INSUFFICIENT_EVIDENCE, a do rozstrzygnięcia potrzeba by około 3,690 sparowanych przypadków. Ludzie zaliczyli kandydata 36 razy, a bazowy 35 razy w 40 parach: +2.5 punktu (od -11.1 do +17.7), więc „nie gorszy o więcej niż 10 punktów” też dało INSUFFICIENT_EVIDENCE. Bramka zablokowała. Zmiana była zmianą stylu, którą wyniki ledwie zauważyły, a 120 przypadków nie odróżni zmiany o 1 punkt od braku zmiany.

Dlaczego zawodzi tam, gdzie zawodzi?

oloproof diagnose CANDIDATE --intervention gold-context --criterion answer_correct --config candidate.yaml

Silnik ponownie uruchomił 21 porażek, podając modelowi właściwy fragment, i jeszcze raz bez niego jako kontrolę. Kontrola nie odzyskała żadnej; właściwy fragment odzyskał 14: 7, w których wyszukiwanie nigdy nie znalazło fragmentu, 7, w których został znaleziony, ale umieszczony poniżej pierwszej 3, oraz 7, które i tak zawiodły. Silnik zaproponował głębsze top_k jako hipotezę, a następnie sprawdził ją na tych samych przypadkach:

oloproof diagnose CANDIDATE --intervention top-k --top-k 8 --criterion answer_correct --config candidate.yaml

Wszystkie 7 przypadków wypchniętych z rankingu zostało odzyskanych, przy kontroli, która nie odzyskała żadnego.

Dalszy krok

followup.yaml to kandydat z top_k: 8, nowa wersja systemu uruchomiona w całości:

oloproof run --config followup.yaml --policy release.yaml
oloproof compare FOLLOWUP CANDIDATE --policy followup_compare.yaml --config followup.yaml

Jej odsetek zaliczeń sędziego wyniósł 90.0% (od 83.1% do 94.8%), więc dolny próg 80% dał PASS. Względem kandydata więcej poprawnych odpowiedzi (+3.3 punktu) nadal dawało INSUFFICIENT_EVIDENCE, a odsetek zaliczeń sędziego gorszy o nie więcej niż 5 punktów dał PASS. Sędzia został sprawdzony na odpowiedziach kandydata, nie dalszego kroku, i nikt nie oznaczył pary dalszego kroku, więc różnica według ludzi niczego tam nie rozstrzyga.

Czego to nie powie

Jeden mały bot, jedna zmiana, 120 przypadków i lokalne modele. Pokazuje, jak silnik dochodzi do każdej decyzji przy prawdziwej zmianie; nie mówi nic o innym systemie. Lokalna próbka jest w dobrej wierze: sprawdzana jest tylko próbka wylosowana przez workspace. Pełny zapis, z każdym id przebiegu, to docs/audits/DOGFOOD_LARKSPUR_2026-10-26.md. Zobacz Sędziowie, Reguły porównań, Ewaluacja RAG i Czego ewaluacja nie powie.