Jak działa RAG w wyszukiwarkach AI: proces krok po kroku

Kiedy pytasz ChatGPT albo Perplexity o coś, czego model nie ma w pamięci wewnętrznej, odpowiedź nie powstaje z niczego. Pod spodem uruchamia się RAG, czyli retrieval augmented generation: system najpierw szuka dokumentów, potem dopiero pisze. Dla wydawcy to kluczowa różnica, bo w tym „najpierw szuka” rozstrzyga się, czy Twoja strona w ogóle trafi do okna kontekstu, a więc czy ma szansę na cytowanie.

Poniżej rozkładam ten proces na etapy w kolejności, w jakiej realnie zachodzą, i pokazuję, w którym miejscu treść wydawcy najczęściej wypada z gry. Jeśli któreś pojęcie z tekstu brzmi obco, zerknij do wpisu Słownik AIO 2026: 40 pojęć od RAG po grounding, gdzie zebrałem definicje w jednym miejscu.

Czym RAG różni się od czystej generacji

Model językowy bez retrievalu odpowiada wyłącznie z wag, czyli z tego, co utrwalił podczas treningu. Efekt: wiedza jest zamrożona na dacie cutoffu, a odpowiedź nie ma źródeł, bo model nie „pamięta”, skąd wie. Stąd halucynacje przy pytaniach o konkretne liczby, ceny czy zdarzenia z ostatnich tygodni.

RAG dokłada do tego warstwę wyszukiwania. Zanim padnie pierwszy token odpowiedzi, system pobiera zewnętrzne dokumenty i wkleja ich fragmenty do promptu jako kontekst. Model nadal generuje tekst, ale generuje go z materiału, który ma przed oczami. To dlatego odpowiedzi z retrievalem mają przypisy, a te bez niego ich nie mają.

Aspekt Czysta generacja RAG
Źródło wiedzy wagi modelu wagi plus pobrane dokumenty
Aktualność data cutoffu tak świeża, jak indeks
Cytowania brak lub zmyślone linki do pobranych źródeł
Wpływ wydawcy pośredni, przez korpus treningowy bezpośredni, przez indeks

Praktyczny wniosek jest taki, że optymalizacja pod RAG to nie jest to samo co „wejście do modelu”. Nie musisz czekać na kolejny trening. Musisz być znajdywalny w indeksie, z którego system pobiera dokumenty w momencie zapytania. Ta różnica jest osią całej dyscypliny, którą szerzej opisuję we wpisie Czym różni się AIO od SEO w praktyce.

Etap 1: przepisanie zapytania użytkownika

Pierwsza rzecz, jaka dzieje się z Twoim pytaniem, to jego przeróbka. Użytkownik pisze potocznie, często niepełnym zdaniem, z zaimkami odnoszącymi się do wcześniejszej rozmowy. Wyszukiwarka takiego stringa nie przetrawi, więc model przepisuje go na jedno lub kilka zapytań nadających się do wysłania do indeksu.

W praktyce dzieje się tu kilka operacji naraz:

  • Rozwiązanie kontekstu. „A ile to kosztuje?” zamienia się w pełne pytanie z nazwą produktu z poprzedniej tury rozmowy.
  • Dekompozycja. Złożone pytanie rozpada się na 3 do 8 podzapytań, każde wysyłane osobno. To mechanizm nazywany query fan-out.
  • Ujednoznacznienie. System dopisuje brakujący kontekst, na przykład kraj, rok albo branżę, żeby zawęzić wyniki.
  • Tłumaczenie. Przy niszowych tematach zapytanie po polsku bywa dublowane wersją angielską, bo korpus anglojęzyczny jest gęstszy.

Konsekwencja dla wydawcy jest niewygodna: nie konkurujesz o frazę, którą wpisał użytkownik. Konkurujesz o zestaw wygenerowanych maszynowo zapytań, których nie widzisz i nad którymi nie masz kontroli. Dlatego treść pokrywająca temat wąsko, pod jedną frazę, wypada z gry na tym etapie. Materiał, który odpowiada na całą rodzinę powiązanych pytań, ma po prostu więcej losów na loterii.

Etap 2: pobranie kandydatów z indeksu i sieci

Przepisane zapytania idą do warstwy retrievalu. Zależnie od systemu w grę wchodzą trzy źródła, zwykle łączone.

Indeks klasycznej wyszukiwarki. Perplexity i ChatGPT korzystają z indeksów zewnętrznych, Gemini stoi na indeksie Google. To znaczy, że wiele klasycznych sygnałów SEO nadal działa: strona musi być zaindeksowana, dostępna dla crawlera i szybka. Jeśli wypadłeś z indeksu, wypadłeś też z retrievalu.

Własny indeks wektorowy. Część systemów utrzymuje bazę embeddingów, czyli reprezentacji tekstu w postaci wektorów. Wyszukiwanie polega tu na znalezieniu fragmentów najbliższych semantycznie zapytaniu, nie na dopasowaniu słów. Dlatego akapit, który wprost mówi „RAG działa w czterech krokach”, wypada lepiej niż akapit, który to samo owija w metafory.

Pobranie na żywo. Gdy indeks nie wystarcza, system wchodzi na konkretny URL i pobiera stronę w locie. Ten ruch to zupełnie inny bot niż crawler treningowy, o czym boleśnie przekonali się wydawcy blokujący ruch AI zbyt szerokimi regułami. Opisuję ten przypadek w tekście OpenAI: robots.txt może nie dotyczyć ChatGPT-User, bo dobrze pokazuje, jak łatwo odciąć się od cytowań przez jedną linijkę konfiguracji.

Retrieval zwraca zwykle kilkadziesiąt kandydatów na podzapytanie. To jeszcze nie jest wybór źródeł, to tylko szeroki zaciąg. Realna selekcja odbywa się w kolejnym kroku.

Etap 3: ranking fragmentów i okno kontekstu

Tu proces robi się bezwzględny. Kandydaci są cięci na fragmenty (chunki), zwykle 200 do 800 tokenów, i przepuszczani przez reranker, czyli mniejszy model oceniający, jak dobrze dany fragment odpowiada na konkretne podzapytanie. Ocenia się fragment, nie stronę. Twój artykuł nie startuje w rankingu jako całość, startują jego pojedyncze akapity.

Z rankingu przechodzi garstka. Okno kontekstu jest skończone, a operatorzy dodatkowo je ograniczają, bo każdy token kosztuje i wydłuża odpowiedź. Realnie do promptu trafia od kilku do kilkunastu fragmentów na całą odpowiedź, nawet jeśli retrieval zwrócił ich kilkaset.

Co przesądza o przejściu fragmentu dalej:

  1. Samodzielność. Fragment musi być zrozumiały bez reszty tekstu. Akapit zaczynający się od „Jak wspomniałem wyżej” traci sens po wycięciu i dostaje niższą ocenę.
  2. Gęstość odpowiedzi. Konkret w pierwszych dwóch zdaniach bije rozbieg retoryczny. Reranker nie czyta do końca akapitu z uprzejmości.
  3. Zgodność encji. Nazwy własne, liczby i daty w tekście muszą pokrywać się z tymi z zapytania. Parafraza bez nazwy encji obniża dopasowanie.
  4. Struktura. Nagłówek opisujący zawartość sekcji pomaga, bo bywa doklejany do chunka jako kontekst.
  5. Świeżość. Przy pytaniach zależnych od czasu data publikacji i aktualizacji działa jak filtr odcinający.

To jest moment, w którym najczęściej przegrywa dobra treść. Artykuł może być merytorycznie najlepszy w całym zaciągu, a i tak wypaść, bo jego wartość rozłożona jest równomiernie na 2000 słów zamiast skupiona w akapitach dających się wyciąć i użyć.

Etap 4: synteza odpowiedzi i dobór cytowań

Wybrane fragmenty lądują w prompcie razem z instrukcją systemową i pytaniem użytkownika. Dopiero teraz model generuje tekst. Instrukcja zwykle nakazuje opierać się na dostarczonym materiale i oznaczać, skąd pochodzi dane stwierdzenie.

Przypisy powstają na dwa sposoby, zależnie od implementacji. Albo model sam wskazuje w trakcie generowania, z którego fragmentu korzysta, albo osobny mechanizm dopasowuje gotowe zdania do źródeł już po wygenerowaniu odpowiedzi. Druga metoda jest zawodniejsza, bo bywa, że przypis ląduje przy zdaniu, które w źródle nie ma pokrycia.

Warto tu zauważyć asymetrię, która myli wielu wydawców: obecność w kontekście nie równa się cytowaniu. Fragment może przejść ranking, wejść do promptu, wpłynąć na treść odpowiedzi i mimo to nie dostać widocznego linku. Model dogaduje kilka źródeł w jedno zdanie i cytuje to, które uzna za najbardziej reprezentatywne. Dlatego mierzenie widoczności w AI wymaga narzędzi innych niż statystyki ruchu, a jak to robić na piechotę, pokazuję w przewodniku jak sprawdzić cytowania strony w Perplexity.

Gdzie najczęściej wypada treść wydawcy

Jeśli zmapować cztery etapy na typowe problemy, wychodzi dość powtarzalna lista punktów awarii.

Etap Typowa przyczyna wypadnięcia Sygnał, że to Twój problem
Przepisanie zapytania treść pokrywa jedną frazę, nie rodzinę pytań widoczność w Google jest, cytowań w AI brak
Retrieval blokada bota, brak indeksacji, wolny serwer brak wizyt bota w logach, strona nie w indeksie
Ranking fragmentów rozwlekłe akapity, brak samodzielnych definicji strona bywa linkowana, ale nigdy nie jest źródłem konkretu
Synteza treść bez unikalnych danych, łatwa do zastąpienia model odpowiada Twoją tezą, cytując konkurenta

Najboleśniejszy jest ostatni wiersz. Jeżeli piszesz to samo, co dziesięć innych serwisów, system i tak dostanie materiał do odpowiedzi, tyle że weźmie go od kogoś innego. Unikalna liczba, własny test albo dane, których nie ma nigdzie indziej, to jedyny sposób, żeby stać się źródłem niewymiennym.

Co realnie możesz kontrolować

Sporej części tego procesu nie zmienisz. Nie masz wpływu na to, jak model przepisze zapytanie, ile fragmentów zmieści w oknie kontekstu ani jak dobierze przypisy. Kontrolujesz natomiast trzy rzeczy, i akurat one przekładają się na wynik najmocniej.

Dostępność. Sprawdź w logach serwera, czy boty pobierające treść na żywo (ChatGPT-User, PerplexityBot, Google-Extended) faktycznie wchodzą i dostają kod 200. Zbyt agresywne reguły w robots.txt, WAF albo challenge typu „czy jesteś robotem” potrafią wyciąć Cię z retrievalu przy poprawnej indeksacji w Google.

Krojalność treści. Pisz tak, żeby akapit wycięty z kontekstu nadal odpowiadał na pytanie. Definicja w pierwszym zdaniu sekcji, liczba z jednostką i źródłem, nagłówek mówiący wprost, co jest niżej. Sekcja FAQ działa tu wyjątkowo dobrze, bo jej format jest z natury samodzielny: pytanie plus zwięzła odpowiedź to gotowy chunk.

Pokrycie tematu. Skoro jedno pytanie użytkownika rozpada się na kilka podzapytań, wygrywa serwis odpowiadający na wszystkie sąsiadujące wątki. Stąd sens architektury hub and spoke, w której tekst filarowy trzyma temat, a wpisy satelitarne domykają szczegóły. Więcej o samej mechanice retrievalu w kontekście architektury systemów znajdziesz w opracowaniu na Wikipedii.

Podsumowując: RAG nie jest czarną skrzynką, tylko pipeline’em z czterema wąskimi gardłami. Twoja treść musi przejść przez każde z nich po kolei, a wypadnięcie na dowolnym etapie daje ten sam efekt końcowy, czyli brak cytowania. Optymalizacja pod AI to w gruncie rzeczy systematyczne rozszerzanie każdego z tych gardeł.

FAQ

Czym dokładnie jest RAG w wyszukiwarkach AI?

RAG (retrieval augmented generation) to architektura, w której model językowy przed wygenerowaniem odpowiedzi pobiera z zewnętrznego indeksu fragmenty dokumentów i dopiero na ich podstawie formułuje tekst. Dzięki temu odpowiedź może zawierać aktualne dane i przypisy do źródeł, czego czysta generacja z wag modelu nie zapewnia.

Czy muszę być w indeksie Google, żeby model mnie cytował?

Nie zawsze, ale to najprostsza droga. Gemini korzysta z indeksu Google bezpośrednio, a ChatGPT i Perplexity łączą indeksy zewnętrzne z własnym pobieraniem stron na żywo. W praktyce brak indeksacji w wyszukiwarce drastycznie zmniejsza szansę na trafienie do retrievalu.

Dlaczego mój artykuł pojawia się w kontekście, ale nie dostaje przypisu?

Bo obecność w oknie kontekstu i cytowanie to dwie różne rzeczy. Model łączy informacje z kilku fragmentów w jedno zdanie i linkuje zwykle jedno źródło, które uzna za najbardziej reprezentatywne. Jeśli Twoja treść powtarza to, co mają inni, zostanie zastąpiona przy doborze przypisu.

Jaka długość akapitu jest optymalna pod chunking?

Celuj w akapity 40 do 90 słów, które zawierają jedną kompletną myśl i zaczynają się od konkretu. Chunki mają zwykle 200 do 800 tokenów, więc taki akapit mieści się w całości i nie zostaje przecięty w pół zdania, co obniżałoby ocenę rerankera.

Czy blokowanie botów AI chroni treść przed wykorzystaniem?

Częściowo i za wysoką cenę. Blokada crawlera treningowego ogranicza użycie treści do uczenia modelu, ale zablokowanie bota pobierającego strony na żywo wycina Cię z cytowań w odpowiedziach. To dwa różne user agenty i warto rozróżnić je w regułach zamiast blokować ruch AI hurtowo.

Jak sprawdzić, czy moja treść przechodzi retrieval?

Zacznij od logów serwera: czy boty AI pobierają Twoje URL-e i z jakim kodem odpowiedzi. Potem zadaj w ChatGPT i Perplexity pytania z rodziny, którą pokrywa Twój tekst, i sprawdź, kto jest cytowany. Rozbieżność między dobrą pozycją w Google a zerową obecnością w odpowiedziach zwykle wskazuje na problem z krojalnością treści, nie z dostępnością.