49% halucynacji, które halucynacjami nie były. Czym różni się zmyślenie od wiernego cytatu ze starego dokumentu

Tabela mówiła, że mój agent zmyśla w co drugiej odpowiedzi. Dokładnie: 49 procent zadań wymagających wiedzy o firmie dostało od sędziego znacznik „halucynacja". Ten sam model bez dostępu do bazy wiedzy miał 3 procent. Gdybym pokazał tę tabelę komuś, kto rozważa podłączenie AI do dokumentów swojej firmy, wyciągnąłby jedyny możliwy wniosek: dostęp do wiedzy psuje model szesnaście razy. Lepiej zostawić go w pudełku.

Przeczytałem wszystkie 94 uzasadnienia. Zajęło mi to jedno popołudnie i zmieniło treść artykułu, który w zeszłym tygodniu złożyłem do recenzji. Bo w większości tych przypadków agent niczego nie zmyślił. Znalazł w naszej bazie prawdziwy dokument i wiernie go zacytował. Problem w tym, że dokument był z czerwca, a prawda z sierpnia. To jest tekst o tym, dlaczego słowo „halucynacja" zlepia dwa zupełnie różne błędy, czemu ten mniej spektakularny jest groźniejszy dla małej firmy, i co z tym robię u siebie, zanim radzę cokolwiek klientom.

Spis treści

Co właściwie liczy metryka halucynacji?

Zacznę od mechaniki, bo bez niej reszta brzmi jak wymówka. Dwa tygodnie temu zmierzyłem własnego agenta na 60 zadaniach z prawdziwej pracy firmy. Połowa zadań wymagała wiedzy o klientach, cennikach i ustaleniach. Do każdego z nich dopisałem złote punkty, czyli minimalny zestaw faktów, które poprawna odpowiedź musi zawierać. Potem odpowiedzi oceniał model językowy w roli sędziego, a w rubryce miał między innymi pytanie binarne: czy odpowiedź zawiera fakt sprzeczny ze złotymi punktami?

Jeśli tak, odpowiedź dostaje znacznik „halucynacja". Tak definiuje to zjawisko większość literatury i tak samo zdefiniowałem je ja. Twierdzenie niepokryte referencją albo z nią sprzeczne. Prosta, mierzalna, powtarzalna definicja. Dwaj sędziowie z różnych rodzin modeli zgodzili się co do niej w ponad 93 procentach przypadków, więc nie była to kwestia kaprysu jednego modelu.

I ta definicja jest poprawna. Sędzia nie pomylił się w tym, co mu kazałem liczyć. Sprawdziłem: w dwóch trzecich z 94 uzasadnień opisuje rzeczywistą sprzeczność z kluczem, a w żadnym nie nazwał halucynacją zwykłego pominięcia faktu. Rubryka została zrozumiana tak, jak ją napisałem.

Problem leży piętro wyżej. Definicja mówi: „sprzeczne z prawdą referencyjną". Nie mówi: „zmyślone". A to nie jest to samo. Fakt może być sprzeczny z dzisiejszą prawdą, bo model go wymyślił. Albo dlatego, że model znalazł go w dokumencie, który dwa miesiące temu był prawdą, a dziś już nie jest. Metryka widzi w obu przypadkach to samo: liczbę, która nie zgadza się z kluczem. Ja widziałem to samo, dopóki nie zacząłem czytać, skąd te liczby się wzięły.

Skąd agent wziął 30 000 zł, skoro cennik mówi 4 000?

Przypadek, który otworzył mi oczy, dotyczył naszej własnej usługi mailingowej. Zadanie brzmiało: podaj cennik. Złoty punkt: 4 000 zł miesięcznie plus 4 000 zł wdrożenia. Agent odpowiedział pewnie i szczegółowo: od 30 000 zł za trzy miesiące, pakiety Starter, Growth i Enterprise, brief wdrożeniowy za 5 000 zł. Sędzia oznaczył to jako halucynację i formalnie miał rację. Odpowiedź jest sprzeczna z kluczem w każdej liczbie.

Potem poszedłem do bazy sprawdzić, skąd agent to wziął. I znalazłem wszystko. Co do złotówki.

| Kwota | Gdzie leży w bazie | Z kiedy | |---|---|---| | 20 000 zł | pierwsza strona ofertowa | maj 2026 | | 30 000 zł za 3 miesiące | materiały startowe, prezentacja ofertowa | czerwiec 2026 | | 40 000 zł rocznie | notatka ze spotkania z klientem | lipiec 2026 | | 4 000 zł/mc + 4 000 zł wdrożenia | zapis bieżący | sierpień 2026 |

Cztery wersje jednego cennika w cztery miesiące. Każda zapisana, bo tak pracuję: notatka ze spotkania, prezentacja, porzucony landing, wszystko zostaje, bo może się przydać. Żadna nie ma nagłówka „nieaktualne". Żadna nie wie o istnieniu pozostałych. Agent trafił na wersję czerwcową, bo prezentacja ofertowa opisuje cennik bogato i tematycznie jest bliżej pytania niż jednolinijkowy zapis z sierpnia. O tym, jak doszło do czterech cenników i co zmieniłem w plikach, pisałem tydzień temu. Tu interesuje mnie co innego: co ten przypadek robi ze słowem „halucynacja".

Bo wyobraź sobie nowego pracownika. Pierwszego dnia dostaje segregator z ofertami i prośbę, żeby odpowiedział klientowi na pytanie o cenę. Otwiera segregator, znajduje prezentację z czerwca, przepisuje kwotę. Nikt mu nie powiedział, że cennik zmienił się w lipcu i jeszcze raz w sierpniu. Nikt nie wyjął starej prezentacji ani nie przybił na niej pieczątki „archiwum". Czy ten pracownik kłamał? Czy zmyślił cenę? Nie. Wykonał zadanie dokładnie tak, jak powinien, na materiale, który dostał. Winny jest segregator.

Moja pierwsza reakcja, kiedy to zobaczyłem, była prosta i zapisałem ją tego samego dnia: nie uznałbym tego za błąd, bo wtedy nikt u nas nie oznaczał, co jest aktualne. Dziś zgadzam się z nią w połowie. To nie jest błąd agenta. Ale to jest błąd, i to nasz.

Dlaczego wierny cytat jest groźniejszy od zmyślenia?

Intuicja podpowiada odwrotnie. Zmyślenie brzmi groźnie, bo kojarzy się z modelem, który wymyśla nieistniejące wyroki sądowe albo książki, których nikt nie napisał. Stary cytat brzmi jak drobiazg: ktoś zapomniał zaktualizować plik. Po przeczytaniu 94 uzasadnień uważam, że dla małej firmy proporcja jest odwrotna, i to z trzech powodów.

Zmyślenie wpada przy pierwszym sprawdzeniu

Jeżeli model wymyślił kwotę, w bazie jej nie ma. Wystarczy najprostsza kontrola: pokaż źródło. Model nie pokaże, bo źródła nie ma. Taką kontrolę da się zautomatyzować, da się wymusić w prompcie, da się nauczyć zespół, żeby pytał o źródło przy każdej liczbie. Kiedyś opisałem jak rozmawiam z AI, żeby nie zmyślała, i te zasady naprawdę działają. Na konfabulację.

Stary cytat przechodzi tę kontrolę gładko. Pokaż źródło? Proszę, prezentacja ofertowa, slajd czwarty, czerwiec. Dokument istnieje, kwota w nim stoi, cytat jest wierny. Każda weryfikacja oparta na pytaniu „czy to jest w naszych danych" odpowie: tak, jest. I będzie miała rację.

Stary cytat brzmi lepiej niż prawda

Zmyślenie zwykle brzmi niepewnie, bo model nie ma na czym oprzeć szczegółów. Odpowiedź jest ogólna, okrągła, bez struktury. Stary cytat ma wszystko, czego oczekujesz od rzetelnej odpowiedzi: konkretną kwotę, nazwy pakietów, rozbicie na etapy, bo pochodzi z dokumentu, który ktoś kiedyś starannie przygotował. W moim przypadku odpowiedź agenta z czerwcowym cennikiem wyglądała bardziej profesjonalnie niż prawda z sierpnia, która brzmi „4 000 miesięcznie plus 4 000 wdrożenia" i tyle.

Dla człowieka, który tę odpowiedź czyta, nie ma żadnego sygnału ostrzegawczego. Dla klienta, który dostałby ją w mailu, też nie. Przeczytałby profesjonalną ofertę z nieaktualną ceną i albo odszedł, bo za drogo, albo zażądał tej ceny, bo przecież napisaliśmy.

Model bez wiedzy jest bezpieczny, bo jest bezużyteczny

Te 3 procent halucynacji u gołego modelu nie oznacza, że goły model zna moją firmę. Oznacza, że na pytanie o cennik odpowiada „nie znam cennika tej firmy". To odpowiedź bezbłędna i bezwartościowa. Nie wyślesz jej klientowi, więc nikomu nie zaszkodzi.

Agent z dostępem do bazy daje odpowiedź, którą da się wysłać. To jest cała jego wartość i całe jego ryzyko w jednym zdaniu. Wariant z wiedzą jest jednocześnie bardziej użyteczny i bardziej niebezpieczny, i nie da się mieć jednego bez drugiego. Można tylko wiedzieć, skąd bierze się niebezpieczeństwo, żeby zabezpieczyć właściwe miejsce.

Ile z tych 49 procent to naprawdę zmyślenie? Uczciwie: nie wiem

Tytuł tego tekstu jest prowokacją i chcę to przyznać wprost, zanim ktoś przyłapie mnie na nadużyciu własnych danych. Nie potrafię podać liczby, która mówi: tyle procent to stare cytaty, a tyle zmyślenia. Próbowałem trzy razy, automatycznie, i wszystkie trzy metody zawiodły. W skrócie: nasza baza zawiera 132 978 unikalnych liczb, więc dowolna kwota trafia się w niej przypadkiem. Zawężanie do dokumentów na temat też nie pomogło, bo firmowe pliki poruszają po kilka tematów naraz. A tylko 22 z 94 uzasadnień sędziego wskazywało sporną liczbę wprost. Reszta opisuje sprzeczność słowami.

Co mam zamiast liczby? Próbkę, którą przeczytałem ręcznie, z bazą otwartą obok. Dziesięć przypadków, sprawdzonych fakt po fakcie. W pięciu z nich każdy sporny fakt istniał w naszej bazie w starszej wersji. W dwóch agent podał coś, czego w bazie nie było nigdzie, czysta konfabulacja. Trzy pozostałe nie zawierały konkretnego faktu do sprawdzenia, sędzia opisał sprzeczność jakościowo. Dziesięć przypadków to nie jest statystyka, to jest przegląd. Ale kierunek jest jednoznaczny i zgadza się z tym, co widziałem czytając pozostałe uzasadnienia: stare wersje dominują, konfabulacje są w mniejszości.

Dlatego w artykule, który poszedł do recenzji, napisałem „w większości", a nie „w 80 procentach". Recenzent miałby prawo zapytać, skąd ta liczba, i nie miałbym odpowiedzi. Szczerze? Wolałbym mieć twardą liczbę, bo tytuł brzmiałby mocniej. Ale pomiar, który uderzył w mój własny system, ma sens tylko wtedy, gdy nie naciągam go z powrotem w swoją stronę.

Z tej porażki wyniosłem coś ważniejszego niż liczbę. Rozstrzygnięcie, czy fakt pochodzi z bazy, wymaga sprawdzenia kontekstu, w jakim występuje. A to jest zadanie trudnością porównywalne z samym wyszukiwaniem. Nie da się tego załatwić prostym porównaniem ciągów znaków. Jeżeli kiedyś zobaczysz narzędzie, które obiecuje automatycznie odróżniać zmyślenia od starych cytatów, zapytaj, jak to robi. Ja wiem, czego nie robi.

Dwa błędy, dwa różne zabezpieczenia

Tu dochodzimy do powodu, dla którego to rozróżnienie w ogóle ma znaczenie praktyczne. Nie chodzi o to, żeby agent lepiej wypadł w tabeli. Chodzi o to, że na konfabulację i na stary cytat działają inne lekarstwa, a leczenie jednego środkiem na drugie nie daje nic.

Pomyśl o czujniku dymu i czujniku gazu. Oba wiszą w kuchni, oba ratują życie, oba robią hałas. Ale czujnik dymu nie wykryje ulatniającego się gazu, choćby był najdroższy na rynku. Jeśli po wycieku gazu uznasz, że czujnik dymu był za słaby, i kupisz lepszy czujnik dymu, przy kolejnym wycieku będziesz dokładnie tak samo bezbronny.

Przeciw konfabulacji działa to, co już znasz: wymóg podawania źródła, zakaz zgadywania, zgoda na „nie wiem", weryfikacja faktów po stronie człowieka. To jest czujnik dymu. Mój agent miał go od dawna i on działał. Dlatego te dwa czyste zmyślenia na dziesięć przypadków są dla mnie mniejszym zmartwieniem niż pięć starych cytatów.

Przeciw staremu cytatowi działa coś innego: kontrola wersji wiedzy. Konkretnie trzy rzeczy, które zrobiłem u siebie w sierpniu.

Po pierwsze, agent dostał regułę: jeśli podajesz kwotę, termin albo ustalenie, dopisz datę dokumentu. A jeśli znalazłeś dwie wersje, wymień obie z datami, zamiast wybierać jedną. To przenosi decyzję tam, gdzie powinna być, do człowieka, i robi to tanio.

Po drugie, dokumenty z nieaktualnymi danymi dostały nagłówek ostrzegawczy. Nie usunąłem ich, bo historia jest wartością. Ale czerwcowa prezentacja mówi dziś na samej górze, że cennik w niej jest historyczny. To działa na poziomie danych, więc obowiązuje niezależnie od tego, który agent po dokument sięgnie i jakim promptem go uruchomisz. Z dwóch zabezpieczeń to uważam za ważniejsze.

Po trzecie, i to było najbardziej zawstydzające: okazało się, że moja wyszukiwarka wiedzy w ogóle nie podawała agentowi daty dokumentu. Zwracała treść, ścieżkę, sekcję, kategorię, trafność. Daty nie. Agent fizycznie nie miał skąd wiedzieć, czy trzyma cennik z czerwca, czy z sierpnia, i żadna reguła w prompcie tego nie obchodzi, bo nie da się podać daty, której się nie dostało. Naprawa zajęła jedną funkcję i opiszę ją osobno, bo zasługuje na własny tekst. Tu wystarczy wniosek: zanim zbudujesz warstwę, która ma wyłapywać błędy agenta, sprawdź, czy agent dostaje dane potrzebne, żeby tych błędów nie popełniać.

Jak to przełożyć na własną firmę, nawet bez agenta?

Nie musisz mieć własnego agenta ani benchmarku na 900 przebiegów, żeby to zjawisko Cię dotyczyło. Dotyczy Cię, jeśli w firmie ta sama informacja istnieje w więcej niż jednym miejscu. A istnieje, bo tak działa firma na 10 - 50 osób: oferta w mailu, oferta w prezentacji, oferta w CRM, oferta ustalona telefonicznie i zapisana w notatce. Oto, co bym zrobił, gdybym dziś zaczynał od zera.

1. Policz wersje jednej informacji. Wybierz cennik, warunki płatności albo listę osób kontaktowych u kluczowego klienta. Znajdź wszystkie miejsca, w których ta informacja jest zapisana. Jeśli wyjdzie więcej niż jedno i żadne nie mówi, które obowiązuje, masz dokładnie mój problem, tylko jeszcze bez agenta, który go ujawni. 2. Gdy AI poda liczbę, zadaj dwa pytania, nie jedno. Pierwsze znasz: skąd to masz? Drugie jest ważniejsze: z kiedy to jest? Jeśli narzędzie nie potrafi odpowiedzieć na drugie, nie podłączaj go do dokumentów, w których informacje się zmieniają. Czyli do większości. 3. Oznaczaj stare, zamiast kasować. Nagłówek „nieaktualne od lipca, zastąpione przez..." w pliku kosztuje minutę. Usunięcie pliku kosztuje historię, do której za pół roku będziesz chciał wrócić. A stara wersja bez oznaczenia kosztuje najwięcej, bo wygląda identycznie jak nowa. 4. Słuchaj uważnie, gdy ktoś sprzedaje Ci „redukcję halucynacji". Zapytaj, co dokładnie liczy. Jeśli liczy sprzeczność z kluczem, to liczy razem zmyślenia i stare cytaty, a jego narzędzie pomaga tylko na jedno z nich. Nie jest to zarzut wobec sprzedawcy. To zarzut wobec słowa, którym wszyscy się posługujemy, ja też. 5. Zanim podłączysz model do bazy wiedzy, zrób porządek w bazie. Wiem, że to najmniej atrakcyjny punkt na liście, bo nie ma w nim żadnej technologii. Ale to jest pierwszy problem do rozwiązania, wcześniejszy niż wybór modelu, dostawcy czy metody wyszukiwania. Wybór modelu nie naprawi segregatora.

Zauważ, że cztery z pięciu punktów nie wymagają informatyka. Wymagają kogoś, kto zna firmę i wie, co w niej obowiązuje. To jest, swoją drogą, odpowiedź na pytanie, które słyszę na pierwszych spotkaniach: czy AI zastąpi osobę, która u nas wszystko wie. Nie. Ta osoba staje się ważniejsza, bo tylko ona potrafi powiedzieć, która wersja jest prawdą. Agent może co najwyżej pokazać jej, że wersji jest cztery.

Czego nauczyło mnie 94 uzasadnień

Słowo „halucynacja" jest wygodne dla wszystkich. Dla dostawcy, bo pozwala sprzedać lepszy model jako lekarstwo. Dla kupującego, bo przenosi winę na technologię: to model zmyśla, nie my. Dla mnie też było wygodne, przez jedno popołudnie, kiedy patrzyłem na 49 procent w tabeli i myślałem, że mam wynik przeciwko wyszukiwaniu wiedzy. Wynik, który byłby zresztą zgodny z tym, co lubi czytać część branży.

Potem przeczytałem uzasadnienia i okazało się, że patrzę w lustro. Większość z tego, co metryka nazwała halucynacją, to moje własne archiwum, w którym przez cztery miesiące nikt nie przybił pieczątki „nieaktualne". Agent był tylko pierwszym pracownikiem, który przeczytał segregator od deski do deski i uwierzył wszystkiemu, co w nim stoi. Ludzie w firmie tego nie robią, bo pamiętają, co ustalono w lipcu. Agent nie pamięta. Agent czyta.

I to jest myśl, którą chcę zostawić: podłączając AI do dokumentów firmy, nie dostajesz tylko asystenta. Dostajesz audytora, który bezlitośnie pokaże, ile wersji prawdy przechowujesz równolegle. Możesz to nazwać halucynacją i wymienić model. Albo nazwać to po imieniu i posprzątać. Ja wybrałem drugie, bo pierwsze nie zadziała, a sprawdziłem to na własnej firmie, zanim komukolwiek doradzę.

Słownik pojęć

  • Halucynacja (w metryce) - odpowiedź zawierająca fakt niepokryty referencją albo z nią sprzeczny. Definicja z literatury i z mojego benchmarku. Nie rozróżnia, czy fakt został zmyślony, czy poprawnie odczytany z nieaktualnego źródła.
  • Konfabulacja - fakt, którego nie ma w żadnym dokumencie, model go wytworzył. Wykrywalna przez sprawdzenie źródła, bo źródła nie ma.
  • Nieaktualne wyszukanie - fakt poprawnie odczytany z dokumentu, który przestał obowiązywać. Ma źródło, cytat jest wierny, a odpowiedź jest mimo to nieprawdziwa. W literaturze pojawia się też określenie „halucynacja czasowa".
  • RAG, czyli generowanie wspomagane wyszukiwaniem - sposób podłączenia modelu do dokumentów firmy: zamiast zgadywać, model najpierw szuka pasujących fragmentów i odpowiada na ich podstawie. Opisałem jak zbudowałem taką wyszukiwarkę u siebie.
  • Złote punkty - minimalny zestaw faktów, które poprawna odpowiedź na zadanie musi zawierać. Klucz, względem którego sędzia ocenia odpowiedź. U mnie odzwierciedlają stan z sierpnia 2026.
  • Sędzia LLM - model językowy oceniający odpowiedzi innego modelu według rubryki. Tani i powtarzalny, ale zgodność dwóch sędziów dowodzi tylko powtarzalności ocen, nie ich trafności.

Policzmy wersje w Twojej bazie, zanim zrobi to agent

Jeśli planujesz podłączyć AI do dokumentów firmy albo już to zrobiłeś i nie ufasz liczbom, które z tego wychodzą, napisz do mnie na [email protected]. Zacznę nie od modelu, tylko od pytania, ile wersji cennika leży w Twoich plikach. Odpowiedź „nie wiem" jest najczęstsza i najbardziej wartościowa, bo od niej zaczyna się porządek, który sprawia, że asystent przestaje cytować przeszłość.

Więcej o tym, jak wygląda współpraca ze mną - od pierwszej rozmowy po wdrożenie.

✓ Sprawdzone na
własnej firmie
cybulski.ai JC
You've successfully subscribed to cybulski.ai
Great! Next, complete checkout for full access to cybulski.ai
Welcome back! You've successfully signed in.
Unable to sign you in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.