- RAG dzieli dokumenty na fragmenty, zamienia je na embeddingi i przy pytaniu dokłada najbardziej pasujące do prompta.
- Wyszukiwanie semantyczne warto łączyć z BM25, bo ten drugi lepiej łapie dokładne kody i nazwy.
- Dodanie kontekstu do fragmentów obniżyło odsetek nieudanych wyszukiwań w badaniu Anthropic o 35–49%, a skuteczność zawsze sprawdzaj własnym zestawem pytań.
Zanim zbudujesz RAG, sprawdź, czy go potrzebujesz. Jeśli twoja baza wiedzy zmieści się w oknie kontekstu, najprostsze będzie wstawienie jej do prompta, o czym piszę w artykule o pamięci agenta. Gdy dokumentów jest więcej, RAG przestaje być fanaberią. Poniżej cały proces od dokumentów do odpowiedzi, oparty na opisie z tekstu Anthropic o Contextual Retrieval.
Krok 1: podział na fragmenty
Pierwszy krok to rozcięcie dokumentów na mniejsze kawałki, zwykle nie dłuższe niż kilkaset tokenów. Powód jest prosty: do prompta chcesz dołączyć kilka najbardziej pasujących akapitów, a nie całe książki. Anthropic zwraca uwagę, że wybór rozmiaru fragmentu, jego granic i nakładania się sąsiednich fragmentów wpływa na wyniki wyszukiwania. Dobra praktyka to cięcie po naturalnych granicach, takich jak nagłówki i akapity, zamiast po stałej liczbie znaków, i zachowanie przy każdym fragmencie informacji o tytule dokumentu oraz sekcji.
Krok 2: embeddingi i baza wektorowa
Każdy fragment zamieniasz na wektor liczb, czyli embedding, który koduje znaczenie tekstu. Robi to osobny model embeddingowy, oferowany między innymi w dokumentacji Anthropic i OpenAI. Wektory zapisujesz w bazie, która umie szukać po podobieństwie. W czasie pytania zamieniasz pytanie na wektor tym samym modelem i pobierasz fragmenty o najbliższych wektorach. Ten wzorzec opisała praca o RAG z 2020 roku, gdzie pamięć zewnętrzna to gęsty indeks wektorowy dokumentów.
Krok 3: dołóż wyszukiwanie słów kluczowych
Embeddingi świetnie łapią sens, ale potrafią przegapić dokładne dopasowanie. Przykład z tekstu Anthropic: zapytanie o „Error code TS-999” w bazie wsparcia technicznego. Model embeddingowy znajdzie treści o kodach błędów w ogóle, a może nie trafić w dokładny ciąg TS-999. Tu pomaga starsza technika BM25, funkcja rankingowa oparta na dopasowaniu słów, rozwijająca ideę TF-IDF. Rozwiązanie hybrydowe wykonuje oba wyszukiwania, łączy i usuwa duplikaty z wyników techniką fuzji rankingów, a następnie bierze najlepsze fragmenty.
- 01FragmentyDziel po nagłówkach i akapitach.
- 02EmbeddingiWektor dla każdego fragmentu.
- 03BM25Indeks słów kluczowych obok wektorów.
- 04WyszukiwanieOba sposoby, potem fuzja wyników.
- 05PromptDołącz najlepsze fragmenty z podpisem źródła.
- 06OcenaMierz trafność na własnych pytaniach.
Krok 4: dodaj kontekst do fragmentów
Częsty problem polega na tym, że fragment wyrwany z dokumentu traci kontekst. Zdanie „przychód wzrósł o 3% w porównaniu z poprzednim kwartałem” nie mówi, o jaką firmę i okres chodzi. Contextual Retrieval rozwiązuje to, doklejając do każdego fragmentu krótki opis (zwykle 50–100 tokenów) wygenerowany przez model na podstawie całego dokumentu, zanim fragment trafi do embeddingu i indeksu BM25. W eksperymentach autorów kontekstowe embeddingi obniżyły odsetek nieudanych wyszukiwań w 20 najlepszych fragmentach o 35% (z 5,7% do 3,7%), a połączenie z kontekstowym BM25 o 49% (do 2,9%). To wyniki z ich zbiorów danych, więc u ciebie mogą wyglądać wyraźnie inaczej i trzeba je zweryfikować.
Krok 5: prompt, źródła i pomiar
Do prompta dołączasz najlepsze fragmenty i prosisz o odpowiedź wyłącznie na ich podstawie, z podaniem, z którego fragmentu pochodzi każde twierdzenie. W badaniu Anthropic z liczb 5, 10 i 20 fragmentów najlepiej wypadło 20, ale zastrzeżono, że nadmiar informacji bywa rozpraszający, więc wartość dobierasz eksperymentem. Najważniejsza uwaga w całym procesie brzmi: zawsze uruchamiaj ewaluacje. Zbuduj zestaw pytań z oczekiwanymi źródłami i zmierz, jak często właściwy fragment trafia do wyników, zanim zaczniesz stroić model odpowiadający. Jak taki pomiar zorganizować, opisuję w artykule Jak ocenić agenta, zanim mu zaufasz.
Na koniec zadbaj o to, co psuje RAG po cichu: nieaktualne dokumenty. W praktyce to częstsza przyczyna złych odpowiedzi niż wybór modelu embeddingowego. Ustal, kto i jak często odświeża indeks, i zapisuj datę źródła obok fragmentu, żeby odpowiedź mogła ostrzec, że informacja jest stara. O pojęciach przeczytasz w haśle słownika o RAG.
Stan wiedzy: 20 października 2026. Narzędzia do wektorów i modele embeddingowe zmieniają się często; zasady procesu pozostają te same.

