Mój asystent AI ma dostęp do korespondencji z klientami, ofert, notatek ze spotkań i bazy projektów. Zbudowałem go po to, żeby odpowiadał mądrzej niż model, który o mojej firmie nie wie nic. W lipcu przestałem zgadywać, czy to działa, i po prostu to zmierzyłem: 60 realnych zadań z pracy firmy, trzy konfiguracje, pięć powtórzeń każdej, razem 900 przebiegów.
Przy zadaniach wymagających wiedzy o kliencie wygrał wszystkie trzydzieści, bez jednego wyjątku. A przy poleceniu „napisz krótką wiadomość z podziękowaniem" wypadł prawie dwa razy gorzej niż goły model, któremu odebrałem wszystkie narzędzia. To jest wynik, którego nie opublikuje o sobie żadna firma sprzedająca wdrożenia AI, i dlatego zaczynam serię badawczą właśnie od niego.
Pytanie, od którego się zaczęło
Zbudowałem własną wyszukiwarkę wiedzy o klientach i podłączyłem do niej asystenta. Od tamtej pory opowiadam klientom, że asystent z dostępem do dokumentów firmy jest lepszy od modelu z pudełka. Brzmi to rozsądnie, wszyscy tak mówią i intuicja to potwierdza. Tyle że intuicja nie jest dowodem, a ja opowiadam to ludziom, którzy mają za to zapłacić.
Sprawa zrobiła się niewygodna, kiedy zauważyłem coś przypadkiem. Poprosiłem asystenta o krótką wiadomość z podziękowaniem po spotkaniu. Zamiast napisać trzy zdania, zaczął dopytywać o adresata, przeszukiwać bazę i proponować trzy warianty tonu. Model bez żadnych narzędzi napisałby tę wiadomość w sekundę. Mój, z dostępem do całej bazy firmy, potraktował uprzejmość jak projekt.
Postawiłem więc pytanie w formie, która dopuszcza odpowiedź niewygodną: kiedy delegacja do wiedzy firmowej pomaga, kiedy nic nie zmienia, a kiedy szkodzi. I ile to kosztuje w złotówkach za zadanie. Zapisałem protokół, zanim uruchomiłem pierwszy przebieg, właśnie po to, żeby nie móc później dopasować metody do wyniku.
Najpierw sprawdziłem, czy ktoś już to policzył
To jest krok, który u mnie poprzedza każde badanie i który w sierpniu uratował mi tygodnie pracy. Zanim cokolwiek zmierzę, sprawdzam, czy ktoś tego już nie zmierzył. Jeśli tak, powtarzanie pomiaru jest marnowaniem czasu, a rozsądniej jest opisać cudzy wynik i dorzucić własny komentarz wdrożeniowy.
Szukałem po angielsku, w arXiv i Google Scholar. Znalazłem, że problem częściowo istnieje w literaturze i ma nawet własną nazwę, o której nie wiedziałem: halucynacja czasowa, czyli odpowiedź poprawnie oparta na materiale, który przestał być aktualny. Praca zespołu Huwiler, Stockinger i Fürst z 2025 roku opisuje system VersionRAG, który na zbiorze stu pytań o dokumenty techniczne podnosi trafność z 58 do 90 procent dzięki jawnemu modelowaniu kolejności wersji.
Różnica jest jednak zasadnicza i to ona uzasadniła moją pracę. Tamte badania dotyczą dokumentacji technicznej, w której wersje są ponumerowane i wiadomo, która jest najnowsza. Baza wiedzy małej firmy tak nie wygląda. Notatka ze spotkania i prezentacja ofertowa nie mają numerów wydania, są po prostu dwoma plikami z różnych miesięcy. Metody oparte na jawnej strukturze wersji nie mają się tu czego uchwycić. Nie znalazłem też nikogo, kto policzyłby skalę tego zjawiska na korpusie, który po prostu narósł przez rok pracy, bez myśli o ewaluacji.
Jak to zmierzyłem
Porównałem trzy konfiguracje tego samego asystenta, różniące się wyłącznie dostępem do wiedzy. Pełny to system produkcyjny, który może odpytać agenta wiedzy. Solo to ten sam asystent ze wszystkimi narzędziami oprócz dostępu do bazy wiedzy. Goły model to model bez żadnych narzędzi, czyli dolna granica odniesienia. Wariant przełącza się zmienną środowiskową, kod agenta jest w każdym przypadku identyczny.
Zestaw liczy 60 zadań wziętych z prawdziwej korespondencji i pracy firmy. Trzydzieści wymaga wiedzy o klientach, ofertach albo statusie projektu, i do każdego dopisałem złote punkty, czyli minimalny zestaw faktów, które poprawna odpowiedź musi zawierać. Pozostałe trzydzieści to zadania, które model powinien wykonać bez żadnej wiedzy firmowej: obliczenia, redakcja tekstu, zadania na logikę i zwykłe uprzejme maile.
Każde zadanie uruchomiłem pięć razy w każdym wariancie, bo model jest niedeterministyczny i to samo polecenie potrafi dać odpowiedzi różniące się liczbą kroków. Daje to 900 przebiegów. Wszystkie wykonały się bez błędu. Całość poszła w trybie piaskownicy, w którym wysyłka poczty jest przechwytywana i tylko symulowana. Sprawdziłem to przed startem, bo perspektywa 900 maili wysłanych naprawdę do klientów jest scenariuszem, po którym nie ma się już nic do mierzenia. Żadna wiadomość nie opuściła systemu. Rachunek za całość: 34,28 dolara.
Odpowiedzi ocenia model językowy wypełniający rubrykę o pięciu wymiarach, w tym poprawność w skali pięciostopniowej i dwie decyzje binarne: czy odpowiedź jest sprzeczna ze złotymi punktami oraz czy dorzuca fakty spoza klucza. To drugie rozróżnienie dodałem celowo, bo agent z dostępem do bazy często wie więcej niż klucz, a bez tego rozdzielenia każda dodatkowa informacja lądowałaby w rubryce błędów.
Gdzie dostęp do wiedzy firmowej wygrywa bezdyskusyjnie
Zacznę od wyniku korzystnego, bo jest jednoznaczny. Na zadaniach wymagających wiedzy o firmie wariant pełny osiąga poprawność 3,00 w skali pięciostopniowej. Ten sam asystent bez dostępu do bazy: 1,24. Goły model: 1,07.
Test Wilcoxona dla par zadań daje W równe zero przy p poniżej 0,001. Zero jako wartość statystyki znaczy tyle, że wariant z wiedzą wypadł lepiej we wszystkich trzydziestu zadaniach, bez ani jednego wyjątku. Rzadko widuje się tak czystą separację i tu akurat nie ma czego interpretować.
Warto jednak spojrzeć na wartość bezwzględną, zanim ktoś to sobie wydrukuje jako argument sprzedażowy. Poprawność 3,00 na skali do pięciu to wynik przeciętny, nie dobry. Mój system odpowiada wyraźnie lepiej niż jego wersja bez wiedzy, ale do niezawodności mu daleko. Jest to argument za utrzymaniem człowieka akceptującego każdą wychodzącą wiadomość, nie przeciwko niemu. U mnie nic nie wychodzi do klienta bez kliknięcia człowieka i po tym pomiarze nie zamierzam tego zmieniać.
Wynik, którego wolałbym nie publikować
Rozbicie poprawności na kategorie pokazało coś, czego nie zakładałem.
| Kategoria zadania | pełny | solo | goły model |
|---|---|---|---|
| historia współpracy | 3,16 | 1,00 | 1,08 |
| status projektu | 3,23 | 1,20 | 1,06 |
| oferta i cennik | 2,91 | 1,06 | 1,00 |
| wiedza o kliencie | 2,84 | 1,49 | 1,13 |
| obliczenia | 5,00 | 5,00 | 5,00 |
| redakcja i logika | 4,44 | 4,62 | 4,90 |
| prosty mail | 1,96 | 3,24 | 3,68 |
Na obliczeniach wszystkie trzy warianty osiągają maksimum, bo nie ma czego szukać. Na redakcji i logice różnica jest niewielka, ale idzie już w złą stronę. A na prostym mailu układ się odwraca całkowicie: goły model 3,68, mój system produkcyjny 1,96. Prawie dwa razy gorzej.
Przejrzałem odpowiedzi, żeby zobaczyć mechanizm, i on jest banalny. Zadanie brzmiało „napisz krótką wiadomość", a agent zamiast napisać wiadomość zaczyna dopytywać o adresata, przeszukiwać bazę w poszukiwaniu kontekstu i proponować warianty do wyboru. Wynikiem jest lista pytań tam, gdzie miały być trzy zdania. To nie jest problem wiedzy, tylko nadmiarowej pracy. Agent wyposażony w narzędzia traktuje proste polecenie jak zadanie wymagające przygotowania, bo ma czym się przygotować.
Ciekawe jest też to, czego się obawiałem, a co się nie potwierdziło. Standardowy zarzut wobec architektur agentowych brzmi, że model będzie wywoływał kosztowne narzędzia bez opamiętania. Nie robi tego. Po agenta wiedzy sięga w 100 procentach zadań wiedzowych i tylko w 17 procentach prostych, choć nikt mu nie mówi, do której grupy należy zadanie. Rozpoznaje to sam z treści polecenia. Problem polega na tym, że w tych pozostałych 17 procentach płaci pełną cenę i pogarsza wynik.
Ile kosztuje ta wiedza
Koszt policzyłem osobno dla każdego przebiegu, razem z pracą agenta wiedzy. To niepozorny szczegół techniczny, który zmienia całą tabelę: gdy asystent odpytuje agenta wiedzy, przekazuje mu swój identyfikator zadania, więc zużycie obu trafia pod jedną pozycję. Bez tego mierzyłbym tylko koszt orkiestratora i zaniżył rachunek o większość.
Zadanie wymagające wiedzy kosztuje w wariancie pełnym 0,685 zł. Ten sam asystent bez dostępu do bazy: 0,043 zł, czyli szesnaście razy taniej. Goły model: 0,016 zł. Czas odpowiedzi to odpowiednio 64,9 sekundy wobec 10,0 sekundy. Różnica bierze się z liczby kroków pętli, 6,8 wobec 1,7, i z długości odpowiedzi.
Przy prostym zadaniu rachunek robi się już tylko przykry, bo płacę więcej za gorszy wynik: 0,145 zł w wariancie pełnym wobec 0,013 zł u gołego modelu. Grosze, oczywiście. Ale przy kilkuset zadaniach miesięcznie to jest różnica między architekturami, którą da się policzyć z góry, i jest to argument za bramką rozstrzygającą, czy zadanie w ogóle wymaga kontekstu firmowego, a nie za rezygnacją z wiedzy. Pisałem już kiedyś o tym, że cena wdrożenia to dopiero początek, i akurat ten koszt jest z gatunku tych, których nikt na etapie oferty nie liczy.
Cztery cenniki w jednej bazie
Jest jeszcze jedna liczba, wyglądająca dla mojego systemu fatalnie. Wariant z dostępem do wiedzy popełnia halucynacje w 49 procentach zadań wiedzowych, a goły model w 3 procentach. Czytane wprost znaczy to, że podłączenie bazy wiedzy szesnastokrotnie zwiększa liczbę błędów faktograficznych, co przewraca do góry nogami wszystko, co się o wyszukiwaniu wiedzy opowiada.
Przejrzałem wszystkie 94 przypadki oznaczone jako halucynacja i sprawa okazała się subtelniejsza. Weźmy jeden, wzorcowy. Zadanie: podaj cennik usługi mailingowej. Klucz: 4 000 zł miesięcznie plus 4 000 zł wdrożenia. Agent odpowiedział: od 30 000 zł, pakiety Starter, Growth i Enterprise, brief wdrożeniowy za 5 000 zł. Sędzia uznał to za halucynację i formalnie miał rację, bo odpowiedź jest sprzeczna z kluczem.
Sprawdziłem, skąd wzięły się te liczby. Wszystkie leżą w mojej bazie. Cennik tej usługi zmieniał się cztery razy w cztery miesiące: 20 000 na stronie ofertowej w maju, 30 000 w materiałach z czerwca, 40 000 rocznie w notatce ze spotkania z lipca i wreszcie 4 000 miesięcznie w zapisie z sierpnia. Każda wersja jest udokumentowana i żadna nie została oznaczona jako nieobowiązująca. Agent trafił na wersję czerwcową i podał ją jako aktualną, bo nic w bazie nie mówiło, że nią nie jest.
To nie jest zmyślanie. To poprawne wyszukanie w źle utrzymanym zbiorze, i jest groźniejsze niż zmyślanie, bo brzmi wiarygodnie. Konfabulację poznasz po tym, że brzmi niepewnie i nie ma pokrycia w danych. Przestarzały fakt ma źródło, konkretną kwotę i nazwy pakietów. Ta odpowiedź wyglądała bardziej profesjonalnie niż prawda. Zjawisko zasługuje na osobny tekst i taki napiszę, bo próby automatycznego odróżnienia jednego od drugiego to osobna historia, w której poległem trzy razy.
Czy ocenom w ogóle można wierzyć
Wszystkie powyższe liczby wystawił model oceniający inny model, więc naturalne pytanie brzmi: dlaczego miałbym mu ufać. Sprawdziłem to drugim sędzią, zbudowanym celowo na modelu z innej rodziny, oceniającym na ślepo próbkę 60 przypadków, po dziesięć z każdej kombinacji wariantu i typu zadania. Gdybym użył tego samego modelu, zmierzyłbym zgodność systemu z samym sobą, co przy znanej skłonności modeli do faworyzowania własnych wyjść nie mówiłoby o rzetelności nic.
Zgodność liczona współczynnikiem kappa Cohena wyniosła 0,79 dla decyzji „czy to jest błąd faktograficzny" i tylko 0,40 dla oceny poprawności w skali pięciostopniowej. Innymi słowy: sędziowie zgadzają się co do tego, czy coś jest błędem, a rozchodzą się przy stopniowaniu, jak dobrze. Jest to typowe dla skal ocen i dlatego wynik główny opieram na decyzji binarnej i na różnicy między wariantami, a nie na bezwzględnej wartości oceny.
Do tego jedno zastrzeżenie, które uważam za ważniejsze niż sama kappa. Wysoka zgodność dowodzi powtarzalności ocen, nie ich trafności. Dwaj sędziowie mogą zgodnie popełniać ten sam błąd. Trafił mi się zresztą przypadek pouczający: sędzia uznał za błąd poprawną pisownię nazwiska mojej klientki, twierdząc, że prawidłowa jest inna. Wiedza oczywista dla każdego w firmie leży poza zasięgiem automatu. Gdybym poprzestał na kappie i nie przejrzał uzasadnień ręcznie, ogłosiłbym w sprawie halucynacji wniosek odwrotny do prawdziwego.
Co zmieniłem u siebie po tym pomiarze
Badanie, po którym nic się nie zmienia, jest ćwiczeniem literackim. Zmieniłem dwie rzeczy i obie działają na innym poziomie.
Pierwsza to bramka przed delegacją. Zanim asystent uruchomi pełne przetwarzanie z odpytaniem bazy wiedzy, rozstrzygana jest tania decyzja, czy zadanie w ogóle wymaga kontekstu firmowego. Prośba o uprzejmą wiadomość, obliczenie czy poprawienie tekstu idzie krótszą ścieżką, bez sięgania po dokumenty. To wprost lekarstwo na te 17 procent nadmiarowych delegacji, które kosztowały pełną stawkę i psuły wynik.
Druga zmiana dotyczy danych i uważam ją za ważniejszą, bo obowiązuje niezależnie od tego, który agent sięgnie po dokument. Wyszukiwarka wiedzy podaje teraz przy każdym znalezionym fragmencie datę dokumentu, a agent ma obowiązek wymienić wszystkie znalezione wersje faktu z datami zamiast wybierać jedną i przedstawiać ją jako obowiązującą. Dokumenty z nieaktualnymi danymi dostały nagłówek ostrzegawczy. Naprawa po stronie zachowania modelu jest kosmetyką, jeśli w bazie dalej leżą cztery cenniki bez metryczki.
Trzeciej rzeczy świadomie nie ruszyłem: człowiek nadal akceptuje każdą wiadomość wychodzącą do klienta. Poprawność 3,00 to nie jest poziom, przy którym oddaje się komuś klawiaturę.
Surowe dane
Protokół powstał przed pomiarem, wynik opublikowałem taki, jaki wyszedł, i wdrożyłem z niego wnioski u siebie. To trzy warunki, przy których liczbom z czyjejś prezentacji można w ogóle wierzyć, i przyznaję szczerze, że sam publikowałem wcześniej liczby, które spełniały tylko trzeci.
Surowe wyniki, czyli 900 przebiegów z pełnym śladem wywołanych narzędzi, 900 ocen sędziego, zestaw zadań i klucz oceny, są dostępne na życzenie. Napisz, a wyślę. Całego korpusu opublikować nie mogę, bo zawiera korespondencję z klientami, i to jest jedyne ograniczenie, na jakie się tu godzę.
Konflikt interesów zgłaszam wprost, bo ma znaczenie dla odczytu wyników: ta sama osoba, czyli ja, zbudowała badany system, zestaw zadań i klucz oceny. Dlatego opisałem metodę na tyle dokładnie, żeby dało się ją podważyć.
Słownik pojęć
- Agent AI
- Model językowy, któremu dano narzędzia i prawo samodzielnego decydowania, których użyje. Zwykły czat odpowiada tekstem, agent może po drodze wysłać maila, sprawdzić kalendarz albo przeszukać dokumenty.
- Wyszukiwanie wspomagające model
- Metoda polegająca na tym, że model przed odpowiedzią dostaje fragmenty dokumentów firmy, żeby nie musiał zgadywać. W literaturze angielskiej występuje pod skrótem RAG.
- Halucynacja
- Twierdzenie modelu sprzeczne ze stanem faktycznym albo niemające w nim pokrycia. Standardowe metryki nie odróżniają zmyślenia od poprawnego zacytowania nieaktualnego dokumentu, choć to dwa różne problemy i wymagają różnych zabezpieczeń.
- Złote punkty
- Minimalny zestaw faktów, które poprawna odpowiedź na dane zadanie musi zawierać. Klucz, względem którego liczona jest poprawność.
- Kappa Cohena
- Miara zgodności dwóch oceniających, uwzględniająca zgodność, która wyszłaby przez sam przypadek. Wartość powyżej 0,7 uznaje się za wysoką, ale mówi ona o powtarzalności ocen, nie o ich trafności.
Zanim podłączysz model do dokumentów swojej firmy, zadaj sobie jedno pytanie: ile wersji tej samej informacji leży w tych dokumentach. Jeśli odpowiedź brzmi „nie wiem", to jest pierwszy problem do rozwiązania, wcześniejszy niż wybór modelu czy narzędzia. Chcesz, żebym sprawdził to na Twoich danych albo przesłał surowe wyniki tego badania? Napisz na j.cybulski@idea4me.pl.
własnej firmie cybulski.ai JC

