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.
Na prvý pohľad
- CRAG pridáva do RAG pipeline retrieval evaluátor: výsledky sa hodnotia ako správne, nejednoznačné alebo nesprávne; pri slabej kvalite nastupuje web-search fallback namiesto slepého generovania nad zlým kontextom.
- 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 overuje vlastnú odpoveď voči zdrojom (faithfulness sebakritika).
- Oba vzory riešia kľúčový problém context-unfaithful generation: halucinácie napriek RAG, keď model cituje zdroje, ale obsahovo sa od nich odchyľuje.
- Patria do stupňa Agentic RAG: retrieval sa stáva reflektívne a iteratívne volaným nástrojom namiesto statického predspracovania. Singh et al. 2025 uvádzajú CRAG ako samostatnú architektúru Agentic RAG, Self-RAG sa hodí ako skorý príklad.
- Kompromis je skutočný: dodatočné volania LLM na hodnotenie a sebakritiku zvyšujú latenciu a náklady a nesú riziko nekontrolovaných slučiek volaní nástrojov; oplatia sa najmä pri vysokom riziku halucinácií a neúplných znalostných bázach.
- Pragmatický začiatok pre väčšinu projektov v regióne DACH: najprv naplno využiť 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ý vzor RAG 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 overuje, č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 evaluátor zaradí výsledky ako správne, nejednoznačné alebo nesprávne a pri zlom kontexte spustí opravné opatrenie namiesto toho, aby sa slepo generovalo ďalej.
- 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 vzorov Agentic RAG a nepovažujú retrieval za statické predspracovanie, ale za overiteľný a riaditeľný krok.
Prečo klasický RAG nestačí
Štandardný RAG (Naive RAG podľa taxonómie Gao et al. 2023, arXiv:2312.10997) má pevný priebeh: embedding, vyhľadanie, vloženie do promptu, generovanie. Problém: pipeline slepo dôveruje top-k výsledkom. Ak sú sémanticky podobné, ale obsahovo irelevantné, alebo vhodné dokumenty jednoducho neexistujú, model aj tak vygeneruje odpoveď a oprie ju o nevhodné zdroje.
Typické sú dva typy chýb. Pri context-unfaithful generation model cituje zdroje, ale obsahovo sa od nich odchyľuje. Bežnými protiopatreniami sú faithfulness guardrails, sebakritika a citation-forcing prompty. Druhý typ chyby vzniká bez re-rankingu: top-k výsledky sú potom často síce podobné, ale nie relevantné. Presne do tejto medzery vstupujú CRAG a Self-RAG: robia kvalitu retrievalu explicitne overiteľnou a reagujú na ňu.
Dôležité pre zaradenie: najúčinnejším prostriedkom proti halucináciám naďalej zostáva samotná kvalita retrievalu. Anthropic Contextual Retrieval znižuje mieru chýb top-20 retrievalu o 49 percent (z 5,7 na 2,9 percenta), v kombinácii s re-rankingom o 67 percent (na 1,9 percenta). Ide o benchmarky samotného dodávateľa, spoločnosti Anthropic, stav k septembru 2024. Samooprava je druhá línia obrany, nie prvá.
Corrective RAG (CRAG): hodnotiť výsledky, potom opraviť
CRAG pridáva do pipeline retrieval evaluátor. Po retrievale, ale pred generovaním, tento evaluátor hodnotí relevanciu nájdených dokumentov a rozdeľuje ich do troch tried podľa miery istoty:
- Correct (vysoká istota): Výsledky sú relevantné. Spresnia sa (napríklad metódou decompose-recompose, ktorá odstráni šum) a odovzdajú sa generátoru.
- Incorrect (nízka istota): Výsledky sú nepoužiteľné. Namiesto generovania nad zlým kontextom sa spustí fallback, typicky webové vyhľadávanie, ktoré doplní aktuálny externý obsah.
- Ambiguous (stredná istota): Neistý prípad. Kombinujú sa obe cesty: interný kontext plus výsledky webového vyhľadávania.
Rozhodujúcim mechanizmom je web-search fallback pri slabej kvalite interného retrievalu. Vďaka nemu CRAG kompenzuje neúplnú alebo zastaranú znalostnú bázu bez toho, aby model začal halucinovať. CRAG je nezávislý od modelu: dá sa zaradiť ako dodatočný uzol pred každú existujúcu RAG pipeline bez toho, aby bolo potrebné generátorové LLM znovu trénovať. CRAG vychádza z práce Yan et al. 2024 (arXiv:2401.15884).
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. Model je trénovaný tak, aby vytváral takzvané reflection tokens, ktorými riadi a hodnotí vlastný proces. Zjednodušene prebiehajú štyri rozhodnutia:
- Retrieve? Model rozhoduje pri každej požiadavke (alebo pri každom segmente), či je retrieval vôbec potrebný. Triviálne otázky alebo otázky pokryté znalosťami modelu vyhľadávanie nepotrebujú.
- Is Relevant? Model hodnotí, či je získaná pasáž pre otázku relevantná.
- Is Supported? Po vyhľadaní model overuje, či je vygenerované tvrdenie podložené získanou pasážou, čo je vstavaná faithfulness sebakritika.
- Is Useful? Model hodnotí na škále od 1 do 5, nakoľko je odpoveď na otázku užitočná.
Lákadlo: model vyhľadáva len vtedy, keď to sám považuje za potrebné (pri jednoduchých otázkach to šetrí náklady). Pri generovaní Self-RAG vytvorí niekoľko kandidátskych segmentov, ohodnotí ich váženým skóre z tokenov kritiky (relevancia, podloženosť, užitočnosť) a ponechá segment s najlepším hodnotením (Asai et al. 2023). Odmietnutie odpovede alebo eskalácia na človeka nie je súčasťou metódy, dá sa však na týchto tokenoch postaviť. Cena: pôvodná implementácia Self-RAG 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. Realizácia je tak lacnejšia, výsledok však menej spoľahlivý ako s modelom trénovaným na tento účel.
Porovnanie: CRAG vs. Self-RAG vs. štandardný RAG
Dimenzia | Štandardný RAG (Naive) | Corrective RAG (CRAG) | Self-RAG |
|---|---|---|---|
Kontrolný prvok | žiadny | externý retrieval evaluátor | samotný model (reflection tokens) |
Rozhodnutie o retrievale | vždy | vždy, potom hodnotené | riadené modelom (on demand) |
Reakcia na zlý kontext | žiadna, aj tak generuje | web-search fallback / spresnenie | tokeny kritiky hodnotia kandidátov, vyhráva najlepšie hodnotený segment |
Kontrola faithfulness | potrebná externe (napr. RAGAS) | len nepriamo (evaluátor kontroluje výsledky, nie odpoveď) | vstavaná (token Is-Supported) |
Potrebné trénovanie modelu | nie | nie | áno (pôvodný variant) |
Náročnosť implementácie | nízka | stredná | vysoká (resp. stredná ako aproximácia cez prompting) |
Latencia / náklady na požiadavku | základ | základ plus volanie evaluátora, príp. web-search | základ plus kroky reflexie a kritiky |
Typický spôsob zlyhania | chunk mismatch, context-unfaithful generation | chybné hodnotenie evaluátora | nekontrolované slučky, náklady |
Podľa taxonómie vývoja RAG (Naive, Advanced, Modular, Graph, Agentic) patria oba vzory do stupňa 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 v tomto prehľadovom článku nevyskytuje, hodí sa však ako skorý príklad, pretože model sám rozhoduje o vyhľadávaní. Corrective RAG uvádzajú Singh et al. ako samostatnú architektúru (Agentic Corrective RAG). K poctivému zaradeniu patrí aj to, že pojem Agentic RAG v roku 2026 ešte nie je jednoznačne ustálený.
Konkrétny príklad: znalostná báza podpory s medzerami
Predpokladajme, že agentúra prevádzkuje pre B2B klienta asistenta zákazníckej podpory postaveného na RAG nad internou znalostnou bázou. Používateľ sa pýta na funkciu, ktorá bola zverejnená až včera v poznámke k vydaniu (release note), ktorá ešte nie je indexovaná.
- Štandardný RAG: Vytiahne tri najpodobnejšie staré dokumenty, nenájde odpoveď a vyhalucinuje vierohodne znejúcu, ale nesprávnu konfiguráciu. Klasická halucinácia napriek RAG.
- CRAG: Retrieval evaluátor zaradí výsledky ako incorrect (nízka istota relevancie), spustí webové vyhľadávanie vo verejnej produktovej dokumentácii, nájde release note a vygeneruje správnu odpoveď so zdrojom.
- Self-RAG: Model cez token Is-Relevant vyhodnotí získané chunky ako irelevantné a cez token Is-Supported rozpozná, že nimi nie je podložená žiadna odpoveď. Aplikačné pravidlo postavené na týchto tokenoch potom nepodloženú odpoveď potlačí a eskaluje na človeka.
Na ilustráciu kompromisu: ak štandardné RAG volanie stojí napríklad jedno volanie LLM, CRAG pridáva minimálne jedno volanie evaluátora a v prípade fallbacku aj spracovanie webového vyhľadávania; 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 krok retrievalu dokonca ušetriť. 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í. Pri agentických RAG systémoch pribúda typické riziko: nekontrolované slučky volaní nástrojov, ktoré znásobia náklady na požiadavku.
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á a fallback na web alebo zdroje tretích strán zaplní skutočné medzery (CRAG).
- Nesprávne odpovede sú drahé: právo, financie, regulovaná zákaznícka podpora, všetko, kde hrozí právna zodpovednosť.
- Odmietnutie odpovede pri neistote je žiaduce a akceptované (Self-RAG na to poskytuje tokeny kritiky).
Menší zmysel 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 prinášajú lacnejšie opatrenia zo stupňa Advanced RAG zvyčajne lepší pomer: hybrid search (dense plus BM25, aby sa nevynechávali presné kódy), Contextual Retrieval proti chunkom, ktorým chýba okolitý kontext, cross-encoder re-ranking a faithfulness guardrail cez RAGAS v CI pipeline. Contextual Retrieval (kontextualizované embeddingy plus BM25 nad kontextualizovanými chunkmi) spolu s re-rankingom znižuje podľa spoločnosti Anthropic mieru chýb retrievalu až o 67 percent. 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 zapne, ale cielená investícia pre prípady použitia s vysokým rizikom halucinácií. Pragmatická cesta vedie cez merateľný východiskový stav (zmerať kvalitu retrievalu a faithfulness pomocou RAGAS) a CRAG alebo Self-RAG dopĺňa až tam, kde to čísla odôvodňujú. Pre B2B projekty v regióne DACH navyše platí: web-search fallback (CRAG) musí byť zladený s ochranou údajov a pravidlami pre prácu so zdrojmi, keďže sa do reťazca odpovedí zrazu dostáva externý obsah. Blck Alpaca navrhuje RAG architektúry tak, aby samooprava bola tam, kde naozaj pomáha, a nie aby všade nafukovala náklady a latenciu.
Otvorí chat s pripraveným promptom.
Často kladené otázky
Aký je rozdiel medzi Corrective RAG a Self-RAG?
Znižujú samoopravné RAG vzory naozaj halucinácie?
Aká veľká je náročnosť implementácie 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.