Blog→RAG architektury
AI AgentiUmělá inteligence

Typy RAG: od základního vyhledávání po GraphRAG a AI agenty

25. 8. 2026 · 14 minut čtení

RAG dává jazykovému modelu před odpovědí podklady z dokumentů, databází nebo webu. Jednoduchá verze zvládne interní FAQ, ale složitější otázky mohou potřebovat přepis dotazu, více zdrojů, kontrolu kvality nebo několik kol hledání. Proto dnes existují různé typy a vzory RAG — a ne všechny řeší stejný problém.

Článek ve 30 sekundách

Tři věci, které je dobré vědět

  • 1Naive, Advanced a Modular RAG popisují vývoj celé architektury od pevné linky k pružnému workflow.
  • 2GraphRAG, Self‑RAG, CRAG nebo multimodální RAG jsou konkrétní vzory, které lze uvnitř modulární architektury kombinovat.
  • 3Nejlepší RAG není nejsložitější. Začněte jednoduše a další vrstvu přidejte až podle naměřené chyby.

Co je RAG a proč vůbec vznikl

Zkratka RAG znamená Retrieval‑Augmented Generation, česky přibližně generování rozšířené o vyhledávání. Model nemusí spoléhat jen na znalosti uložené ve svých vahách. Nejdřív vyhledá relevantní podklady a teprve potom z nich sestaví odpověď. Díky tomu může pracovat s firemními dokumenty, novými informacemi i zdroji, které při tréninku neviděl.

1. RetrievalNajdi pasáže, záznamy nebo stránky související s otázkou.
2. AugmentationVyber a přidej podklady do kontextu modelu.
3. GenerationVytvoř odpověď opřenou o dodané zdroje.
Základní princip je jednoduchý. Rozdíly mezi typy RAG vznikají hlavně v tom, jak hledají, vyhodnocují podklady a zda se k hledání vracejí.

RAG ale sám o sobě nezaručuje pravdu. Pokud vyhledávač přinese starý nebo nesouvisející dokument, model z něj může vytvořit přesvědčivě znějící chybu — dobré podklady riziko halucinací snižují, ale neodstraní. Moderní varianty proto vylepšují nejen generování, ale hlavně práci před ním: přípravu dokumentů, formulaci dotazu, výběr zdroje, řazení výsledků a kontrolu důkazů.

Vektorová databáze není totéž co RAG. Je pouze jedním možným vyhledávacím nástrojem. RAG může hledat také přes klíčová slova, SQL, API, znalostní graf, web nebo kombinaci několika zdrojů. Jak fungují embeddingy a podobnostní hledání, vysvětluje náš článek o vektorových databázích.

Tři hlavní paradigmata: Naive, Advanced a Modular RAG

Odborné přehledy často popisují vývoj RAG ve třech stupních. Nejde o produktové edice ani o ostré hranice. Jsou to užitečné názvy pro to, kolik řízení a zpětné vazby kolem základní linky vyhledat → odpovědět přidáváme.

Naive RAG

Dotaz se jednou převede na embedding, vyhledá se několik nejbližších úryvků a model z nich odpoví. Je rychlý, levný a výborný jako první měřitelná verze.

Advanced RAG

Vylepšuje jednotlivé fáze: kontextové dělení dokumentů, metadata, přepis dotazu, hybridní hledání, reranking, kompresi kontextu a ověřování odpovědi.

Modular RAG

Skládá vyhledávání, routery, paměť, nástroje a kontrolní kroky do pružného grafu. Systém může některé kroky přeskočit, větvit se nebo hledání opakovat.

1. Naive RAG: nejlepší výchozí bod

Dokumenty rozdělíte na úryvky, vytvoříte jejich embeddingy a uložíte je do indexu. Uživatelský dotaz projde stejným embeddingovým modelem, systém vezme například pět nejpodobnějších úryvků a přidá je do promptu. To často stačí pro příručku k produktu, interní směrnice nebo znalostní bázi s dobře napsanými otázkami.

Slabina se projeví u nejasných formulací, přesných kódů produktů, dlouhých dokumentů a otázek spojujících více faktů. Jeden dotaz, jedno pořadí výsledků a jedno generování nedávají systému prostor opravit špatný první krok.

2. Advanced RAG: kvalita v každé fázi

Advanced RAG stále může být lineární, ale každou část potrubí promýšlí samostatně. Před hledáním doplní kontext k úryvkům, filtruje podle metadat nebo přepíše otázku do podoby vhodnější pro vyhledávač. Při hledání kombinuje sémantickou podobnost s přesnými klíčovými slovy. Po hledání širší sadu kandidátů znovu seřadí a do modelu pustí jen nejlepší důkazy.

Právě zde bývá největší praktický přínos. Špatnou odpověď často nezpůsobí „slabý model“, ale chybějící správný úryvek. V testech Contextual Retrieval od Anthropic snížila kombinace kontextových embeddingů a BM25 počet neúspěšných nalezení v jejich sadách o 49 % oproti výchozímu RAG; s rerankingem o 67 %. Nejde o univerzální záruku, ale o dobrý příklad, proč má smysl měřit retrieval odděleně od generování.

3. Modular RAG: komponenty a rozhodování

Modular RAG opouští představu jediné pevné linky. Router může poslat dotaz do dokumentů, relační databáze nebo na web. Kontrolní modul může výsledek odmítnout, přepsat dotaz a hledat znovu. Paměť doplní kontext rozhovoru a nástroj pro citace naváže věty odpovědi na konkrétní zdroje.

Modularita usnadňuje kombinování vzorů, které následují. Stejný systém může používat hybridní hledání pro přesné termíny, GraphRAG pro vztahy a agentní smyčku jen u složitých otázek. Cenou je více komponent, složitější ladění a větší prostor pro chyby v řízení.

Osm pokročilých typů a vzorů RAG

Následující názvy nejsou jedna plochá taxonomie. Popisují různé vlastnosti: způsob vyhledávání, zdroj znalostí, kontrolní mechanismus nebo orchestrace. V produkčním řešení se běžně překrývají.

Hybrid RAG

Kombinuje sémantické vyhledávání přes embeddingy s lexikálním hledáním, například BM25. Embeddingy rozumějí významu, klíčová slova zase přesně zachytí čísla, názvy, zkratky a identifikátory.

Hodí se: technická dokumentace, katalogy, právní texty a všude, kde záleží na významu i přesném zápisu.

RAG‑Fusion

Model vytvoří několik významově odlišných verzí otázky. Každá se vyhledá samostatně a výsledné žebříčky se sloučí, často pomocí Reciprocal Rank Fusion. Tím se sníží závislost na jediné formulaci uživatele.

Hodí se: krátké, nejednoznačné nebo vícevrstvé dotazy, u kterých první formulace míjí slovník dokumentů.

Adaptive RAG

Nejprve odhadne složitost otázky. Jednoduchou může zodpovědět bez hledání, střední pošle do jednoho retrieval kroku a složitou řeší iterativně. Šetří práci tam, kde plné workflow není potřeba.

Hodí se: asistenti s velmi různorodými dotazy, kde potřebujete vyvažovat přesnost, latenci a cenu — podobně jako u reasoning modelů, které také přemýšlejí déle jen u těžších zadání.

Corrective RAG (CRAG)

Hodnotitel zkontroluje relevanci nalezených dokumentů. Při slabém výsledku systém dotaz upraví, pročistí podklady nebo sáhne do záložního zdroje, například na web. Nejde o stejnojmenný benchmark CRAG, ale o korektivní architekturu.

Hodí se: znalostní báze s proměnlivou kvalitou a scénáře, kde je lepší hledání zopakovat než sebejistě hádat.

Self‑RAG

Původní Self‑RAG trénuje model se speciálními reflexními tokeny. Model se učí rozhodnout, zda hledat, zda je pasáž relevantní a zda je odpověď podložená a užitečná. Není to jen obecná výzva „zkontroluj svou odpověď“.

Hodí se: výzkumné či specializované nasazení, kde dává smysl model upravit a řídit retrieval přímo během generování.

GraphRAG

Staví nad dokumenty graf entit, vztahů a často i souhrnů komunit. Umí hledat lokální okolí konkrétní entity i odpovídat na globální otázky o tématech napříč celým korpusem, které běžné top‑k úryvky snadno minou.

Hodí se: propojené události, organizace, osoby, závislosti a souhrnné otázky nad velkou sbírkou. Více najdete v článku o grafových databázích.

Agentic RAG

AI agent chápe retrieval jako jeden z nástrojů. Rozloží úkol, zvolí zdroj, hledá, porovná mezivýsledek a podle potřeby pokračuje. Nástroje může mít připojené standardně přes MCP, takže kombinuje dokumenty, SQL, webová API i výpočty.

Hodí se: otevřené analytické úlohy a vícezdrojové rešerše. Přináší ale vyšší cenu, latenci a potřebu limitů i observability. Princip agentní smyčky vysvětlujeme v článku Co je AI agent.

Multimodální RAG

Vyhledává a předává modelu nejen text, ale také obrázky, tabulky, grafy, zvuk či video. U vizuálně bohatých PDF může stránku indexovat přímo jako obraz, takže se význam rozvržení neztratí při převodu na holý text.

Hodí se: prezentace, naskenované smlouvy, technické výkresy, tabulkové reporty a obrazová dokumentace.

Je „vector RAG“ další typ?

Spíše označuje použitý retriever než celé paradigma. Podobně můžeme mluvit o SQL RAG, web RAG nebo knowledge‑graph RAG podle zdroje. Každý z nich může být jednoduchý, pokročilý, modulární i součást agentního workflow.

Tři kroky RAG v kódu

Rozdíl mezi typy RAG je nejlépe vidět na kódu. Následující ukázky jsou zjednodušené — funkce jako hledej nebo rerank zastupují vaši implementaci — ale ukazují přesně to místo, kde jednotlivé vzory přidávají práci navíc.

Naive RAG má jádro na dvacet řádků

Celý baseline je hledání nejbližších sousedů plus jeden prompt. Nepotřebujete framework ani vektorovou databázi; u pár tisíc úryvků stačí pole v paměti. Právě tuhle verzi si postavte jako první a změřte ji, než začnete přidávat vrstvy.

Python
from openai import OpenAI
import numpy as np

client = OpenAI()
chunks = nacti_uryvky("dokumentace/")          # seznam textovych uryvku

def embed(texty):
    odpoved = client.embeddings.create(
        model="text-embedding-3-small", input=texty
    )
    return np.array([polozka.embedding for polozka in odpoved.data])

index = embed(chunks)                          # tvar (pocet_uryvku, dimenze)

def odpovez(dotaz, k=5):
    # embeddingy OpenAI maji jednotkovou delku, skalarni soucin = kosinova podobnost
    skore = index @ embed([dotaz])[0]
    podklady = [chunks[i] for i in skore.argsort()[-k:][::-1]]
    instrukce = (
        "Odpovidej vyhradne z dodanych podkladu. "
        "Kdyz odpoved v podkladech neni, rekni to.\n\n"
        + "\n---\n".join(podklady)
    )
    return client.responses.create(
        model="gpt-4.1-mini",
        input=[
            {"role": "system", "content": instrukce},
            {"role": "user", "content": dotaz},
        ],
    ).output_text

Všimněte si systémové instrukce. Už v nejjednodušší verzi patří k RAG explicitní pokyn odpovídat jen z podkladů a přiznat, když informace chybí.

Hybridní hledání a RAG‑Fusion přidávají žebříčky

Hybrid RAG a RAG‑Fusion dělají v podstatě totéž: pustí víc hledání a výsledky sloučí. Reciprocal Rank Fusion přitom nepotřebuje porovnávat skóre z různých systémů, což je jeho hlavní výhoda — pracuje jen s pořadím. Konstanta k (obvykle 60) tlumí vliv prvních míst, takže jeden sebejistý vyhledávač nepřebije ostatní.

Python
def rrf(zebricky, k=60):
    """Reciprocal Rank Fusion: slouci vic serazenych seznamu do jednoho."""
    skore = {}
    for zebricek in zebricky:
        for poradi, doc_id in enumerate(zebricek, start=1):
            skore[doc_id] = skore.get(doc_id, 0.0) + 1 / (k + poradi)
    return sorted(skore, key=skore.get, reverse=True)

kandidati = rrf([
    vektorove_hledani(dotaz, k=20),   # semanticka podobnost
    bm25_hledani(dotaz, k=20),        # presna klicova slova, kody, nazvy
    vektorove_hledani(prepis(dotaz), k=20),   # RAG-Fusion: druha formulace
])

podklady = rerank(dotaz, kandidati[:20])[:5]  # cross-encoder vybere finalni petici

Široký retrieval následovaný rerankingem je nejčastější recept Advanced RAG: hledejte dvacet kandidátů, ale do modelu pusťte pět nejlepších.

Korekční smyčka je jen podmínka navíc

CRAG, Adaptive i Agentic RAG stojí na stejné myšlence — mezi hledání a odpověď vložit rozhodnutí. Nejjednodušší podoba je jedna kontrola relevance a maximálně jedno další kolo.

Python
def odpovez_s_kontrolou(dotaz, max_pokusu=2):
    for pokus in range(max_pokusu):
        podklady = hledej(dotaz)
        hodnoceni = ohodnot_relevanci(dotaz, podklady)   # LLM nebo maly klasifikator

        if hodnoceni.relevantni:
            return generuj(dotaz, podklady)

        if pokus + 1 == max_pokusu:
            break
        dotaz = preformuluj(dotaz, hodnoceni.duvod)      # druhe kolo s lepsim dotazem

    # Cesta "nevim" je soucast navrhu, ne selhani.
    return "V dostupnych podkladech jsem odpoved nenasel."

Limit pokusů tam patří od začátku. Bez něj se ze smyčky snadno stane drahý nekonečný cyklus, a to je nejčastější způsob, jak se agentní RAG prodraží.

Srovnání typů RAG v praxi

Typ nebo vzor Co přidává Hlavní přínos Náročnost
Naive RAG Jedno hledání a jedno generování Rychlý a levný základ Nízká
Advanced RAG Lepší index, dotaz, retrieval a reranking Vyšší relevance podkladů Střední
Modular RAG Routery, smyčky, paměť a výměnné moduly Pružnost a řízení toku Střední až vysoká
Hybrid / Fusion Více metod nebo formulací hledání Vyšší recall a odolnost vůči slovníku Střední
Adaptive / CRAG Rozhodování a opravný krok Méně zbytečné práce a slepých odpovědí Střední až vysoká
Self‑RAG Naučenou sebereflexi uvnitř modelu Řízení retrieval a opory odpovědi Vysoká
GraphRAG Entity, vztahy a hierarchické souhrny Multi‑hop a globální otázky Vysoká
Agentic RAG Plánování a opakované použití nástrojů Složité vícezdrojové úkoly Vysoká
Multimodální RAG Retrieval textu i dalších modalit Práce s vizuálně bohatými zdroji Střední až vysoká
„Náročnost“ zahrnuje vývoj, provoz, evaluaci i diagnostiku. Jednotlivé řádky lze kombinovat, proto nejde o žebříček od nejhoršího k nejlepšímu.

RAG, fine‑tuning, nebo dlouhý kontext?

Než začnete vybírat typ RAG, ověřte, že RAG je vůbec správný nástroj. Tři přístupy řeší tři různé problémy a v praxi se často kombinují.

RAG

Mění se obsah, potřebujete citace, řízení přístupu a možnost dokument okamžitě stáhnout z oběhu. Aktualizace znamená přeindexovat, ne přetrénovat.

Fine‑tuning

Učí model jak odpovídat: formát, styl, odborný jazyk, konzistentní strukturu výstupu. Na často se měnící fakta je drahý a špatně se u něj dohledává zdroj.

Dlouhý kontext

Když se všechny podklady vejdou do jednoho promptu, retrieval nepotřebujete. Cena a latence ale rostou s délkou a modely mají tendenci ztrácet informace uprostřed vstupu.

Praktické pravidlo: znalosti řešte retrievalem, chování fine‑tuningem a dlouhý kontext berte jako doplněk pro pár desítek stran na jeden dotaz. I s modelem, který zvládne milion tokenů, se vyplatí nejdřív vybrat relevantní pasáže — kratší a čistší kontext bývá levnější i přesnější než nacpat do promptu celý archiv.

Jak vybrat správný typ RAG

Začněte povahou otázek a chyb, ne názvem frameworku. Praktický router může vypadat takto:

FAQ nad jednou dokumentací
→
Naive RAG + metadata a citace
Názvy, kódy i významové dotazy
→
Hybridní hledání + reranking
Různá obtížnost otázek
→
Adaptive RAG s jednoduchou výchozí cestou
Vztahy a témata napříč korpusem
→
GraphRAG nebo grafový retriever
Více zdrojů a kroků řešení
→
Agentic RAG s limity nástrojů
Tabulky, grafy a skeny v PDF
→
Multimodální retrieval

U regulovaných nebo kritických odpovědí přidejte nezávisle na zvoleném typu oprávnění, citace, kontrolu čerstvosti, možnost odpověď odmítnout a lidské schválení tam, kde chyba může způsobit škodu. Složitější RAG není náhradou za správu dat ani bezpečnost.

Čím RAG postavit

Konkrétní nástroje se mění rychleji než principy, takže je berte jako výchozí rozcestník. Pro orientaci pomůže rozdělit je podle role v systému:

OrchestraceLangChain a LangGraph, LlamaIndex, Haystack — routery, smyčky a stavy modulárního workflow. Menší projekt zvládnete i bez frameworku, přímo přes SDK modelu.
Index a hledánípgvector v PostgreSQL, Qdrant, Weaviate, Milvus; pro lexikální část Elasticsearch nebo OpenSearch s BM25. Hybridní hledání dnes zvládne většina z nich v jednom dotazu.
RerankingCohere Rerank, BGE reranker nebo cross‑encoder ze sentence‑transformers. Nejlevnější způsob, jak zvednout kvalitu podkladů bez zásahu do indexu.
Grafová vrstvaNeo4j nebo jiná grafová databáze, nad tím Microsoft GraphRAG pro extrakci entit a souhrny komunit.
Evaluace a provozRagas nebo DeepEval pro metriky, Langfuse či LangSmith pro trasování dotazů, ceny a latence. Bez nich neuvidíte, který krok selhal.

Při výběru se ptejte na čtyři věci: zvládne to hybridní hledání, filtrování podle metadat a oprávnění, vrácení citací a napojení na evaluaci? Zbytek je většinou otázka provozních preferencí.

Co měřit, než přidáte další vrstvu

Hodnotit jen výsledný text nestačí. Oddělte, zda systém našel správný důkaz, zda ho model použil a kolik celý proces stojí. Jinak můžete měnit generátor kvůli chybě v indexu.

RetrievalRecall@k, hit rate, MRR nebo nDCG nad otázkami s označenými relevantními zdroji.
OdpověďVěcná správnost, úplnost, užitečnost a shoda s očekávaným formátem.
GroundingZda každé tvrzení opravdu podporují nalezené pasáže a zda citace vedou na správné místo.
ProvozLatence, cena, počet hledání, velikost kontextu a podíl bezpečně odmítnutých dotazů.

Začněte sadou reálných otázek uživatelů včetně nejasných, neřešitelných a oprávněním omezených případů. Teprve když například zjistíte, že systém nenachází přesná označení, přidejte BM25. Když selhává u vztahů přes více dokumentů, zvažte graf nebo iterativní retrieval. Architektura tak roste z dat, ne z módních názvů.

Časté chyby při stavbě RAG

  • Příliš velké nebo příliš malé chunky. První přinášejí šum, druhé ztrácejí význam. Dělení testujte podle typu dokumentů a otázek.
  • Více kontextu za každou cenu. Desítky průměrných pasáží mohou správný důkaz utopit. Pomůže širší retrieval následovaný rerankingem a menším top‑k.
  • Žádné metadata a oprávnění. Oddělení zákazníků, platnost dokumentu, jazyk a přístupová práva patří do filtru před generováním.
  • Jedna metrika pro celý systém. Bez samostatné evaluace retrievalu nepoznáte, zda chybuje hledání, prompt nebo model.
  • Chybějící cesta „nevím“. RAG musí umět přiznat, že důkaz nenašel, místo aby chybějící informaci doplnil z domněnky.
  • Agent hned v první verzi. Smyčky a nástroje násobí cenu i možné poruchy. Nejprve postavte jednoduchý baseline, logování a evaluační sadu.
  • Ignorování aktualizací. Sledujte původ, verzi a datum dokumentů, mažte neplatné embeddingy a testujte, že nový obsah je skutečně dohledatelný.

Co si odnést

Naive, Advanced a Modular RAG popisují rostoucí pružnost celé architektury. Hybridní hledání, RAG‑Fusion, Adaptive RAG, CRAG, Self‑RAG, GraphRAG, Agentic RAG a multimodální RAG jsou konkrétní způsoby, jak řešit různé slabiny nebo zdroje dat. Lze je skládat, ale každá vrstva musí mít měřitelný důvod.

Pro většinu týmů je nejlepší cesta postupná: kvalitní dokumenty, jednoduchý retrieval, citace a evaluační sada; potom hybridní hledání a reranking. Router, graf nebo agenta přidejte až ve chvíli, kdy baseline prokazatelně nestačí.

Chcete si RAG a AI agenty postavit prakticky?

V kurzu Programátor AI Agentů propojujeme jazykové modely, vektorové databáze, RAG, nástroje a agentní workflow v Pythonu. Nezůstáváme u diagramů: jednotlivé komponenty navrhnete, naprogramujete a změříte na reálném projektu.

Prohlédnout kurz Programátor AI Agentů →

Zdroje a další čtení

Zdeněk Vais

Autor článku

Zdeněk Vais

Zakladatel · Senior Principal Software Engineer, Oracle

Zdeněk programuje už od střední školy. Od té doby si prošel cestou od programátora přes team leadera až k architektovi. Vyvíjel velké finanční systémy, vědecké aplikace i IoT řešení pro letadla. V současnosti pracuje jako senior principal software engineer ve společnosti Oracle, kde staví cloud pro mediální služby.

Poznat náš tým →

← Zpět na blog