Ragable

← Wszystkie artykuły

Co asystent ma powiedzieć, gdy odpowiedzi nie ma w dokumentach

5 min czytania
Co asystent ma powiedzieć, gdy odpowiedzi nie ma w dokumentach

Każdy asystent oparty na wyszukiwaniu trafia w końcu na pytania, na które jego zbiór dokumentów nie odpowiada. Widziałem zespoły, które spalały tygodnie na dobieraniu rozmiaru chunków i modelu embeddingów, a potem wypuszczały coś, co wymyślało politykę firmy w sekundę po tym, jak ktoś zapytał o urlop rodzicielski w kraju, którego regulamin nigdy nie obejmował. Jakość wyszukiwania nie była tu problemem. Nikt po prostu nie ustalił z góry, co system ma powiedzieć, kiedy nie ma nic do powiedzenia.

Tryb awarii, którego nikt nie testuje

Zestawy ewaluacyjne buduje się z pytań, na które dokumenty i tak dobrze odpowiadają. To wygodnie ukrywa zachowanie, które najszybciej niszczy zaufanie. Pewna siebie, płynna i błędna odpowiedź kosztuje więcej niż milczenie, bo milczenie skłania do dopytania, a płynność do działania. Luki nie są też żadnym przypadkiem brzegowym: materiały wdrożeniowe nie nadążają za rzeczywistością, wycofane strony wiszą dalej, a połowa każdej polityki operacyjnej siedzi w głowie jednej osoby. Pytanie projektowe nie brzmi więc, czy asystent trafi na lukę. Brzmi: co z niego wtedy wyjdzie.

Trzy rodzaje braku, każdy wymaga innej odpowiedzi

Jeśli wrzucisz każdą lukę do jednego komunikatu z przeprosinami, wyrzucasz informację, z którą użytkownik mógłby coś zrobić. My dzielimy to na trzy przypadki:

  • Nic trafnego nie wróciło. Żaden fragment nie przechodzi progu trafności. Twarda odmowa plus wskazówka, gdzie to pytanie faktycznie należy zadać.
  • Wróciło coś pokrewnego. Fragmenty są na temat, ale nie zawierają konkretnego faktu. Podaj częściową odpowiedź i wyraźnie zaznacz granicę między tym, co znalazłeś, a czego nie.
  • Wróciła sprzeczność. Dwa dokumenty mówią co innego, zwykle dlatego, że jeden jest nieaktualny, a żaden nie ma daty. Pokaż oba obok siebie i zostaw ocenę czytelnikowi.

Jak napisać odmowę, żeby naprawdę się przydała

Dobra odmowa nazywa zakres, który został przeszukany, dzięki czemu czytelnik poznaje granice asystenta, zamiast się ich domyślać. Mówi, co znalazło się w pobliżu, a nie tylko czego zabrakło. I proponuje następny krok: zespół odpowiedzialny za temat, najbliższy dokument, formularz zgłoszenia. Wrogiem jest tu asekuracyjny styl. Wszystko, co czyta się jak odpowiedź, zachęca czytelnika, żeby resztę dopowiedział sobie sam.

Wskazówka: treść odmów pisz z ludźmi odpowiedzialnymi za dokumenty, nie z modelem. To oni wiedzą, gdzie każde pytanie trafia dalej.

Jak sprawić, żeby model odmawiał zamiast improwizować

Instrukcje w promptcie to najsłabszy mechanizm kontroli, jaki masz. Każ modelowi odmawiać bez dowodów, a i tak dokończy wzorzec w chwili, gdy pobrane fragmenty będą wyglądały z grubsza wiarygodnie. Egzekwowanie należy do pipeline'u, jeszcze przed generowaniem. Cztery kontrole robią większość roboty:

  1. Próg oceny: odrzucaj fragmenty poniżej progu trafności, żeby słaby kontekst nigdy nie dotarł do promptu.
  2. Pokrycie fragmentami: wymagaj, żeby każde twierdzenie dało się przypisać do pobranego fragmentu, dzięki czemu treść bez podstawy staje się wykrywalna, a nie niewidoczna.
  3. Wykrywanie sprzeczności: oznaczaj rozbieżne fragmenty zamiast po cichu wybierać jeden.
  4. Oznaczanie źródła odpowiedzi: odróżniaj treść opartą na dokumentach od wiedzy ogólnej.

Cytowania jako mechanizm odmowy, nie ozdoba

Dołącz źródło, a każda odpowiedź staje się czymś, co czytelnik może obalić w kilka sekund. O to właśnie chodzi. Traktuj to jak sterowanie przepływem, nie jak formatowanie: jeśli nie da się nic zacytować, system odmawia. Znacznie łatwiej to wyegzekwować niż jakąkolwiek instrukcję o uczciwości. Cytuj na poziomie fragmentu, nie całego dokumentu, żeby weryfikacja oznaczała przeczytanie akapitu, a nie czterdziestu stron. Produkt uboczny też jest wart zachodu: osoby odpowiedzialne za treść dostają listę tego, o co ludzie pytają, a czego dokumenty nigdy nie wyjaśniły.

Jak zamienić luki w backlog treści

Loguj każdą odmowę razem z pytaniem, pobranymi kandydatami i ich ocenami. Sam licznik nie powie ci nic, na czym da się działać. Pogrupuj te pytania, a brakujące dokumenty same rzucą się w oczy, a potem skierujesz każdą grupę do zespołu odpowiedzialnego za temat, a nie do tego, kto akurat prowadzi asystenta. Ta pętla to najmocniejszy argument za całym wdrożeniem: odmowa, która za miesiąc zamienia się w spisaną odpowiedź, już się zwróciła.

Wskazówka: przeglądaj log w stałym rytmie, bo inaczej zamieni się w tabelę, której nikt nie otwiera.

Jak to wygląda we wdrożeniach chmurowych i on-premise

Logika odmowy jest w obu przypadkach identyczna. To logi są wrażliwym elementem. Pytania użytkowników rutynowo niosą więcej poufnych szczegółów niż dokumenty, które przeszukują, bo ludzie opisują swoją realną sytuację, kiedy pytają. Uruchomienie na infrastrukturze klienta trzyma ten log luk wewnątrz perymetru i właśnie to sprawia, że da się go używać przy treściach objętych regulacjami. Granice zbioru dokumentów też różnią się w każdej instalacji, więc zakres nazywany w treści odmowy musi być konfigurowalny, a nie zaszyty na sztywno. Jest jeszcze jedna sytuacja do obsłużenia: dokument, do którego użytkownik nie ma uprawnień, powinien dawać odpowiedź o braku uprawnień, a nigdy fałszywą lukę.

FAQ

Czy częstsze odmowy sprawiają, że asystent jest mniej przydatny?

Mierzalna przydatność bierze się z odpowiedzi, którym ludzie ufają na tyle, żeby działać bez sprawdzania. Niższy odsetek odpowiedzi z weryfikowalnymi cytowaniami bije pełne pokrycie, na którym nikt nie polega, bo to drugie po pierwszym złym doświadczeniu zostaje po cichu porzucone.

Czy asystent ma sięgać po ogólną wiedzę modelu, gdy dokumenty milczą?

Tylko wtedy, gdy jest to oznaczone i wizualnie oddzielone od treści opartej na dokumentach. Pytania o wewnętrzne polityki nie mają poprawnej odpowiedzi ogólnej, więc nieoznaczone sięganie po nią jest tu nie do odróżnienia od zmyślania.

Skąd wiemy, że asystent odmawia z właściwego powodu?

Zbuduj zestaw testowy z pytań, na które twój zbiór dokumentów celowo nie odpowiada, i sprawdzaj te odmowy razem z poprawnymi odpowiedziami przy każdej zmianie. Inaczej jedna poprawka w wyszukiwaniu po cichu zamieni odmowy z powrotem w zgadywanie.

Co zbudowalibyśmy najpierw

Zacznij od progu trafności i logu odmów. Oba są tanie, oba zmieniają zachowanie systemu pierwszego dnia. Treść odmowy napisz, zanim zaczniesz stroić wyszukiwanie, bo pisanie jej wypycha pytanie o zakres na wierzch, gdzie ludzie mogą się o nie pokłócić. Potem traktuj zbierającą się listę luk jak produkt, który przeżyje model, dostawcę i docelowe środowisko wdrożenia. Asystent, który jasno mówi, czego nie wie, to jedyny rodzaj asystenta, któremu ktokolwiek uwierzy w to, co wie.

Zbuduj asystenta AI na własnych dokumentach

Ragable indeksuje Twoje pliki i odpowiada na ich podstawie, z odnośnikami do źródeł. Zacznij w SaaS albo postaw na własnej infrastrukturze.

Zacznij od 99 USD miesięcznie