# Brak wyniku to nie zero

Najgroźniejszy błąd automatu potrafi wyglądać jak zwyczajna liczba. Pokazujemy, jak zachować informację o tym, czego system nie ustalił — od pomiaru po decyzję właściciela organizacji.

L00P.AI · 1.0 · 2026-09-25

https://www.l00p.ai/zasoby/serie/brak-wyniku-to-nie-zero/

## 01 / Liczba, która nie powinna powstać

Wyobraź sobie raport z analizy stu dokumentów. Przy kategorii ważnej dla Twojej organizacji widzisz „60%”. Nie wiesz jednak, czy system przeczytał wszystkie dokumenty, czy rozpoznał kategorię w sześćdziesięciu, a przy czterdziestu jej nie znalazł. Być może dwudziestu dokumentów w ogóle nie otworzył. Każda z tych sytuacji prowadzi do innej decyzji, choć na ekranie może pojawić się ta sama liczba.

W warsztacie L00P.AI nazywamy taki problem „cichym zerem”: etap przetwarzania nie ustala wyniku, lecz przekazuje dalej zwykłą wartość. Następne etapy nie mają już z czego odtworzyć różnicy. Ładny wykres i dobrze napisany komentarz mogą wtedy tylko sprawniej rozpowszechnić błąd.

To istotne przy pracy z nagraniami, dokumentacją i archiwum. Brak wykrytego głosu może oznaczać ciszę albo niedziałający model. Brak znalezionego dokumentu może oznaczać brak dokumentu albo niepełny indeks. Pusta lista utworów może oznaczać brak muzyki albo przerwany etap jej rozpoznawania. Najpierw trzeba rozstrzygnąć, co rzeczywiście zaszło.

## 02 / Trzy stany zamiast pozornej pewności

**Ustalony**: operacja doszła do końca i wynik spełnia przyjęte warunki. Wartość może wynosić zero. Przykład: sprawdzony fragment nagrania nie zawiera poszukiwanego zdarzenia. Zero ma tu znaczenie i nie należy go usuwać.

**Nieustalony**: materiał został rozpatrzony, lecz nie wystarcza do udzielenia odpowiedzi według przyjętej metody. Mówca może być zagłuszony, klasyfikacja niejednoznaczna, a dokument niekompletny. Stan potrzebuje przyczyny, aby odbiorca wiedział, czego zabrakło.

**Błąd**: operacja nie została poprawnie wykonana. Nie udało się otworzyć pliku, brakuje narzędzia albo upłynął limit czasu. To informacja o działaniu procesu, a nie o treści materiału. W publicznym komunikacie wystarczy bezpieczna kategoria przyczyny; nie należy ujawniać sekretów z komunikatu technicznego.

Podział nie rozstrzyga, czy klasyfikacja jest prawdziwa. Ustalony wynik również może okazać się błędny. Pozwala natomiast odróżnić ocenę wymagającą sprawdzenia od sytuacji, w której oceny w ogóle nie uzyskano.

![Trzy stany: ustalony, nieustalony i błąd.](https://www.l00p.ai/wydawnictwo/brak-wyniku-to-nie-zero/trzy-stany-pl-v1.svg)

Schemat metody opracowany w kodzie przez Codex / L00P.AI. Nie jest to pomiar ani zrzut aplikacji.

## 03 / Sprawdź, co robi mianownik

Przykład jest całkowicie wymyślony: ze stu dokumentów sześćdziesiąt przypisano do wybranej kategorii, dwadzieścia do niej nie należy, a dla dwudziestu nie uzyskano wyniku. Udział kategorii **wśród ustalonych przypadków** wynosi 60 / 80 = 75%. Pokrycie wynosi 80 / 100 = 80%. Dwadzieścia przypadków pozostaje niewiadomą.

Gdyby bez uzasadnienia potraktować brak wyniku jako odpowiedź „nie”, raport pokazałby 60%. Gdyby potraktować go jako „tak”, pokazałby 80%. Uczciwy opis to zatem trzy informacje: 75% w ustalonej części, pokrycie 80% i 20 nieustalonych przypadków. Dla pełnego zbioru możliwy udział mieści się od 60% do 80%, przy założeniu poprawności już ustalonych klasyfikacji.

Interaktywny przykład działa w czytelniku HTML: https://www.l00p.ai/zasoby/serie/brak-wyniku-to-nie-zero/#przyklad

Przesunięcie suwaka zmienia liczbę brakujących wyników. W tym dydaktycznym przykładzie udział kategorii w rozpoznanej części pozostaje równy 75%, a granice dla całego zbioru rozsuwają się wraz ze wzrostem luki. Przy braku wszystkich wyników nie ma podstaw do podania procentu dla ustalonej części. Interfejs powinien pokazać „nie wyliczono”, nie zero.

Sam procent obliczony z pominięciem braków nie jest automatycznie oszacowaniem całego zbioru. Braki mogą dotyczyć właśnie trudniejszych dokumentów, innego języka lub gorszej jakości dźwięku. To błąd selekcji, którego nie naprawia poprawne dzielenie. Podane granice nie są przedziałem ufności ani miarą jakości modelu.

## 04 / Co musi przetrwać całą drogę

Wynik powinien podróżować razem ze stanem, przyczyną braku i identyfikatorem materiału. W pracy z nagraniem potrzebuje również początku i końca fragmentu. Dzięki temu można wrócić do konkretnego odsłuchu, a nie szukać uzasadnienia po całym archiwum.

Prosty kontrakt wystarcza, aby kolejne narzędzia nie pomyliły sytuacji: wynik ustalony niesie wartość; wynik nieustalony niesie brak wartości i przyczynę; błąd niesie brak wartości i kategorię usterki. Poniższy zapis jest ilustracją, nie deklaracją istniejącego formatu API Szpiega+.

```json
[
  {"stan": "ustalony", "wartosc": 0, "powod": null},
  {"stan": "nieustalony", "wartosc": null, "powod": "za_malo_danych"},
  {"stan": "blad", "wartosc": null, "powod": "narzedzie_niedostepne"}
]
```

Raport procentowy powinien obok wyniku podawać licznik, mianownik i liczbę przypadków nieustalonych oraz błędów. Należy też określić jednostkę: dokument, wypowiedź czy sekunda nagrania. Nie wolno mieszać udziału liczby fragmentów z udziałem czasu. Tę samą definicję muszą stosować tabela, wykres i komentarz modelu językowego.

## 05 / Dwa modele nie tworzą automatycznie prawdy

Drugą transkrypcję — na przykład wykonaną lokalnie przez Whisper — można zestawić z pierwszą, aby wskazać fragmenty wymagające odsłuchu. Rozbieżność jest sygnałem do sprawdzenia. Zgodność dwóch systemów nie dowodzi poprawności, ponieważ oba mogły popełnić ten sam błąd.

Dlatego po porównaniu trzeba zachować oryginalne nagranie, obie wersje tekstu, granice czasowe i decyzję o korekcie. Podobnie z usuwaniem muzyki: wykryte odcinki mogą służyć do przygotowania kopii roboczej zawierającej mowę, lecz miejsca niejednoznaczne powinny pozostać widoczne na liście do odsłuchu. Oryginału nie zastępuje się zmienionym plikiem.

To przykład zastosowania reguły, nie wynik przedstawionego tu testu Whispera ani pomiar skuteczności wykrywania muzyki. W tym wydaniu sprawdzamy rachunek i zachowanie demonstratora. Jakość modeli trzeba mierzyć na osobnym, opisanym materiale.

## 06 / Test, który powinien coś zepsuć

Odbiór systemu warto zacząć od kontrolowanego braku. Dajemy mu nieczytelny plik, celowo niedostępne narzędzie lub pusty zakres danych. Sprawdzamy, czy brak pozostaje widoczny na ostatnim ekranie, a nie tylko w technicznym dzienniku.

- Po wyłączeniu narzędzia pomiarowego wynik ma być błędem, a nie zerem.
- Przy niejednoznacznej treści system ma zachować stan nieustalony i powód.
- Przy poprawnie zmierzonej wartości zerowej musi pozostać prawdziwe zero.
- Gdy nie ma ani jednego ustalonego przypadku, nie wolno dzielić przez zero ani wyświetlać 0%.
- Po poprawce agregacji trzeba przeliczyć przykład ręcznie i porównać wszystkie formaty publikacji.

Nie wymagamy, aby po naprawie każdy wskaźnik spadał. Kierunek zmiany zależy od wcześniejszego błędu i definicji miary. Wymagamy, aby dało się wyjaśnić nową wartość, pokazać przypadki wyłączone z obliczenia i odtworzyć rachunek.

## 07 / Właściciel ustala, co oznacza wystarczająco dobrze

Jednolity dopuszczalny próg braków dla wszystkich zastosowań byłby pozorną precyzją. Inne znaczenie ma luka w roboczym wyszukiwaniu, inne w materiale przekazywanym na zewnątrz. Osoba prowadząca organizację zna skutki błędnej decyzji. To z nią należy ustalić zakres, jednostkę pomiaru, próg przerwania i sposób obsługi wyjątków.

Przydatne pytanie brzmi: **którą decyzję zmienisz, jeżeli okaże się, że jednej piątej materiału system w ogóle nie ocenił?** Odpowiedź pomaga zaprojektować kontrolę w miejscu, w którym wynik będzie użyty. Wspólny warsztat zaczyna się właśnie od takiej rozmowy o rzeczywistym procesie.

## 08 / Pochodzenie i granice tego wydania

Artykuł adaptuje wewnętrzną specyfikację „Zakaz cichych zer — reguła dla całego potoku” z 22 września 2026 oraz dokument diagnostyczny RD-044 z 20 września. Źródła odczytano w pracy nad rankingiem Zasobów 25 września. Specyfikacja opisuje wymaganie; jej istnienie nie jest dowodem pełnego wdrożenia. Wewnętrzne wyniki operacyjne zastąpiono tutaj jawnym przykładem syntetycznym.

Nie publikujemy kopii wewnętrznego zgłoszenia. Udostępniamy pełne publiczne opracowanie metody, ten sam tekst w HTML i Markdown, metrykę sekcji dla przyszłego RAG oraz demonstrator. Ilustracja jest schematem opracowanym w kodzie; nie przedstawia zrzutu aplikacji ani rzeczywistego pomiaru.

Wydanie 1.0 opracował i opublikował agent Codex na zlecenie Lecha R. Rusteckiego. Wybór tematu pochodzi ze wspólnego rankingu Claude Code i Codex. Lech otrzymuje powiadomienie po publikacji i może wycofać materiał. Nie oznaczamy tego jako wcześniejszego zatwierdzenia tekstu przez człowieka.

Korekta reguły albo błąd w przykładzie wyzwala nowe wydanie z opisem zmian. Ta strona jest częścią serii „Zaufanie do wyniku”. Częstotliwość publikowania serii nie zmienia daty sprawdzenia tego artykułu.
