Pracownik zadaje pytanie i dostaje odpowiedź ze źródłem, zgodną z jego dostępem do dokumentów.
Pracownik pyta o procedurę, cennik lub ustalenie zwykłym językiem. System przeszukuje dokumenty dostępne dla tej osoby i podaje odpowiedź wraz z sygnaturą źródła. Uprawnieniami nadal zarządzają właściciele dokumentów.
Co zmierzyliśmy
Wersja demonstracyjna korzysta z 600 syntetycznych dokumentów i pięciu fikcyjnych kont. Sprawdza, czy odpowiedzi i źródła zawsze pozostają w zakresie uprawnień pytającej osoby. Nie zawiera treści ani tożsamości klienta.
- Test kontroli dostępu
- Co zmierzyliśmy
- Kontrola uprawnień i przygotowanych przypadków
- Firmowa baza wiedzy z uprawnieniami
- Zweryfikowano
- korpus syntetyczny
Problem, rozwiązanie i wynik
Problem
Wiedza jest rozproszona po dokumentach, skrzynkach i pamięci kilku doświadczonych osób. Pracownicy ciągle zadają te same pytania, ale zwykła wyszukiwarka nie rozumie pytania i nie pilnuje dostępu do treści.
Jak to działa
Tożsamość i grupy pracownika trafiają do bazy razem z pytaniem. Baza zwraca tylko dokumenty w jego zakresie, a system układa z nich odpowiedź i wskazuje źródło. Materiał bez uprawnienia pozostaje poza całym procesem.
750 par pytanie-karta, zero wydań poza zakresem
Wersja demonstracyjna korzysta z 600 syntetycznych dokumentów i pięciu fikcyjnych kont. Sprawdza, czy odpowiedzi i źródła zawsze pozostają w zakresie uprawnień pytającej osoby. Nie zawiera treści ani tożsamości klienta.
Dla kogo
Ten system ma sens, jeśli pracownicy stale pytają o informacje zapisane w dokumentach, a część materiałów jest dostępna tylko dla wybranych zespołów.
Tożsamość → zakres → odpowiedź z sygnaturą
- 01Zakres pytającego jedzie do bazy razem z pytaniem
- 02Odpowiedź i cytat pochodzą tylko z dokumentów, które ta osoba otwiera
- 03Sprzeczne źródła i prośby o szerszy dostęp wracają do człowieka
- Typ firmy
- Średnie i duże organizacje z własną bazą wiedzy i uprawnieniami
- Wejście
- Pytanie zalogowanego pracownika i grupy z jego sesji, na katalogu 600 dokumentów
- Granica
- Odpowiedź powstaje tylko z dokumentów, które karta pytającego otwiera, a odmowa brzmi tak samo, czy zamknięty dokument istnieje, czy nie
- Koszt
- 0 zł opłat zewnętrznego API w zapisanym przebiegu; 3 odpowiedzi przygotowane lokalnie, mediana 521 ms.
- Bezpieczeństwo
- Dokument poza uprawnieniami nie trafia do wyszukiwania ani do odpowiedzi. Odmowa nie ujawnia, czy taki dokument istnieje.
- Tempo
- Czas wyszukania odpowiedzi mierzymy w pilotażu na zbiorze dokumentów i uprawnieniach klienta.
- Ślad
- Historia pokazuje pytanie, zastosowany zakres dostępu, użyte źródła i wynik odpowiedzi.
- Budowa podobnego systemu
- od 25 000 zł netto · 4–10 tygodni
Granica dostępu
Dokument bez uprawnienia pozostaje poza odpowiedzią
Odpowiedź powstaje wyłącznie z dokumentów, które karta pytającego otwiera, a gdy dostępne źródła są sprzeczne, system oznacza sprawę do wyjaśnienia i nie wybiera jednej wersji. Pytanie o rzecz spoza zakresu kończy się odmową, którą pracownik może zanieść do właściciela dokumentu, i to właściciel decyduje, czy poszerzyć dostęp. Wersja demonstracyjna katalog czyta i nie dopisuje do niego notatek: zatwierdzanie treści do pamięci wspólnej zostaje pracą ludzi, a model nie ma do niej żadnego wywołania. Opcjonalny model lokalny redaguje dopiero materiał już przefiltrowany.
- Granica
- Odpowiedź powstaje tylko z dokumentów, które karta pytającego otwiera, a odmowa brzmi tak samo, czy zamknięty dokument istnieje, czy nie
- Koszt
- 0 zł opłat zewnętrznego API w zapisanym przebiegu; 3 odpowiedzi przygotowane lokalnie, mediana 521 ms.
- Bezpieczeństwo
- Dokument poza uprawnieniami nie trafia do wyszukiwania ani do odpowiedzi. Odmowa nie ujawnia, czy taki dokument istnieje.
- Tempo
- Czas wyszukania odpowiedzi mierzymy w pilotażu na zbiorze dokumentów i uprawnieniach klienta.
Słabszy wynik przy pytaniach zadanych własnymi słowami
Kiedy pytanie nie podaje sygnatury i jest zbudowane ze słów innych niż sam dokument, ranking trafia we właściwy dokument mniej więcej w połowie przypadków: 0,511 w 45 parach pytanie-karta z dostępem do szukanego dokumentu, spośród 24 parafraz zadanych bez sygnatury. Pytanie, które wypadnie poniżej progu istotności, kończy się odmową, więc bezpieczny tryb awarii dla pytającego nadal jest awarią. To granica hashowania cech w 256 wymiarach: sprawdza cały przewód wyszukiwania w zakresie i mierzy pokrycie słów, ale synonimu nie rozpoznaje, dlatego dobór i ocena wielojęzycznego modelu osadzeń na słowniku klienta to praca integracyjna. Redagowanie na modelu lokalnym sprawdziliśmy osobno na trzech przygotowanych przypadkach. Wszystkie trzy przeszły na Apple Metal, co jest sprawdzeniem integracji. W produkcji patrzylibyśmy najpierw na źródło tożsamości klienta, cykl odbierania uprawnień i bezpieczne ciasteczka, bo statyczne logowanie wersji demonstracyjnej ich nie zastępuje.
Szacowany efekt
Policz efekt na swoim wolumenie
To szacunek oparty na podanym wolumenie. Wpisz własne liczby do formuły, aby ocenić możliwy efekt w swojej firmie. Wynik potwierdzamy dopiero podczas pilotażu.
Dziś
Założenie dziś: 250 h/mies. (25 min/zapytanie)
Po uruchomieniu
Scenariusz po: 70 h/mies. (7 min/zapytanie)
Oszczędność czasu lub kosztu
Scenariusz modelowany: 135-215 h/mies., baza 180 h
- Wolumen
- Scenariusz modelowany: 600 zapytań/mies.
- Formuła
- 600 x (25 - 7) min / 60 = 180 h/mies.
- Status wyliczenia
- średnia
Dane na zrzutach. Nazwy, kwoty i dokumenty widoczne na zrzutach są syntetyczne. Dane klientów pozostają prywatne. Pomiary dotyczą opisanej wersji demonstracyjnej i są wyraźnie oddzielone od wyników produkcyjnych.
Powierzchnie pracy
Właściciele dokumentów nadal decydują o dostępie, a sprzeczne źródła rozstrzyga człowiek.
Kierownik projektu pyta o aktualną stawkę mobilizacji i dostaje 4 450 PLN netto z sygnaturą CEN-2026, choć w jego zakresie leżą dwa cenniki: odpowiedź wychodzi z wersji, która nadal obowiązuje, a starszy cennik zostaje w katalogu z datą zastąpienia. To samo pytanie od nowego pracownika kończy się jednym zdaniem odmowy, bo cennik nie leży w jego zakresie. Gdy dostępne źródła są sprzeczne, system odmawia wyboru jednej wersji i kieruje sprawę do wyjaśnienia; przy braku zakresu zwraca tę samą, nieujawniającą odmowę. Zespół bezpieczeństwa dostaje na pytanie „skąd wiadomo, że model tego nie zobaczy” odpowiedź, którą da się otworzyć: zapytanie z predykatem grup i politykę wiersza w bazie. Ile minut odda u was szukanie odpowiedzi przy waszym katalogu i waszych pytaniach, należy zmierzyć na waszych wolumenach.
Trzy ekrany: kwerenda, zestawienie kart, sprawdzenie.
Kwerenda
Pytanie, odpowiedź i sygnatura dokumentu, z którego pochodzi; jedno kliknięcie otwiera dokładny fragment.
Zestawienie kart
To samo pytanie dwiema kartami czytelnika obok siebie: wydanie z sygnaturą i odmowa bez niej.
Sprawdzenie
Zbiorczy wynik próby 24 parafraz bez sygnatury, w tym 45 par pytanie-karta z dostępem do szukanego dokumentu, pokazuje pokrycie i granicę rankingu.
Ekrany systemu
Zobacz, jak system działa w praktyce
To zrzuty z działającej aplikacji w wersji komputerowej i mobilnej. Pokazują opisany proces oraz miejsca, w których decyzję podejmuje człowiek.
- Ekrany
- 9
- px
- 1440 · 390
- 021440×1100
Ta sama jednostka HR dla dwóch zakresów: wydanie z HR-PLAC-07 obok odmowy bez sygnatury i bez zwróconych dokumentów. - 031440×1100
Podpisana sesja OIDC w kadrze telefonu: CEN-2026, dokładne źródło i zero fragmentów wczytanych przed sprawdzeniem zakresu.
Otwórz archiwum pozostałych ekranów (6)
- 041440×1100
Wersja obowiązująca - 051440×1100
Sprzeczne źródła - 061440×1100
Bezpośrednie otwarcie poza zakresem - 071440×1100
Kwerenda podpisaną kartą - 081440×1100
Macierz zakresu i cytowań - 091440×1100
RLS i ślad audytu
Stos technologiczny
Gwarancja mieszka w SQL, bo tylko tam da się ją przeczytać podczas audytu.
Ten proces nie potrzebuje orkiestracji ani osobnej bazy wektorowej: całe zapytanie to jeden SELECT z warunkiem przecięcia grup, a zabezpieczenie to polityka wiersza w tej samej bazie, która trzyma dokumenty. Osobna usługa wektorowa wyprowadziłaby listy dostępu poza miejsce, które je egzekwuje, i kazała utrzymywać dwie kopie uprawnień w zgodzie. Dzięki temu audytor sprawdza migracje i politykę w bazie, a utrzymanie sprowadza się do jednej bazy, jednej usługi API i źródła tożsamości. Bielik wchodzi dopiero po odfiltrowaniu materiału i działa na maszynie klienta, kiedy dane nie mogą wyjść na zewnątrz.
- PostgreSQL 17 z pgvector 0.8.1
- trzyma 600 dokumentów, wektory, listy dostępu, notatki i łańcuch audytu, a zakres wymusza polityką wiersza
- FastAPI 0.116.1 i psycopg
- jedna warstwa: hybrydowe zapytanie z predykatem grup i deterministyczna polityka odpowiedzi z progiem istotności
- Dex 2.43.1
- podpisuje tożsamość OIDC, więc grupy przychodzą razem z sesją jako podpisane oświadczenia
- Next.js 16.2.12 i React 19.2.8
- kwerenda, wykaz dokumentów, zestawienie kart czytelnika i ekran sprawdzenia przebiegu
- Bielik 4.5B v3.0 Instruct (MLX 8-bit)
- opcjonalne redagowanie odpowiedzi na maszynie lokalnej, wyłącznie na już przefiltrowanych fragmentach i bez narzędzi zapisu
Klient przejmuje kod, migracje z listami dostępu, instrukcje dla modeli, dane testowe i dokumentację. Wersja demonstracyjna działa jako cztery usługi Docker Compose na fikcyjnych danych i nie dotyka dokumentów, tożsamości ani poświadczeń klienta.
Szczegóły techniczne i pomiar
Pętla pracy
Najpierw kto pyta. Potem co wolno. Dopiero potem odpowiedź.
Ta kolejność jest projektem systemu. Zakres rozstrzyga się przed pierwszym odczytem tekstu, więc dokument spoza uprawnień nie ma etapu, na którym mógłby wpłynąć na odpowiedź, na cytat albo na odmowę.
Pytanie zalogowanego pracownika
Sesja: kim jest i co może otworzyć
Wyszukiwanie w zakresie → baza sprawdza zakres drugi raz
Odpowiedź z sygnaturą dokumentu
Konflikt albo brak dostępnego źródła → jedno zdanie odmowy
Pytanie, zakres i odpowiedź w łańcuchu hashy
Architektura systemu
Predykat grup w zapytaniu, polityka wiersza w bazie, model na końcu.
Dwie niezależne warstwy zakresu wokół jednego zapytania hybrydowego, deterministyczna polityka odpowiedzi w kodzie i opcjonalne redagowanie na modelu, który widzi wyłącznie przefiltrowane fragmenty.
- 01
Tożsamość
Sesja niesie login razem z grupami.
Dex podpisuje tożsamość OIDC, a sesja przenosi grupy jako podpisane oświadczenia. Zakres pytającego jest znany, zanim system sięgnie po pierwszy dokument.
- 02
Zakres
Predykat grup jest częścią zapytania.
Wyszukiwanie leksykalne i gęste biegnie w jednym zapytaniu SQL z jawnym warunkiem przecięcia grup. Dokument spoza zakresu nie pojawia się wśród kandydatów, więc nie może wpłynąć ani na ranking, ani na treść.
- 03
Wiersz
Baza wiąże aplikację polityką wiersza.
Rola „czytelnia” jest założona jako nosuperuser nobypassrls i ma na dokumentach wyłącznie prawo odczytu, a wymuszona polityka wiersza obowiązuje ją na poziomie bazy. Sprawdzamy to osobno: zapytanie bez predykatu w zakresie wspólnym zwraca 99 z 600 dokumentów.
- 04
Odpowiedź
Cytat z dokumentu albo kontrolowany status.
Polityka odpowiedzi jest deterministyczna i wyciągowa. Pytanie bez sygnatury musi przejść próg istotności: dopasowanie pełnotekstowe albo podobieństwo gęste co najmniej 0,22 przy co najmniej dwóch wspólnych tokenach. Sprzeczne źródła kończą się statusem do wyjaśnienia, brak dostępnego źródła jednym zdaniem odmowy.
Dlaczego nie filtrujemy cytatów po wygenerowaniu odpowiedzi
Filtrowanie cytatów dopiero po wygenerowaniu odpowiedzi jest za późne, ponieważ dokument zdążył już wpłynąć na treść. Dlatego uprawnienia są egzekwowane także w bazie: polityka wierszy i rola bez prawa jej obejścia ograniczają zakres już w zapytaniu SQL. Regułę można przeczytać i przetestować niezależnie od modelu.
- Zakres rozstrzyga się przed pierwszym odczytem tekstu
- Ta sama odmowa, kiedy zamknięty dokument istnieje i kiedy go nie ma
- Instrukcja ukryta w dokumencie nie poszerza zakresu
- Pytanie, zakres, użyte fragmenty i odpowiedź trafiają do łańcucha hashy
Chcesz sprawdzić podobny proces w swojej firmie?
- 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
- Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
- Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.
Terminy zobaczysz w swojej strefie czasowej.
Bez prezentacji sprzedażowej i bez zobowiązań. Jeśli automatyzacja nie ma sensu, też to napiszemy.