JFlow Labs / WIEDZA

RAG: co to jest i jak zbudować bazę wiedzy AI na dokumentach firmy

RAG (retrieval-augmented generation, generowanie wspomagane wyszukiwaniem) to sposób budowy asystenta AI, który przed każdą odpowiedzią wyszukuje w dokumentach firmy pasujące fragmenty i odpowiada na ich podstawie, podając źródło: zapytany o okres gwarancji, cytuje Twoją kartę gwarancyjną, a nie ogólną praktykę rynkową. Model nie uczy się Twoich dokumentów, tylko czyta wybrane fragmenty przy każdym pytaniu, więc nowa wersja procedury działa, gdy tylko trafi do indeksu. Na start zwykle wystarcza gotowe narzędzie (Copilot, Gemini Notebook, projekt w ChatGPT lub Claude), a własny pipeline w n8n z pgvector opłaca się, gdy asystent ma działać w Twoich systemach i filtrować dokumenty według uprawnień.

Co to jest RAG i czym różni się od zwykłego czatu z AI?

RAG to sposób budowy asystenta AI: zanim model odpowie, dostaje kilka fragmentów Twoich dokumentów i polecenie, żeby oparł odpowiedź tylko na nich i wskazał źródło.

Zwykły czat z modelem językowym nie zna Twojego cennika, procedury reklamacji ani warunków gwarancji. Zapytany o nie, odpowie płynnie i pewnym tonem, tyle że z ogólnej praktyki rynkowej, a nie z Twoich zasad. Generowanie wspomagane wyszukiwaniem dokłada przed odpowiedzią krok wyszukiwania: system wybiera z bazy dokumentów fragmenty pasujące do pytania i dołącza je do zapytania razem z poleceniem „odpowiadaj tylko na ich podstawie i wskaż źródło”.

Najważniejsza rzecz dla właściciela firmy: model niczego się przy tym nie uczy. Fragmenty są wyszukiwane od nowa przy każdym pytaniu, więc zmiana procedury działa od chwili, gdy nowa wersja trafi do indeksu, a usunięcie dokumentu z indeksu usuwa go z odpowiedzi. Tym różni się to podejście od dostrajania modelu (fine-tuningu): dostrojony model nie wskazuje, skąd wziął informację, a zmiana faktów wymaga kolejnej rundy trenowania.

Nie każda baza wiedzy potrzebuje RAG. Anthropic w tekście o technice Contextual Retrieval z 19 września 2024 r. pisze, że bazę mniejszą niż 200 tys. tokenów, czyli około 500 stron, można w całości dołączyć do zapytania. Od tamtej pory okno modeli Claude od wersji 4.6 urosło do 1 mln tokenów w standardowej cenie, ale próg 200 tys. warto traktować jako praktyczną granicę: każde pytanie płaci za całą dołączoną bazę, a dokumentacja Anthropic zaznacza, że wraz z długością kontekstu spada dokładność. Regulamin, cennik i kilkanaście stron FAQ to często właśnie ten przypadek. Wyszukiwanie fragmentów staje się potrzebne, gdy dokumentów jest więcej, zmieniają się często albo różne osoby mają widzieć różne ich części.

W firmach taki asystent pojawia się w trzech miejscach: jako wewnętrzny asystent dla zespołu, jako czat AI na stronie firmy odpowiadający klientom i jako narzędzie, z którego korzysta agent AI dla firmy, zanim przygotuje odpowiedź albo wpis w CRM. Ten przewodnik dotyczy głównie pierwszego przypadku, bo od niego najbezpieczniej zacząć: odpowiedzi czyta pracownik, który ma szansę wyłapać błąd, zanim trafi on do klienta. Każdą liczbę, limit i cenę podaję za dokumentacją producenta albo publikacją, którą nazywam w tekście; pełna lista źródeł jest na końcu strony.

Jak to działa krok po kroku: fragmenty, wektory, wyszukiwanie i przypisy

Całość działa w dwóch etapach: raz przygotowujesz dokumenty do wyszukiwania, czyli je indeksujesz, a potem przy każdym pytaniu system wyszukuje pasujące fragmenty i podaje je modelowi.

Poniższe kroki gotowe narzędzia wykonują w tle, a we własnym pipeline ustawiasz je sam. Warto je znać nawet przy gotowym narzędziu, bo każdy błąd odpowiedzi da się przypisać do jednego z nich.

  1. Podział dokumentów na fragmentyDokument dzieli się na kawałki, które Anthropic opisuje jako zwykle nie dłuższe niż kilkaset tokenów, z zakładką, żeby zdanie przecięte na granicy trafiło do obu fragmentów. Magazyn plików OpenAI domyślnie tnie tekst po 800 tokenów z zakładką 400.
  2. Zamiana fragmentów na wektoryKażdy fragment zamienia się na wektor (embedding), czyli ciąg liczb opisujący jego znaczenie. Model text-embedding-3-small od OpenAI tworzy domyślnie wektory o 1536 wymiarach. Pytanie użytkownika trzeba zamienić tym samym modelem, bo wektory z różnych modeli nie są ze sobą porównywalne.
  3. Baza wektorowa z metadanymiWektory trafiają do bazy razem z tekstem i metadanymi: dokument, wersja, właściciel, data ważności, grupy uprawnionych. To po metadanych filtrujesz.
  4. Wyszukiwanie znaczeniowe i po słowachBaza zwraca fragmenty najbliższe znaczeniowo wektorowi pytania, ale wektory gubią dokładne oznaczenia. Anthropic podaje przykład pytania o „Error code TS-999”, w które trafia dopiero wyszukiwanie po słowach kluczowych metodą BM25. W polskiej firmie będzie to symbol produktu albo numer paragrafu w umowie.
  5. Kontekst fragmentów i rerankingW technice Contextual Retrieval Anthropic dopisuje do każdego fragmentu zwykle 50–⁠100 tokenów kontekstu z całego dokumentu. W testach Anthropic połączenie tego z BM25 zmniejszyło odsetek nieudanych wyszukiwań wśród 20 najlepszych fragmentów o 49 procent, a z rerankingiem, czyli ponowną oceną kandydatów osobnym modelem, o 67 procent. To wyniki producenta na jego zbiorach, nie obietnica.
  6. Odpowiedź z przypisamiModel dostaje pytanie, fragmenty i instrukcję, by odpowiadał tylko na ich podstawie i wskazywał źródło każdego zdania. Bez przypisów odpowiedzi nie da się szybko sprawdzić.
Pytanie do firmowej bazy wiedzy: od filtra uprawnień do odpowiedzi, którą człowiek sprawdza przed wysłaniem klientowi.
  1. 01 · StartPytanie w czacie zespołuHandlowiec pyta o okres gwarancji na urządzenie z oferty. Pytanie trafia do przepływu z identyfikatorem pytającego.n8n
  2. 02 · AutomatFiltr uprawnień przed wyszukaniemSystem ustala grupy pytającego i przeszukuje tylko fragmenty z tymi grupami w metadanych i z aktualną datą ważności.PostgreSQL z pgvector
  3. 03 · AutomatWyszukanie i ocena fragmentówWyszukiwanie wektorowe i po słowach kluczowych daje kandydatów, reranker wybiera najlepsze. Brak trafień oznacza odpowiedź „nie wiem”.
  4. 04 · AutomatWersja robocza z przypisamiModel pisze odpowiedź wyłącznie z podanych fragmentów i przy każdym zdaniu wskazuje dokument oraz jego wersję.
  5. 05 · CzłowiekCzłowiek sprawdza przed wysyłkąJeśli odpowiedź ma trafić do klienta, handlowiec otwiera przypis, porównuje treść ze źródłem i dopiero wtedy wysyła.
  6. 06 · EfektOdpowiedź ze źródłem i ślad w loguKlient dostaje sprawdzoną odpowiedź, a log zapisuje pytanie, użyte fragmenty i decyzję osoby, która ją zatwierdziła.

Odzyskany czasHandlowiec nie przekopuje folderów, tylko sprawdza gotowy szkic ze źródłem i ma czas na rozmowę z klientem o tym, czego w dokumentach nie ma.

Jakie dokumenty się nadają, a jakich nie wrzucać?

Najlepiej sprawdzają się dokumenty, które mają jednego właściciela i aktualną wersję, a odpowiadają na pytania zadawane co tydzień: procedury, oferta, standardowy cennik i dokumentacja techniczna.

Kryterium jest proste: czy pracownik, który sam znalazłby ten dokument, mógłby na jego podstawie odpowiedzieć klientowi bez pytania przełożonego. Jeżeli odpowiedź zależy od interpretacji albo negocjacji, asystent może najwyżej wskazać dokument. Przy umowach lepiej działa pytanie „pokaż paragraf o karach umownych w umowie z klientem X” niż „czy możemy naliczyć karę”, bo pierwsze kończy się cytatem, a drugie oceną prawną, której model nie powinien wydawać.

Które dokumenty wrzucić do bazy wiedzy AI w małej firmie i na co przy nich uważać.
Rodzaj dokumentuCzy do bazyNa co uważać
Procedury i instrukcje stanowiskoweTak, w pierwszej kolejnościJedna obowiązująca wersja z datą i właścicielem; stare wersje poza bazą.
Oferta, opisy usług, standardowy cennikTakData ważności w metadanych; cenniki indywidualne i rabaty poza bazą albo w osobnej grupie uprawnień.
Dokumentacja techniczna, karty katalogowe, DTRTakTabele i rysunki zapisane jako obraz trzeba przepisać albo opisać tekstem, bo część narzędzi czyta z plików tylko tekst.
Wzory umów i ogólne warunkiTak, jako wzoryAsystent wskazuje zapis, interpretację zostawiasz prawnikowi.
Umowy z konkretnymi klientamiZ ostrożnościąDane osobowe i tajemnice kontrahenta; dostęp tylko dla osób, które i tak pracują z tym klientem.
Dokumenty kadrowe i płacoweNie do wspólnej bazyMogą zawierać dane o zdrowiu, czyli szczególną kategorię danych z art. 9 RODO; jeśli w ogóle, to osobna baza dla kadr.
Korespondencja mailowaRaczej nieDużo danych osobowych i nieaktualnych ustaleń; lepiej spisać z niej wnioski do FAQ.
Wiedza „z głowy” doświadczonych pracownikówTak, po spisaniuZwykle nie istnieje na piśmie, więc jej spisanie trzeba zaplanować jako osobne zadanie z konkretną osobą.

Jak przygotować dokumenty: wersje, właściciele i daty ważności

Przygotowania dokumentów żadne narzędzie nie zrobi za Ciebie, a model odpowie najwyżej tak dobrze, jak dobre są fragmenty, które dostanie.

Asystent powtórzy błąd zapisany w bazie tym samym pewnym tonem co prawdę. Typowy problem to dwa dokumenty o tym samym: regulamin z ubiegłego roku i jego nowa wersja oba pasują do pytania, więc odpowiedź raz pochodzi z jednego, raz z drugiego. Dla danych osobowych to także wymóg prawny: art. 5 ust. 1 lit. d RODO mówi, że mają być prawidłowe i w razie potrzeby uaktualniane.

  1. Spis źródełWypisz, skąd ludzie dziś biorą odpowiedzi: folder na dysku, SharePoint, segregator, skrzynka szefa. Przy każdym pliku zapisz, kto go zmienia.
  2. Jedna obowiązująca wersjaStare wersje przenieś do archiwum poza bazą. Plik „cennik_final_v3_popr.pdf” obok „cennik_2026.pdf” to gotowy przepis na złą odpowiedź.
  3. Właściciel i data przegląduKażdy dokument ma osobę odpowiedzialną za treść i datę ważności albo przeglądu. Obie trafiają do metadanych, żeby wyszukiwanie pomijało dokument po terminie.
  4. Tekst zamiast obrazkaWedług pomocy Claude z dokumentów innych niż PDF wydobywany jest tylko tekst, więc obraz osadzony w pliku Word zostaje pominięty, a Gemini Notebook nie importuje przypisów ani komentarzy z plików Google. Ważne dane trzymaj w treści.
  5. Nagłówki i krótkie sekcjeJedna sekcja z nagłówkiem odpowiada na jedno pytanie. Wyjątki zapisz wprost, bo model nie domyśli się, czego firma nie robi.
  6. Opisowe nazwy plików„Procedura reklamacji 2026-09.pdf” pomaga zarówno wyszukiwaniu, jak i osobie, która sprawdza przypis. „skan0042.pdf” nie pomaga nikomu.
  7. Kontrola ukrytej treściBiały tekst na białym tle trafi do indeksu tak samo jak treść widoczna. OWASP opisuje scenariusz ataku, w którym polecenie ukryte w CV każe systemowi polecić kandydata. Dokumenty z zewnątrz sprawdzaj przed dodaniem.

Copilot, Gemini Notebook, ChatGPT czy Claude: gotowe narzędzia bez programowania

Jeżeli firma pracuje w Microsoft 365 albo Google Workspace, pierwszą bazę wiedzy zwykle da się zbudować w narzędziu, za które już płaci albo które dokupi jako dodatek, bez pisania kodu.

Cztery popularne opcje różnią się tym, skąd biorą dokumenty i jak dziedziczą uprawnienia. Dwie mają nowe nazwy: dokumentacja Microsoft Learn podaje, że Microsoft 365 Copilot nazywa się teraz Microsoft Copilot, a Google ogłosił na blogu Google Workspace Updates 16 lipca 2026 r., że NotebookLM zmienia nazwę na Gemini Notebook. Projekty w ChatGPT i Claude to przestrzenie z plikami i instrukcjami.

Limity w tabeli pochodzą ze stron pomocy producentów. Google zaznacza, że limity Gemini Notebook mogą się zmieniać, a od 2 września 2026 r. liczy też zużycie mocy obliczeniowej: limit odnawia się co 5 godzin, aż do limitu tygodniowego. Przed decyzją sprawdź je u źródła.

Gotowe narzędzia do bazy wiedzy AI w firmie według stron pomocy i dokumentacji producentów.
KryteriumMicrosoft CopilotGemini Notebook (dawniej NotebookLM)Projekty w ChatGPTProjekty w Claude
Skąd bierze dokumentyZ Microsoft Graph: dokumenty, poczta, kalendarz, czaty, spotkania; inne systemy przez łączniki Graph.Ze źródeł notatnika: pliki, Dokumenty Google, strony WWW, nagrania; pliki z Dysku synchronizują się co kilka minut.Z plików wgranych do projektu oraz linków do Google Drive i kanałów Slacka.Z plików i tekstu wgranych do wiedzy projektu.
LimityDziała na treściach, do których użytkownik ma co najmniej uprawnienie do wyświetlania.50 źródeł na notatnik w wersji bezpłatnej, 100 w Google AI Plus, 300 w Pro; źródło do 500 tys. słów lub 200 MB.5 plików na projekt w Free, 25 w Go i Plus, 40 w Pro, Business, Enterprise i Edu; najwyżej 10 plików naraz.Plik do 30 MB; treść musi zmieścić się w oknie kontekstu, a na planach płatnych tryb RAG zwiększa pojemność do 10 razy.
UprawnieniaDziedziczy uprawnienia z SharePointa i OneDrive; ryzykiem jest zbyt szerokie udostępnianie.Plik z Dysku zaimportujesz tylko z prawem co najmniej do wyświetlania; źródło jest kopią lub synchronizowaną wersją dokumentu.Członkowie wspólnego projektu widzą jego pliki, czaty i instrukcje; osoby z prawem edycji mogą dodawać i usuwać pliki.Udostępnianie projektów tylko w planach Team i Enterprise.
Trenowanie na danychPrompty, odpowiedzi i dane z Microsoft Graph nie trenują modeli bazowych.Konta Workspace: treści nie są przeglądane przez ludzi ani używane do trenowania modeli.Business, Enterprise i Edu: domyślnie bez trenowania; konta osobiste: zależnie od ustawienia „Improve the model for everyone”.Produkty komercyjne, w tym Claude for Work i API: domyślnie bez trenowania.
Kiedy wystarczyFirma pracuje w Microsoft 365 i ma uporządkowane uprawnienia.Zespół pracuje w Google Workspace, a baza mieści się w kilku notatnikach.Mały zespół, jeden temat, kilkadziesiąt plików.Długie dokumenty, mały zespół na planie Team.

Własny pipeline w n8n i PostgreSQL z pgvector: kiedy ma sens i jak wygląda

Własny pipeline opłaca się wtedy, gdy gotowe narzędzie przestaje wystarczać: asystent ma pracować w Twoich systemach, filtrować dokumenty według uprawnień i zapisywać, z czego powstała każda odpowiedź.

Gotowe narzędzie zaczyna uwierać, gdy asystent ma działać poza oknem czatu, gdy dokumenty żyją w systemie, którego narzędzie nie obsługuje, albo gdy różne osoby mają widzieć różne fragmenty tej samej bazy. Typowy zestaw, który buduję w takiej sytuacji, to n8n jako orkiestracja i PostgreSQL z rozszerzeniem pgvector jako baza wektorowa. pgvector dodaje do Postgresa typ vector, operatory odległości, w tym <=> dla odległości kosinusowej, oraz indeksy HNSW i IVFFlat. Wektory leżą obok zwykłych tabel, więc w jednym zapytaniu filtrujesz po uprawnieniach i dacie ważności.

W n8n jest do tego węzeł PGVector Vector Store z trybami wstawiania i wyszukiwania dokumentów oraz filtrem metadanych. Uwaga na węzeł Simple Vector Store: dokumentacja n8n zaleca go tylko do prac rozwojowych, bo trzyma dane w pamięci, traci je po restarcie, a jego klucze są globalne, więc każdy użytkownik instancji odczyta zapisane w nim dane niezależnie od uprawnień do przepływu.

Uprawnienia egzekwuję w deterministycznym kroku przepływu, a nie w poleceniu dla modelu. Dokumentacja n8n opisuje filtr metadanych węzła PGVector przy trybie Get Many, z warunkami łączonymi przez AND, więc przy rozbudowanych regułach dostępu wolę własne zapytanie SQL z parametrami, jak w listingu poniżej.

Pułapka opisana w dokumentacji pgvector: przy indeksie przybliżonym filtr WHERE działa dopiero po przeszukaniu indeksu. Jeśli warunek pasuje do 10 procent wierszy, a hnsw.ef_search ma domyślną wartość 40, zapytanie zwróci średnio tylko 4 wiersze. Od wersji 0.8.0 pomaga iteracyjne skanowanie, włączone w drugim listingu. Wyszukiwanie hybrydowe zrobisz, łącząc pgvector z wyszukiwaniem pełnotekstowym Postgresa i scalając wyniki metodą Reciprocal Rank Fusion.

Gdy z tej samej bazy ma korzystać kilka narzędzi, wyszukiwanie warto wystawić przez protokół MCP, z jednym miejscem kontroli uprawnień; kiedy to ma sens, opisuję w przewodniku własny serwer MCP. Hosting n8n bez wysyłania dokumentów poza firmę opisuje przewodnik n8n na własnym serwerze, a agenta z narzędziem wyszukiwania agent AI w n8n.

PostgreSQL z pgvector: tabela fragmentów z metadanymi do filtrowania (wymiar 1536 odpowiada domyślnemu wymiarowi text-embedding-3-small)
CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE fragmenty (
  id          bigserial PRIMARY KEY,
  dokument    text   NOT NULL,         -- np. Procedura reklamacji
  wersja      text   NOT NULL,         -- np. 2026-09
  wlasciciel  text   NOT NULL,         -- kto odpowiada za treść
  wazny_do    date,                    -- NULL oznacza brak terminu
  grupy       text[] NOT NULL,         -- kto może zobaczyć fragment
  tresc       text   NOT NULL,
  embedding   vector(1536) NOT NULL
);

CREATE INDEX ON fragmenty USING hnsw (embedding vector_cosine_ops);
CREATE INDEX ON fragmenty USING gin (grupy);
Wyszukiwanie z filtrem uprawnień i daty ważności: $1 to wektor pytania, $2 to tablica grup pytającego
BEGIN;
SET LOCAL hnsw.iterative_scan = strict_order;  -- pgvector 0.8.0 lub nowszy

SELECT dokument,
       wersja,
       tresc,
       1 - (embedding <=> $1) AS podobienstwo
FROM fragmenty
WHERE grupy && $2                              -- część wspólna z grupami pytającego
  AND (wazny_do IS NULL OR wazny_do >= current_date)
ORDER BY embedding <=> $1
LIMIT 20;
COMMIT;

Uprawnienia: jak sprawić, żeby asystent nie pokazał dokumentów kadrowych całej firmie

Asystent AI nie może widzieć więcej niż osoba, która zadaje pytanie, a filtr uprawnień musi działać przed wyszukiwaniem, nie w instrukcji dla modelu.

Polecenie „nie pokazuj danych z kadr” w instrukcji systemowej nie jest zabezpieczeniem, bo model może go nie posłuchać, a sprytne pytanie potrafi je obejść. Dokumenty, których pytający nie może zobaczyć, nie mogą w ogóle wejść do wyników wyszukiwania. OWASP w opisie ryzyka LLM08:2025 zaleca to wprost: magazyn wektorów świadomy uprawnień i ścisłe rozdzielenie danych różnych grup użytkowników.

W Microsoft 365 ten mechanizm już działa: według dokumentacji Microsoftu Copilot pokazuje tylko dane, do których użytkownik ma co najmniej uprawnienie do wyświetlania. Kłopot leży gdzie indziej, bo według Microsoftu SharePoint domyślnie ustawia udostępnianie na najbardziej liberalną opcję. Folder „Kadry” udostępniony kiedyś całej organizacji jest dla Copilota równie dostępny jak regulamin pracy. Przed wdrożeniem przejrzyj raporty dostępu do danych w SharePoint Advanced Management, a witryny wrażliwe wyłącz z wyszukiwania funkcją Restricted Content Discovery, która nie zmienia uprawnień do samej witryny.

W pozostałych gotowych narzędziach granicą jest projekt albo notatnik: wspólny projekt w ChatGPT pokazuje członkom wszystkie pliki, a źródło w Gemini Notebook jest według pomocy Google kopią albo synchronizowaną wersją dokumentu. Udostępnienie notatnika lub projektu traktuj jak udostępnienie wszystkich dokumentów w środku.

Przy dokumentach kadrowych dochodzi RODO. Zaświadczenia lekarskie czy orzeczenia o niepełnosprawności to dane dotyczące zdrowia, czyli szczególna kategoria z art. 9, a art. 25 ust. 2 wymaga, by domyślnie przetwarzane były tylko dane niezbędne do celu, także pod względem tego, kto ma do nich dostęp. Najprostsza zasada: kadry mają osobną bazę albo nie mają jej wcale. Wstrzykiwanie poleceń i uprawnienia narzędzi omawiam w przewodniku bezpieczeństwo agenta AI.

Przed uruchomieniem testuję uprawnienia czterema rodzajami pytań:

Jak testować odpowiedzi i nauczyć system mówić „nie wiem”

Jakość asystenta sprawdzasz na zestawie prawdziwych pytań z odpowiedziami wzorcowymi, a nie na pokazie, w którym ktoś zadaje trzy pytania, na które zna odpowiedź.

RAG ogranicza zmyślanie, ale go nie usuwa. Varun Magesh i współautorzy w badaniu opublikowanym 30 maja 2024 r. sprawdzili narzędzia do wyszukiwania prawniczego oparte na RAG, reklamowane jako wolne od halucynacji. Halucynacji było mniej niż w ogólnym GPT-4, ale każde z badanych narzędzi LexisNexis i Thomson Reuters halucynowało w 17–⁠33 procentach przypadków. Nie ma powodu zakładać, że firmowe narzędzie złożone w tydzień i nigdy nieprzetestowane wypadnie lepiej. Microsoft pisze podobnie o Copilocie: odpowiedzi nie są gwarantowane jako w pełni zgodne z faktami i przed wysłaniem trzeba je ocenić.

Błędy RAG mają dwa źródła i warto mierzyć je osobno: albo wyszukiwanie nie znalazło właściwego fragmentu (poprawiasz podział dokumentów, metadane, słowa kluczowe), albo fragment był, a model źle go odczytał (poprawiasz instrukcję i bramkę „nie wiem”). Dlatego w logu zapisuję też listę fragmentów, które trafiły do modelu.

„Nie wiem” trzeba zbudować. Pierwsza warstwa to instrukcja, która pozwala modelowi przyznać, że w dokumentach nie ma odpowiedzi, i zakazuje uzupełniania luk wiedzą ogólną. Druga, ważniejsza, działa po stronie serwera: jeśli żaden fragment nie przekroczył progu podobieństwa, model w ogóle nie jest pytany, a pytający dostaje informację, kto zna odpowiedź. OpenAI ma w wyszukiwaniu parametr score_threshold od 0 do 1; w pgvector próg ustawiasz na wyliczonym podobieństwie.

Każde „nie wiem” zapisuję razem z pytaniem, bo po miesiącu ta lista jest gotowym planem uzupełnienia dokumentów. Wszystko, co wychodzi do klienta, przechodzi przez człowieka, który otwiera przypis i porównuje odpowiedź ze źródłem; jak ustawić taki punkt akceptacji, opisuję w przewodniku człowiek w pętli.

  1. Zbierz prawdziwe pytaniaPrzez dwa tygodnie zapisuj pytania zespołu i klientów, razem z literówkami, skrótami i potocznymi nazwami produktów.
  2. Dopisz odpowiedź wzorcową i źródłoPrzy każdym pytaniu osoba znająca temat wpisuje poprawną odpowiedź i dokument, z którego ona wynika.
  3. Dodaj trudne pytaniaDopisz pytania, na które baza nie zna odpowiedzi, pytania o zasady, które już nie obowiązują, pytania wymagające połączenia dwóch dokumentów oraz pytania o dane, do których pytający nie ma dostępu.
  4. Oceniaj dwa wynikiCzy wśród fragmentów był właściwy i czy odpowiedź zgadza się ze źródłem. Przy pytaniach bez odpowiedzi poprawny wynik to „nie wiem”.
  5. Powtarzaj po każdej zmianieNowy model, inny podział, zmieniona instrukcja: ten sam zestaw i te same kryteria. Anthropic podsumowuje to krótko: zawsze uruchamiaj ewaluacje.

Ile kosztuje baza wiedzy AI w małej firmie?

Na koszt bazy wiedzy AI składają się licencje albo opłaty za model, przechowywanie wektorów, serwer i czas osoby, która pilnuje dokumentów; samo indeksowanie to zwykle najmniejsza pozycja, co pokazuje przykład z dokumentacji OpenAI poniżej.

Gotowe narzędzia rozlicza się od użytkownika. Dodatek Microsoft 365 Copilot dla firm kosztuje według polskiego cennika Microsoftu regularnie od 18,20 € netto za użytkownika miesięcznie przy płatności rocznej, a w promocji obowiązującej od 1 lipca do 31 grudnia 2026 r. od 15,60 € w pierwszym roku, przy zobowiązaniu rocznym. Przy płatności miesięcznej cena wynosi 21,84 €. Dodatek wymaga kwalifikującego się planu Microsoft 365 i obejmuje maksymalnie 300 użytkowników. Ceny ChatGPT, Claude i planów Google porównuj w cennikach w dniu decyzji, przy tym samym okresie rozliczenia.

Własny pipeline rozlicza się od użycia, a indeksowanie jest tanie: według przykładu w dokumentacji OpenAI za jednego dolara model text-embedding-3-small przetworzy około 62,5 tys. stron, przy założeniu około 800 tokenów na stronę. Przechowywanie w magazynie wektorów OpenAI jest bezpłatne do 1 GB łącznie, a powyżej kosztuje 0,10 USD za GB dziennie. Przy pgvector płacisz za serwer z PostgreSQL.

Rachunek rośnie przy odpowiadaniu, nie przy indeksowaniu, bo każde pytanie wysyła do modelu porcję fragmentów; w testach Anthropic najlepiej wypadło podawanie 20 fragmentów na pytanie, więcej niż 5 czy 10. Reranking ma tu zysk i koszt: według Anthropic do modelu trafia mniej tekstu, więc odpowiedź jest tańsza, ale sam reranker dodaje krok, który trochę wydłuża czas odpowiedzi.

Pozycja, o której łatwo zapomnieć, to czas człowieka, który aktualizuje dokumenty, przegląda pytania bez odpowiedzi i powtarza testy. Bez niego baza wiedzy szybko się starzeje. Pełny koszt agenta, łącznie z utrzymaniem i opłatami za model, rozpisuję w przewodniku ile kosztuje agent AI, a widełki moich wdrożeń są w cenniku, w pozycji „Automatyzacja procesu lub agent AI”.

Cenniki i przepisy się zmieniają. Linki do źródeł są na dole strony.

RODO i bezpieczeństwo danych: umowa powierzenia, trenowanie modeli, usuwanie

Dostawca narzędzia albo modelu przetwarza dokumenty firmy w jej imieniu, więc potrzebujesz umowy powierzenia, wiedzy o tym, czy dane trenują model, i planu usuwania danych z indeksu.

Art. 28 ust. 3 RODO wymaga umowy z podmiotem przetwarzającym, określającej między innymi przedmiot, czas trwania, cel przetwarzania, rodzaj danych i kategorie osób. Konto prywatne pracownika nie daje firmie ani takiej umowy, ani kontroli nad danymi, więc baza wiedzy działa wyłącznie na kontach firmowych.

Drugie pytanie: czy dokumenty trenują model. Odpowiedzi czterech dostawców zebrałem w tabeli w sekcji o gotowych narzędziach. Jeden szczegół łatwo przeoczyć: w Anthropic opinia wysłana przyciskiem oceny odpowiedzi zapisuje całą rozmowę na okres do 5 lat, ale właściciel planu Team lub Enterprise może tę funkcję wyłączyć.

Trzecie: gdzie trafiają dane. Microsoft deklaruje, że dla klientów z Unii Copilot działa w granicach EU Data Boundary, z wyjątkiem dostępnych w nim modeli Anthropic, które są z niej obecnie wyłączone; administrator decyduje, czy z nich korzystać.

Czwarte: usuwanie. Art. 17 RODO daje osobie prawo do usunięcia danych, a art. 5 ust. 1 lit. e ogranicza czas ich przechowywania. W RAG usunięcie dokumentu ze źródła musi usuwać jego fragmenty z bazy wektorowej, a logi pytań i odpowiedzi też potrzebują terminu usunięcia. Art. 32 wymienia wśród środków bezpieczeństwa regularne testowanie ich skuteczności, więc testy uprawnień powtarzaj, a nie rób raz przy starcie.

Na start przydają się listy pytań inicjalnych, które UODO opublikował 6 sierpnia 2026 r. Pierwszy z czterech zestawów jest przeznaczony dla małych i średnich firm korzystających z gotowych systemów AI; pytania nie zastępują analizy ryzyka, ale porządkują rozmowę z dostawcą. Obowiązki z AI Act i pełną checklistę RODO dla małej firmy rozpisuję w przewodniku AI Act i RODO w małej firmie.

Od czego zacząć: pilotaż na jednym temacie i jednej grupie użytkowników

Zacznij od jednego tematu, jednej grupy użytkowników i gotowego narzędzia, a własny pipeline buduj dopiero wtedy, gdy wiesz, czego to narzędzie nie potrafi.

Plan pilotażu ma pięć kroków. Wybierz jeden temat, o który zespół pyta się nawzajem co tydzień, na przykład procedury serwisowe albo ofertę. Uporządkuj jego dokumenty: jedna wersja, właściciel, data przeglądu, tekst zamiast skanów. Zbierz kilkadziesiąt prawdziwych pytań z odpowiedziami wzorcowymi, także takich, na które baza nie zna odpowiedzi. Uruchom bazę w gotowym narzędziu na kontach firmowych: Copilot przy Microsoft 365, Gemini Notebook przy Google Workspace albo projekt w ChatGPT lub Claude. Na koniec zapisz, czego brakuje.

Własny pipeline w n8n z pgvector buduję wtedy, gdy ta lista braków jest konkretna: asystent ma działać w systemie zespołu, filtrować dokumenty według uprawnień, logować użyte fragmenty i oddawać człowiekowi to, co wychodzi do klienta. Robię to w ramach automatyzacji AI, a gdy wiedza ma być dostępna dla kilku narzędzi naraz, jako serwer MCP z jednym miejscem kontroli dostępu.

Pracuję z Mikołowa, zdalnie w całej Polsce. Jeśli chcesz sprawdzić, czy Twoje dokumenty nadają się do takiej bazy, napisz, jakich pytań ma dotyczyć, kto je zadaje i jak często, gdzie dziś leżą dokumenty (dysk, SharePoint, Google Workspace, własny system) i kto powinien mieć do nich dostęp. Odpowiadam w ciągu jednego dnia roboczego.

Pytania i odpowiedzi

Czym RAG różni się od fine-tuningu?

RAG dokłada do pytania fragmenty dokumentów w chwili odpowiedzi, a fine-tuning zmienia sam model przez dodatkowe trenowanie. W RAG nowa wersja dokumentu działa, gdy tylko trafi do indeksu, a każdą odpowiedź da się powiązać ze źródłem. Fine-tuning nie wskazuje, skąd pochodzi informacja, a każda zmiana faktów wymaga ponownego trenowania, dlatego firmowa baza wiedzy prawie zawsze zaczyna się od RAG.

Czy RAG eliminuje halucynacje?

Nie, RAG je ogranicza. W badaniu Varuna Magesha i współautorów z 30 maja 2024 r. narzędzia prawnicze oparte na RAG halucynowały w 17–⁠33 procentach przypadków, choć rzadziej niż ogólny GPT-4. Ryzyko zmniejszają przypisy, bramka „nie wiem”, testy na prawdziwych pytaniach i człowiek sprawdzający wszystko, co idzie do klienta.

Czy ChatGPT uczy się na dokumentach, które wgram do projektu?

To zależy od planu. Według OpenAI dane z ChatGPT Business, Enterprise i Edu domyślnie nie służą do trenowania modeli, a na kontach osobistych, takich jak Free, Plus czy Pro, mogą, jeśli włączone jest ustawienie „Improve the model for everyone”. Dokumenty firmy wgrywaj więc tylko na kontach firmowych.

Ile plików można wgrać do Gemini Notebook (NotebookLM), ChatGPT i Claude?

Gemini Notebook, dawniej NotebookLM, przyjmuje w wersji bezpłatnej 50 źródeł na notatnik, a każde źródło może mieć do 500 tys. słów lub 200 MB. Projekt w ChatGPT mieści 5 plików w planie Free, 25 w Go i Plus oraz 40 w Pro, Business, Enterprise i Edu. W projekcie Claude plik może mieć do 30 MB, a na planach płatnych tryb RAG zwiększa pojemność projektu do 10 razy.

Czy Copilot pokaże pracownikowi dokumenty, do których nie ma dostępu?

Według dokumentacji Microsoftu nie: Copilot pokazuje tylko dane, do których użytkownik ma co najmniej uprawnienie do wyświetlania. Kłopot w tym, że SharePoint domyślnie ustawia udostępnianie na najbardziej liberalną opcję, więc Copilot ujawnia zbyt szerokie uprawnienia, które firma miała już wcześniej. Przed wdrożeniem przejrzyj udostępnienia folderów z kadrami, płacami i umowami.

Czy do RAG potrzebuję bazy wektorowej?

Nie zawsze. Gotowe narzędzia, takie jak Copilot, Gemini Notebook czy projekty w ChatGPT i Claude, mają wyszukiwanie wbudowane. Anthropic pisał we wrześniu 2024 r., gdy okno Claude miało 200 tys. tokenów, że bazę mniejszą niż ten limit, czyli około 500 stron, można dołączyć do zapytania w całości. Modele Claude od wersji 4.6 przyjmują do 1 mln tokenów w standardowej cenie, ale każde pytanie zużywa wtedy tokeny całej bazy; buforowanie promptu (prompt caching) obniża koszt ponownego odczytu do najwyżej 10 procent ceny wejścia. Własna baza wektorowa, na przykład PostgreSQL z pgvector, jest potrzebna przy własnym pipeline z kontrolą uprawnień i logów.

Czy mogę wrzucić do asystenta AI umowy z klientami i dokumenty kadrowe?

Umowy z klientami tak, ale tylko do bazy dostępnej dla osób, które i tak z nimi pracują, i na koncie firmowym z umową powierzenia danych. Dokumenty kadrowe nie powinny trafiać do wspólnej bazy, bo często zawierają dane o zdrowiu, które art. 9 RODO zalicza do szczególnych kategorii. Jeśli kadry chcą asystenta, potrzebują osobnej bazy tylko dla siebie.

Jak często aktualizować bazę wiedzy AI?

Tak często, jak zmieniają się dokumenty, najlepiej automatycznie. Gemini Notebook synchronizuje źródła z Dysku Google co kilka minut, a OpenAI zaznacza, że aplikacja Google Drive użyta w projekcie ChatGPT nie synchronizuje treści z wyprzedzeniem. We własnym pipeline zmiana pliku powinna uruchamiać ponowne indeksowanie tego dokumentu, a usunięcie pliku usuwać jego fragmenty z bazy.

Ile kosztuje baza wiedzy AI dla małej firmy?

Najprostszy start to narzędzie dokupione do pakietu biurowego, na przykład Copilot do Microsoft 365, wyceniony w polskim cenniku Microsoftu regularnie od 18,20 € netto za użytkownika miesięcznie przy płatności rocznej. Przy własnym pipeline indeksowanie jest tanie: według OpenAI model text-embedding-3-small przetwarza około 62,5 tys. stron za dolara. Większe pozycje to opłaty za model przy odpowiedziach, serwer i czas opiekuna dokumentów.

Czy RAG działa z dokumentami po polsku?

Tak. OpenAI opisuje modele text-embedding-3 jako mające wyższą wydajność wielojęzyczną niż poprzednia generacja. Słabszym punktem bywają dokładne oznaczenia, takie jak symbole produktów, numery paragrafów i kody błędów, dlatego przy polskiej dokumentacji technicznej warto łączyć wyszukiwanie wektorowe z wyszukiwaniem po słowach kluczowych.

Źródła

Liczby i terminy w tym przewodniku sprawdziłem w oficjalnych źródłach. Ceny i przepisy się zmieniają, więc przy decyzji warto zajrzeć do nich ponownie.

Masz pytanie do swojego projektu?

Opisz, co chcesz osiągnąć. Odpowiem konkretnie, także wtedy, gdy najlepszą odpowiedzią jest „nie rób tego”.

Jonasz Jankowski · Bezpośrednia współpraca · Mikołów (Śląsk), zdalnie w całej Polsce

CO DALEJ PO WYSŁANIU
  1. Odpowiadam osobiście w ciągu jednego dnia roboczego.
  2. Krótka rozmowa o celu, funkcjach, materiałach i integracjach.
  3. Dostajesz zakres z etapami i konkretną kwotę, zanim cokolwiek zaczniemy.

Pola oznaczone jako opcjonalne możesz pominąć. Odpowiadam na każdą wiadomość.

Minimum 20 znaków. Wystarczy zalążek pomysłu.0/5000

Na podany e-mail otrzymasz potwierdzenie z numerem zapytania. Odpowiadam w ciągu jednego dnia roboczego. Dalszą rozmowę możemy prowadzić w tym samym wątku.