Corrective RAG a Self-RAG: Samoopravné retrieval vzory pre menej halucinácií
Corrective RAG (CRAG) a Self-RAG sú samoopravné retrieval vzory. CRAG hodnotí relevanciu získaných výsledkov a pri slabej kvalite prepína na web-search fallback. Self-RAG necháva model cez reflection tokens samostatne rozhodnúť, či vôbec vyhľadáva a či je jeho vlastná odpoveď podložená zdrojmi.
Key Takeaways
- ✓CRAG pridáva do RAG pipeline retrieval evaluator: výsledky sa hodnotia ako správne, nejednoznačné alebo nesprávne; pri slabej kvalite zasiahne web-search fallback namiesto slepej generácie na zlom kontexte.
- ✓Self-RAG (Asai et al. 2023, arXiv:2310.11511) trénuje model na reflection tokens, pomocou ktorých sám rozhoduje, či je retrieval potrebný, a kontroluje vlastnú odpoveď voči zdrojom (faithfulness sebakritika).
- ✓Oba vzory adresujú jadrový problém context-unfaithful generation: halucinácie napriek RAG, keď model cituje zdroje, ale obsahovo sa od nich odchyľuje (anti-vzor AP9 z výskumu).
- ✓Sú špeciálnymi prípadmi Agentic RAG (Singh et al. 2025): retrieval sa stáva reflektívne a iteratívne volaným nástrojom namiesto statického predspracovania.
- ✓Tradeoff je reálny: dodatočné LLM volania na hodnotenie a sebakritiku zvyšujú latenciu a náklady a nesú riziko nekontrolovaných tool loops; oplatí sa najmä pri vysokom riziku halucinácií a neúplných znalostných bázach.
- ✓Pragmatický štart pre väčšinu DACH projektov: najprv vyčerpať hybrid search, re-ranking a faithfulness guardrails (RAGAS), potom selektívne doplniť CRAG/Self-RAG.
Corrective RAG (CRAG) a Self-RAG sú dva samoopravné retrieval vzory, ktoré rozširujú klasický RAG vzor o kontrolu kvality. CRAG hodnotí relevanciu získaných výsledkov a pri slabej kvalite retrievalu prepína na web-search fallback. Self-RAG necháva jazykový model cez reflection tokens samostatne rozhodnúť, či vôbec vyhľadáva, a následne preveruje, či je jeho vlastná odpoveď podložená zdrojmi. Oba mieria na ten istý problém: halucinácie, ktoré vznikajú napriek RAG.
- CRAG v jednej vete: Retrieval evaluator zaraďuje výsledky ako správne, nejednoznačné alebo nesprávne a pri zlom kontexte spúšťa opravné opatrenie namiesto slepej ďalšej generácie.
- Self-RAG v jednej vete: Model cez trénované reflection tokens sám riadi, kedy vyhľadáva a či jeho odpoveď zodpovedá zdrojom.
- Spoločné jadro: Oba patria do rodiny Agentic-RAG vzorov a zaobchádzajú s retrievalom nie ako so statickým predspracovaním, ale ako s preveriteľným, riaditeľným krokom.
Prečo klasický RAG nestačí
Štandardný RAG (Naive RAG podľa taxonómie Gao et al. 2023, arXiv:2312.10997) sleduje pevný priebeh: vložiť (embed), získať (retrieve), vložiť do promptu, generovať. Problém: pipeline slepo dôveruje top-k výsledkom. Ak sú sémanticky podobné, ale obsahovo irelevantné alebo jednoducho neexistujúce, model napriek tomu vygeneruje odpoveď a oprie ju o nevhodné zdroje.
Výskum k tomuto pilieru uvádza dva relevantné anti-vzory: pri anti-vzore AP9, context-unfaithful generation, model cituje zdroje, ale obsahovo sa od nich odchyľuje. Odporúčaným protiopatrením sú faithfulness guardrails, sebakritika a citation-forcing prompty. Pri anti-vzore AP3 chýba re-ranking, takže top-k výsledky sú podobné, ale nie relevantné. Presne do tejto medzery vstupujú CRAG a Self-RAG: robia kvalitu retrievalu explicitne preveriteľnou a reagujú na ňu.
Dôležité pre zaradenie: najväčšia páka proti halucináciám stále spočíva v samotnej kvalite retrievalu. Anthropic Contextual Retrieval znižuje mieru chyb top-20 retrievalu o 49 percent (z 5,7 na 2,9 percent), v kombinácii s reranking o 67 percent (na 1,9 percent) — sú to vendor benchmarky od Anthropic, stav september 2024. Samooprava je druhá línia obrany, nie prvá.
Corrective RAG (CRAG): hodnotiť výsledky, potom opraviť
CRAG pridáva do pipeline retrieval evaluator. Po retrievale, ale pred generáciou tento evaluator hodnotí relevanciu nájdených dokumentov a rozdeľuje ich do troch tried konfidencie:
- Correct (vysoká konfidencia): Výsledky sú relevantné. Zjemnia sa (napríklad cez decompose-recompose na odstránenie šumu) a odovzdajú sa generátoru.
- Incorrect (nízka konfidencia): Výsledky nestoja za nič. Namiesto generácie na zlom kontexte sa spúšťa fallback, typicky web vyhľadávanie, na dotiahnutie aktuálneho externého obsahu.
- Ambiguous (stredná konfidencia): Neisté. Kombinujú sa obe cesty: interný kontext plus výsledky web-search.
Rozhodujúcim mechanizmom je web-search fallback pri slabej internej kvalite retrievalu. Tým CRAG kompenzuje neúplnú alebo zastaranú znalostnú bázu bez toho, aby sa model dostal do halucinovania. CRAG je nezávislý od modelu: dá sa zaradiť ako dodatočný uzol pred každú existujúcu RAG pipeline bez pretrénovania generátorového LLM. (CRAG vychádza z Yan et al. 2024; vzor je overené všeobecné poznanie, v samotnom pilierovom dossieri nie je detailne pomenovaný.)
Self-RAG: model kritizuje sám seba
Self-RAG (Asai et al., University of Washington, arXiv:2310.11511, október 2023) presúva kontrolu do modelu. Trénuje sa na to, aby vytváral takzvané reflection tokens, ktorými riadi a hodnotí svoj vlastný proces. Zjednodušene prebiehajú tri rozhodnutia:
- Retrieve? Model rozhoduje na požiadavku (alebo na segment), či je retrieval vôbec potrebný. Triviálne otázky alebo otázky pokryté znalosťami modelu nepotrebujú vyhľadávanie.
- Is Supported? Po vyhľadaní model preveruje, či je vygenerované tvrdenie podložené získanou pasážou — vstavaná faithfulness sebakritika.
- Is Useful? Model hodnotí, ako užitočne odpoveď zodpovedá otázku.
V pilierovom dossieri je Self-RAG vedený ako skorý Agentic-RAG vzor so self-reflection tokens (zdroj Q5). Lákadlo: model vyhľadáva len vtedy, keď to sám považuje za potrebné (šetrí náklady pri jednoduchých otázkach), a prerušuje odpovede alebo ich odmieta, keď ich zdroje nepodporujú. Cena: pôvodná Self-RAG implementácia predpokladá model špeciálne trénovaný na reflection tokens. V praxi mnohé tímy aproximujú toto správanie cez prompting a sebakritickú slučku so štandardným modelom — lacnejšie na nasadenie, ale menej spoľahlivé než na to trénovaný model.
Porovnanie: CRAG vs. Self-RAG vs. štandardný RAG
Dimenzia | Štandardný RAG (Naive) | Corrective RAG (CRAG) | Self-RAG |
|---|---|---|---|
Kontrolná inštancia | žiadna | externý retrieval evaluator | samotný model (reflection tokens) |
Rozhodnutie o retrievale | vždy | vždy, potom hodnotené | riadené modelom (on demand) |
Reakcia na zlý kontext | žiadna, generuje napriek tomu | web-search fallback / zjemnenie | sebakritika, príp. odmietnutie |
Kontrola faithfulness | potrebná externe (napr. RAGAS) | cez evaluator | vstavaná (Is-Supported token) |
Potrebné trénovanie modelu | nie | nie | áno (pôvodný variant) |
Náročnosť implementácie | nízka | stredná | vysoká (resp. stredná ako prompt aproximácia) |
Latencia / náklady na požiadavku | základ |
|
|
Typický failure mode | chunk mismatch, AP9 | chybné hodnotenie evaluatora | nekontrolované loops, náklady |
Oba vzory sú podľa taxonómie evolúcie RAG (Naive, Advanced, Modular, Agentic) priraditeľné k stupňu Agentic RAG. Singh et al. 2025 (arXiv:2501.09136) opisujú Agentic RAG ako vzory, pri ktorých retrieval funguje ako dynamicky a iteratívne volaný nástroj agenta, s reflexiou, plánovaním a používaním nástrojov. Self-RAG sa pritom považuje za jeden zo skorých príkladov. K zaradeniu patrí čestnosť, že pojem Agentic RAG v roku 2026 ešte nie je ostro konsolidovaný.
Konkrétny príklad: support znalostná báza s medzerami
Predpokladajme, že agentúra prevádzkuje pre B2B klienta RAG-podporovaného support asistenta nad internou znalostnou bázou. Používateľ sa pýta na funkciu, ktorá bola zverejnená až včera v release note a ktorá ešte nie je indexovaná.
- Štandardný RAG: Vytiahne tri najpodobnejšie staré dokumenty, nenájde odpoveď, vyhalucinuje vierohodne znejúcu, ale nesprávnu konfiguráciu. Klasický AP9.
- CRAG: Retrieval evaluator zaradí výsledky ako incorrect (nízka konfidencia relevancie), spustí web vyhľadávanie na verejnej produktovej dokumentácii, nájde release note a vygeneruje správnu odpoveď so zdrojom.
- Self-RAG: Model preveruje cez Is-Supported token, či je jeho odpoveď podložená získanými chunkami, rozpozná chýbajúce podloženie a odmietne vymyslenú odpoveď, prípadne eskaluje na človeka.
Výpočet k tradeoffu: ak štandardné RAG volanie príkladovo stojí jedno LLM volanie, CRAG pridáva minimálne jedno evaluator volanie plus v prípade fallbacku spracovanie web-search; sebakritická slučka v štýle Self-RAG môže podľa návrhu znamenať ďalšie volania. Pri jednoduchých otázkach môže Self-RAG dokonca ušetriť retrieval krok. Vo všeobecnosti platí: samooprava nie je bezplatný upgrade, ale vedomá výmena dodatočnej latencie a nákladov za nižšie riziko halucinácií. Anti-vzor nekontrolovaných tool loops a explózie nákladov je vo výskume explicitne uvedený ako typický failure Agentic RAG.
Kedy majú tieto vzory zmysel
Samoopravné vzory sa oplatia, ak platí aspoň jeden z týchto bodov:
- Znalostná báza je neúplná alebo zastaraná, web alebo fallback na tretie zdroje prináša skutočnú pridanú hodnotu (CRAG).
- Nesprávne odpovede sú drahé: právo, financie, regulovaný support, všetko so vzťahom k ručeniu.
- Odmietnutie odpovede pri neistote je žiaduce a akceptované (Self-RAG).
Menej zmyslu majú, ak je znalostná báza úplná a čisto indexovaná, ak je v popredí latencia alebo ak je rozpočet na požiadavku tesný. V týchto prípadoch lacnejšie opatrenia zo stupňa Advanced RAG zvyčajne prinášajú lepší pomer: hybrid search (dense plus BM25 proti minutiu presných kódov), cross-encoder re-ranking (až o 67 percent menej retrieval chýb podľa Anthropic), Contextual Retrieval proti lost-in-the-chunks (AP4), ako aj faithfulness guardrail cez RAGAS v CI pipeline. Až potom sa oplatí selektívne doplniť CRAG alebo Self-RAG pre kritické cesty.
Pre agentúry a B2B rozhodovateľov
Pre agentúry je odkaz klientom jasný: samoopravné retrieval vzory nie sú štandardná funkcia, ktorá sa paušálne aktivuje, ale cielená investícia pre prípady použitia s vysokým rizikom halucinácií. Pragmatická cesta vedie cez merateľnú baseline — zachytiť kvalitu retrievalu a faithfulness s RAGAS — a dopĺňa CRAG alebo Self-RAG až tam, kde to čísla ospravedlňujú. Pre DACH-B2B projekty navyše platí: web-search fallback (CRAG) musí byť zladený s ochranou údajov a governance zdrojov, keďže do reťazca odpovedí sa zrazu dostáva externý obsah. Blck Alpaca navrhuje RAG architektúry tak, aby samooprava sedela tam, kde robí rozdiel — a nie aby všade nafukovala náklady a latenciu.
Často kladené otázky
Aký je rozdiel medzi Corrective RAG a Self-RAG?
Znižujú samoopravné RAG vzory naozaj halucinácie?
Aká vysoká je náročnosť implementácie pre CRAG a Self-RAG?
Kedy sa tieto vzory oplatia a kedy nie?
Sú CRAG a Self-RAG to isté ako Agentic RAG?
Ísť hlbšie?
Získajte nové analýzy priamo do schránky – alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.