Krótko o technologii: analogia prawnika
Duże modele językowe są modelami probabilistycznymi, co oznacza, że udzielane przez nie odpowiedzi mogą zawierać informacje niezgodne z rzeczywistością. Generalnie: im lepszy model i im lepsze dane, którymi go zasilamy, tym większa szansa na odpowiedzi zgodne z faktami.
Zasilanie LLM-a danymi przypomina sytuację prawnika, który udziela odpowiedzi na podstawie aktów prawnych. Najpierw musi odnaleźć właściwy dokument. Sam proces wyszukiwania jest złożony technicznie, ale dla uproszczenia załóżmy, że zawsze trafia na odpowiedni akt. Dokument ten może być wysokiej jakości albo budzić wątpliwości. Zawierać odpowiedź na pytanie petenta lub nie. W tej drugiej sytuacji prawnik może spróbować udzielić odpowiedzi w oparciu o własną wiedzę, co zawsze wiąże się z ryzykiem, że będzie ona niepełna. Im większe doświadczenie prawnika, im lepsza jego pamięć i zdolność rozumowania, tym większa szansa na trafną i użyteczną poradę.
Takie podejście – zasilanie kontekstu dużego modelu językowego trafnie dobranymi dokumentami – nazywamy RAG (z ang. Retrieval Augmented Generation). Wirtualny Asystent działa właśnie w tej technologii.
Po co nam Wirtualny Asystent
Wirtualny Asystent to rozwiązanie, którego wiedza opiera się na dokumentach dostępnych w portalu gov.pl (sprawy urzędowe dla obywatela), w informacjach o aplikacji mObywatel, w witrynie info.mobywatel.gov.pl, poradniku bezpieczeństwa, informacjach o ministerstwach oraz biografiach polityków: posłów, senatorów, ministrów, Prezydenta i Prezesa Rady Ministrów.
Naszym celem jest wykorzystanie tych źródeł w jak najlepszy sposób, żeby udzielać precyzyjnych i opartych na faktach odpowiedzi, a w szczególności informować obywateli o usługach dostępnych w aplikacji mObywatel (np. eRecepta, jakość powietrza, Moje Pojazdy) i odsyłać ich do tych usług, kiedy ma to sens.
Na etapie projektowania i procesu wytwórczego spotkaliśmy się z kilkoma konkretnymi wyzwaniami. Niżej opisujemy każde z nich i to, jak do nich podeszliśmy.
Ograniczanie niepoprawnych odpowiedzi
Wyzwanie: Istnieje duża szansa, że dokumenty, którymi dysponujemy, nie zawierają odpowiedzi na pytanie użytkownika. Zmuszanie modelu do odpowiedzi w takiej sytuacji to prosta droga do halucynacji.
Jak podchodzimy: Zbudowaliśmy mechanizm, który zanim udzieli odpowiedzi, odrzuca dokumenty niezawierające jej. Jeżeli żaden dokument nie przechodzi tego filtra, podajemy uczciwy komunikat: „Wygląda na to, że nie posiadam wystarczających danych, aby odpowiedzieć na to pytanie. Spróbuj je doprecyzować lub zadaj inne pytanie”. Wolimy powiedzieć „nie wiem” niż zmyślić.
Bezpieczeństwo treści
Wyzwanie: Asystent nie może odpowiadać na pytania dotyczące działalności niezgodnej z prawem (np. „Jak stworzyć bombę z materiałów dostępnych w sklepach?”). Musi być zabezpieczony przed przekazywaniem danych osobowych, czyli nie zapisywać treści zawierających imię, nazwisko, PESEL i podobne informacje.
Jak podchodzimy: Zbudowaliśmy autorski moduł guardrails, czyli warstwę, która sprawdza zapytania pod kątem szkodliwej treści i danych osobowych, zanim trafią one do modelu. To jak recepcja w urzędzie, która decyduje, czy dana sprawa w ogóle powinna zostać przyjęta do obsługi, i zatrzymuje to, co nie powinno trafiać dalej. Zapytania o działalność przestępczą oraz zawierające dane osobowe są skutecznie blokowane.
Suwerenność technologiczna i bezpieczeństwo danych
Wyzwanie: Rozmowy obywateli z Wirtualnym Asystentem to dane wrażliwe. Musimy mieć pewność, gdzie fizycznie się znajdują, kto ma do nich dostęp i na jakich warunkach działa infrastruktura, która je przetwarza. W przypadku infrastruktury państwowej, obsługującej setki tysięcy obywateli, nie możemy polegać na warunkach, które może jednostronnie zmienić zagraniczny dostawca.
Jak podchodzimy: Wirtualny Asystent nie korzysta z komercyjnych modeli LLM (takich jak GPT, Gemini czy Claude). Używamy wyłącznie modeli typu open source oraz polskiego modelu językowego PLLuM – w obu przypadkach hostowanych na serwerach znajdujących się na terytorium Rzeczypospolitej Polskiej.
Ta decyzja ma dwa oblicza. Modele open source nie dorównują jakością flagowym modelom komercyjnym. To trzeba przyznać wprost. Jednocześnie oferują coś, czego rozwiązania komercyjne nie mogą zagwarantować: nie da się ich odciąć. Dostawca usługi komercyjnej w dowolnej chwili może zmienić cennik, warunki, zasady dostępu, a w skrajnym scenariuszu wyłączyć nam dostęp do API. Dla prywatnej aplikacji to problem operacyjny. Dla usługi publicznej używanej przez setki tysięcy obywateli – nieakceptowalne ryzyko. Wybieramy więc trochę niższą jakość w zamian za niezależność, której nie uzyskamy w inny sposób.
Niepełna intencja w pytaniu użytkownika
Wyzwanie: Na pytanie „Jak zarejestrować pojazd?” może być kilka różnych odpowiedzi – w zależności od kontekstu: czy chodzi o pojazd sprowadzony zza granicy, czy taki, który był już wcześniej zarejestrowany w Polsce. Dochodzą pytania hasłowe, np. „Legitymacja”, gdzie w ogóle nie wiadomo, czy użytkownikowi chodzi o legitymację studencką, czy legitymację osoby niepełnosprawnej.
Jak podchodzimy: Używamy mechanizmu dopytań. Zanim asystent udzieli odpowiedzi, potrafi sam zadać pytanie precyzujące, które pozwoli mu wybrać właściwy dokument kontekstowy. Nad pytaniami hasłowymi i rozpoznawaniem intencji użytkownika nadal pracujemy; to obszar, który systematycznie rozwijamy.
Jakość danych źródłowych
Po wdrożeniu rozwiązania i ponad 420 tysiącach konwersacji z obywatelami odkryliśmy rzeczy, których z pozycji projektowej nie dało się przewidzieć.
Wyzwanie: Wirtualny Asystent odpowiada tak dobrze, jak dobre są dokumenty, którymi go zasilamy. Jeżeli źródłowa treść w gov.pl jest nieaktualna, niekompletna albo źle zredagowana, żaden model – komercyjny czy otwarty – tego nie naprawi.
Jak podchodzimy: Idziemy tu trzema torami jednocześnie. Po pierwsze, rozwijamy API do weryfikacji danych, które mają trafić do Wirtualnego Asystenta. Po to, żeby wadliwe dokumenty wyłapywać automatycznie i nie dopuszczać ich do bazy wiedzy. Po drugie, tworzymy zalecenia redaktorskie dotyczące jakości treści, tak żeby autorzy dokumentów źródłowych pisali je w sposób, który dobrze współpracuje z AI i dobrze służy czytelnikowi. Po trzecie, rekomendujemy dostosowanie przyszłych źródeł wiedzy do standardu MCP (Model Context Protocol – otwarty standard, dzięki któremu dowolny model AI może w kontrolowany sposób korzystać z danego źródła danych). Dzięki temu nie tylko Wirtualny Asystent, ale każde przyszłe rozwiązanie AI w państwie będzie mogło korzystać z tych samych, uporządkowanych danych.
Jeżeli zauważamy konkretne błędy w treści, przekazujemy informacje o nich zespołom redagującym. Standardy danych w administracji publicznej są obecnie w fazie projektowania. Zamiast czekać, aż dojrzeją, staramy się je aktywnie kształtować.
Transparentność i monitorowanie
Wyzwanie: Wdrożenie asystenta AI to nie koniec pracy, tylko jej początek. Trzeba wiedzieć, jak Wirtualny Asystent radzi sobie w prawdziwych interakcjach z użytkownikami, czy jakość rozwiązania nie obniża się z biegiem czasu i gdzie system ma największe luki.
Jak podchodzimy: Jakość odpowiedzi Wirtualnego Asystenta sprawdzamy regularnie na zestawie ponad tysiąca pytań testowych: o usługi dla obywateli, usługi dostępne w mObywatelu oraz o pozostałe źródła wiedzy (informacje o ministerstwach, biografie polityków). W ten sam sposób sprawdzamy jakość modułów wewnętrznych – guardrails oraz mechanizmu odrzucającego dokumenty niezawierające odpowiedzi. Jednocześnie sprawdzamy, o co ludzie pytają najczęściej i jak oceniają konwersacje, a następnie dostosowujemy rozwiązanie do najbardziej powtarzalnych potrzeb.
Rola obywatela
Jest jeszcze jedna rzecz, o której warto powiedzieć wprost. Jakość Wirtualnego Asystenta nie zależy wyłącznie od nas – zależy również od obywateli, którzy z niego korzystają. Ten proces zachodzi na dwóch poziomach.
Po pierwsze – w samej rozmowie z Wirtualnym Asystentem. Pytanie hasłowe typu „Legitymacja” nie daje mu szansy na trafną odpowiedź, bo nie wiadomo, o jaką legitymację chodzi. Pełne zdanie, np. „Jak wyrobić legitymację studencką?”, już tę szansę daje. Im więcej kontekstu obywatel przekaże od razu, tym mniej dopytań i tym większa szansa, że pierwsza odpowiedź będzie trafna. To nie jest wymóg. To po prostu sposób, w jaki użytkownik może poprawić interakcję z technologią i realnie wpłynąć na jakość wygenerowanej odpowiedzi.
Po drugie – na poziomie całego produktu. Oceny i komentarze dotyczące konwersacji z Wirtualnym Asystentem są dla nas ważnym sygnałem. Pokazują, gdzie radzi sobie dobrze, gdzie pojawiają się luki oraz czego brakuje w źródłach, z których korzysta. Bez tych ocen rozwijalibyśmy Wirtualnego Asystenta w dużej mierze po omacku.
Innymi słowy, Wirtualny Asystent jest produktem, który rozwija się razem ze swoimi użytkownikami. Im więcej obywateli korzysta z niego świadomie, zadając pełne pytania i oceniając odpowiedzi, tym lepiej odpowiada na realne potrzeby.
Gra zespołowa
Budowanie Wirtualnego Asystenta to cały szereg wyzwań, z którymi zespoły mierzą się zarówno na etapie projektowania i procesu wytwórczego, jak i długo po tym, gdy rozwiązanie trafi do użytkowników. Odpowiedzią na te wyzwania jest cały system procesów, obejmujący ewaluację poszczególnych komponentów, ocenę całości rozwiązania, monitorowanie tego, co dzieje się w rzeczywistych rozmowach z obywatelami, pracę nad jakością źródeł danych oraz standardami, w których te dane powstają.
Za Wirtualnym Asystentem stoi zespół ludzi, który używa tych procesów do codziennego analizowania i rozwijania produktu. Technologia (na szczęście również open source) rozwija się dynamicznie, podobnie jak know-how w administracji publicznej dotyczące budowania wysokiej jakości, ustandaryzowanych baz danych. AI nie jest magią, ale potężnym narzędziem. Wymaga ogromu pracy: część już wykonaliśmy, ale jeszcze więcej przed nami.
Na koniec warto wrócić do tego, od czego zaczęliśmy. Zaufanie do AI w państwie nie weźmie się z deklaracji, a z pracy, którą widać: z przejrzystej architektury rozwiązania, kontroli nad danymi i infrastrukturą, ciągłej ewaluacji jakości, gotowości, żeby powiedzieć „nie wiem”, kiedy naprawdę nie wiemy. Nie są to dodatki do rozwiązania, lecz jego integralne elementy, które tworzą podstawę odpowiedzialnego i przejrzystego wykorzystania AI w kontakcie obywatela z urzędem.
Przy spełnieniu tych warunków (a mamy wszystko, czego potrzeba, żeby je utrzymać), Wirtualny Asystent w mObywatelu nie będzie jednorazowym projektem. Stanie się punktem odniesienia dla rozwoju tego typu usług w polskim państwie.