,

RAG: 33 błędy, które niszczą wiarygodność Twojego AI

RAG (Retrieval-Augmented Generation) przestał być postrzegany jako kompletne rozwiązanie problemu halucynacji, stając się źródłem nowych, trudniej wykrywalnych błędów potęgowanych przez wady w warstwie wyszukiwania danych. Błędy te bezpośrednio obniżają jakość odpowiedzi w systemach korporacyjnych, generując ryzyka operacyjne i prawne w sektorach o wysokiej odpowiedzialności, takich jak finanse czy medycyna. Optymalizacja architektury RAG wymaga przesunięcia ciężaru z inżynierii promptów na rygorystyczne testowanie potoków danych i mechanizmów wyszukiwania semantycznego.

Dlaczego retrieval to wąskie gardło architektury RAG?

Systemy RAG często zawodzą w produkcji, ponieważ zespoły deweloperskie optymalizują warstwę generowania tekstu, ignorując fakt, że model językowy nie może wyprodukować poprawnej odpowiedzi z kontekstu, którego nigdy nie otrzymał. Błędy wyszukiwania (retrieval) sprawiają, że model z dużą pewnością siebie podaje nieprawdziwe informacje, często podpierając się realnymi, ale nieadekwatnymi cytatami. Zjawisko to, określane jako „retrieval lying”, jest niemożliwe do naprawienia poprzez zmianę promptu, ponieważ problem leży w dostarczeniu do modelu „śmieciowych” danych (garbage in, garbage out).

Kluczowe wskaźniki efektywności (KPI) wyszukiwania, które należy monitorować: Recall@k: ułamek zapytań, dla których poprawny dokument znalazł się w górnych k wynikach. MRR (Mean Reciprocal Rank): miara określająca, jak wysoko w rankingu znajduje się właściwy dokument; niski MRR przy wysokim Recall@k wskazuje na konieczność wdrożenia rerankera. * Cosine Similarity: często mylnie utożsamiane z jakością odpowiedzi, podczas gdy mierzy ono jedynie dystans wektorowy, a nie faktyczną przydatność merytoryczną fragmentu.

33 punkty krytyczne w potoku danych RAG

Systematyczna taksonomia identyfikuje 33 tryby awarii RAG podzielone na 7 etapów: od ingestii danych, przez reprezentację i wyszukiwanie, aż po agentyczną orkiestrację. Aż 12 z tych trybów (36%), w tym wszystkie dotyczące systemów agentycznych, cierpi na brak wystarczających badań empirycznych, co tworzy tzw. „pustynię dowodową” w najszybciej rosnącym paradygmacie wdrożeniowym. Awariom rzadko towarzyszą izolowane incydenty; błędy na etapie dzielenia tekstu (chunking) propagują do błędów wyszukiwania, co czyni halucynacje strukturalnie nieuniknionymi.

Etap potoku Kluczowe tryby awarii Poziom dowodów
Ingestia F1: Nieaktualne/stale dane; F3: Błędy parsowania układu (layout). Silny
Reprezentacja F5: Fragmentacja tokenizacji; F6: Dryft osadzeń (embedding drift). Ograniczony
Wyszukiwanie F7: Błędy granic chunków; F12: Stronniczość pozycji (Position-of-Gold). Silny
Generowanie F13: Halucynacje mimo kontekstu; F14: Nierozwiązane sprzeczności. Silny
Deployment F23: Wycieki PII; F25: Awarie polityk autoryzacji (AuthZ). Umiarkowany
Agentic RAG F26: Błędy planowania; F30: Rekurencyjne kaskady halucynacji. Ograniczony

Mechanizm Lost in the Middle i optymalizacja chunkingu

Wybór strategii dzielenia tekstu (chunking) krytycznie wpływa na to, czy istotne informacje nie zostaną „zgubione w środku” okna kontekstowego. Modele transformerowe wykazują krzywą wydajności w kształcie litery U, co oznacza najwyższą dokładność dla danych na początku i końcu promptu, przy spadku wydajności o ponad 30%, gdy kluczowa informacja znajduje się w środku. Naiwny chunking oparty na liczbie tokenów (np. stałe 512 tokenów) niszczy spójność semantyczną, rozrywając tabele i zdania między różne fragmenty, co uniemożliwia ich współwyszukanie.

Zalecane techniki optymalizacji: Semantic Chunking: podział tekstu na podstawie podobieństwa semantycznego zdań, a nie liczby znaków. Late Chunking: technika polegająca na osadzaniu całego dokumentu przed podziałem, co pozwala fragmentom zachować kontekst długodystansowy. * Dwuetapowe wyszukiwanie: pobranie szerokiego zestawu kandydatów (Recall), a następnie zastosowanie rerankera (Cross-Encoder) do precyzyjnego pozycjonowania najważniejszych fragmentów na skrajnych pozycjach promptu.

Ryzyka bezpieczeństwa i dryft w systemach RAG

Wdrożenie systemów RAG w produkcji bez mechanizmów kontroli dostępu prowadzi do wycieków danych osobowych (PII) oraz naruszeń polityk autoryzacji, gdy model zwraca informacje, do których użytkownik nie ma uprawnień. Szczególnie niebezpieczny jest dryft promptów i osadzeń: zmiany w kodzie bez wersjonowania promptów powodują regresje jakościowe niemożliwe do zdiagnozowania tradycyjnymi metodami. Systemy RAG oparte na agentach są dodatkowo podatne na nieograniczone spirale kosztów i opóźnień wynikające z rekurencyjnych wywołań narzędzi i wyszukiwań.

Aby mitygować te ryzyka, należy wdrożyć: Contextual Retrieval: uzupełnianie każdego chunka o kontekst całego dokumentu wygenerowany przez LLM, co poprawia precyzję wyszukiwania. Ensemble Voting (np. VOTE-RAG): mechanizm, w którym wielu agentów niezależnie generuje zapytania i odpowiedzi, a finalny wynik jest wybierany drogą większościową, co eliminuje stochastyczne halucynacje. * Strukturyzowane wyjście (Citation IDs): wymuszenie na modelu używania identyfikatorów fragmentów, które są weryfikowane po wygenerowaniu odpowiedzi przez walidator potoku.

Wnioski praktyczne i rekomendacje

  • Zautomatyzuj ocenę wyszukiwania: Skonfiguruj potok CI/CD tak, aby każda zmiana w strategii chunkingu lub modelu embeddingów była testowana pod kątem wskaźnika Recall@k na „złotym zestawie” pytań.
  • Wdróż reranker: Zrezygnuj z dogmatu stałego Top-k=5 na rzecz pobierania większej liczby fragmentów i ich agresywnego rankowania za pomocą modelu typu Cross-Encoder.
  • Skonfiguruj potok re-indeksowania: Traktuj indeks wektorowy jak dynamiczną bazę danych z czasem życia (TTL) dla dokumentów, zamiast wykonywać jednorazowe „zdarzenie indeksowania” przed startem systemu.
  • Zastosuj klasyfikator intencji: Wdróż lekki model na wejściu, który trasuje zapytania (np. proceduralne vs definicyjne) do różnych potoków RAG o zoptymalizowanych parametrach wyszukiwania.
  • Zmierz wpływ „Lost in the Middle”: Przetestuj swój model na kontekstach o różnej długości, systematycznie przesuwając kluczową informację do środka sekwencji, aby wyznaczyć bezpieczny próg liczby dokumentów w prompcie.

Źródła

Przemysław Majdak

Przemysław Majdak · AI Automation Engineer

Założyciel Baluarte i wydawca BitBiz.pl. Członek ISSA Polska. Ekspert z 18-letnim stażem w branży IT — wdraża bezpieczne automatyzacje AI, systemy full-stack i zaawansowane procedury cyberbezpieczeństwa dla firm. Wszystkie artykuły autora →

2 odpowiedzi

💬 Kliknij tutaj, aby dodać komentarz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

  1. Awatar Wiktor

    Właśnie to mnie zastanawia – przez długi czas wszyscy klepaliśmy RAG po plecach jako złoty środek na halucynacje, a tu nagle okazuje się, że samo wyszukiwanie danych może generować błędy trudniejsze do wychwycenia niż te, które miało eliminować. Szczególnie niepokoi mnie cisza wokół tego, jak łatwo można stworzyć system, który firmie daje fałszywe poczucie bezpieczeństwa, bo odpowiedzi brzmią wiarygodnie, ale bazują na źle dobranych dokumentach – a w finansach czy medycynie to już prosta droga do katastrofy prawnej. Zamiast martwić się o sam model generatywny, powinniśmy chyba najpierw solidnie przeprojektować warstwę retrievelu, bo przynoszenie złych źródeł do stołu to jak serwowanie trucizny na srebrnej tacy.

  2. Awatar prof.Andrzej
    prof.Andrzej

    No to ciekawe, bo wszyscy ostatnio rzucają się na RAG jak na zbawienie od halucynacji, a tu nagle okazuje się, że te błędy w warstwie wyszukiwania mogą być jeszcze gorsze niż zwykłe wymyślanie faktów. W praktyce wygląda to tak, że model dostaje dokumenty, które może i są prawdziwe, ale kompletnie nie na temat albo wyrwane z kontekstu – i generuje coś, co brzmi wiarygodnie, a jest totalnie mylące. Szczególnie w finansach czy medycynie, gdzie takie „prawie dobrze” może narobić więcej szkody niż oczywista bujda, to już w ogóle przerażające, jak łatwo przeoczyć ten problem na etapie optymalizacji.