Audyt RAG — checklist 12 punktów, które ujawniają, czy Twój system działa
RAG albo działa, albo halucynuje, a różnica zwykle leży w 12 konkretnych miejscach. Otwarty checklist do samodzielnego audytu — bez bramek, bez formularzy.
Większość RAG-ów, które oglądam w fazie PoC, ma trzy z poniższych 12 problemów. Większość tych w produkcji — pięć. Ten checklist pomoże Ci zlokalizować swoje, zanim zawołasz konsultanta. (Albo zanim go nie wezwiesz, bo sam dasz radę.)
A. Retrieval (5 punktów)
1. Strategia chunkingu
Jak duże są fragmenty? Czy zachowują paragrafy? Czy mają overlap? Domyślny RecursiveCharacterTextSplitter z LangChain to tylko punkt startu — dla dokumentów technicznych potrzebujesz chunkingu semantycznego (np. po nagłówkach H2/H3).
2. Model embeddingowy
Czy dobrałeś go do domeny? all-MiniLM-L6-v2 mógł być trenowany na ogólnym angielskim i nie rozumieć Twojej księgowości. Sprawdź Massive Text Embedding Benchmark (MTEB) pod konkretne zadanie.
3. Vector DB i indeksowanie
HNSW, IVF czy flat? Co z metadanymi do filtrowania? Czy filtrujesz przed retrievalem, czy po? Te decyzje wpływają na latencję p99 w sposób, który zwykle zaskakuje.
4. Recall@k
Kluczowy benchmark. Jak często naprawdę relewantny dokument jest w top-k? Bez zbioru ground-truth tego nie wiesz. Zbuduj benchmark z minimum 50 zapytań i ręcznie naniesionymi etykietami.
5. Hybrid search
Czy łączysz dense vectors z BM25 / wyszukiwaniem po słowach kluczowych? W wąsko zdefiniowanych domenach (kody, identyfikatory, nazwy własne) to często konieczność.
B. Generation (4 punkty)
6. System prompt
Czy mówi modelowi, co robić, gdy kontekst nie wystarcza? Czy explicite zabrania halucynacji? Czy narzuca strukturę odpowiedzi? Podpatrywanie u dostawców (LangSmith, ChatGPT Custom GPTs) jest OK, ale zawsze dostosuj.
7. Pomiar faithfulness
Czy mierzysz, jak często odpowiedź odbiega od kontekstu? Ragas, DeepEval, własny LLM-as-judge. Bez tych pomiarów RAG to pobożne życzenia.
8. Cytaty i atrybucja źródeł
Czy odpowiedź pokazuje, z których fragmentów pochodzi? Bez tego użytkownik nie zweryfikuje wyniku — czyli nikt naprawdę nie wie, czy model nie halucynuje.
9. Temperatura i seeded sampling
W RAG temperatura powinna wynosić 0 (deterministyczna) lub być bardzo niska (≤0,2). Wyższa = nieprzewidywalna, nietestowalna.
C. Operations (3 punkty)
10. Monitoring kosztów
Ile kosztuje pojedyncze zapytanie? Ile RAG kosztuje dziennie? Czy masz alerty na anomalie (LLM-agent w pętli = 1 tys. USD w godzinę).
11. Monitoring latencji
P50/P95/P99 dla retrievalu, generacji i end-to-end. Bez tego nie zauważysz, gdy vector DB zaczyna swapować.
12. Monitoring jakości po wdrożeniu
Codzienne uruchamianie benchmarku z 50–100 zapytań na danych produkcyjnych. Alerty, gdy faithfulness lub recall spada o ponad 5 pp. Inaczej system po 6 miesiącach to losowy generator.
TL;DR
Jeśli odpowiedziałeś „tak” na wszystkie 12 — gratulacje, masz top 5% RAG-ów na świecie. Jeśli na ≤6 — masz typowe wdrożenie i jest sporo do zrobienia.
Robię audyty RAG w 1–2 tygodnie obejmujące wszystkie 12 punktów. Umów rozmowę, jeśli chcesz omówić swój system.