Myslitelé
RAG, nebo dolaďování? Co nás skutečné projekty pro klienty naučily o tom, jak si vybrat

Téměř každý rozhovor o umělé inteligenci ve firmách, kterého se účastním, dospěje během první hodiny ke stejnému rozcestí. Klient má velký jazykový model, který při ukázce působí skvěle, ale nezná jeho produkty, zásady ani způsob vyjadřování. Někdo v místnosti se zeptá: máme model doladit na našich datech, nebo kolem něj vybudovat generování rozšířené o vyhledávání (RAG)?
Upřímná odpověď zní, že otázka bývá obvykle špatně položená. RAG a dolaďování řeší různé problémy. Týmy, které je považují za konkurenční možnosti, často stráví celé měsíce a vynaloží značnou část rozpočtu na GPU na řešení nesprávného problému. Takhle se v praxi rozhodujeme my a tohle jsme viděli fungovat i selhávat.
Začněte tím, co modelu chybí
Když model podává při obchodním úkolu špatnou odpověď, chybí mu jedna ze dvou věcí.
Chybí mu znalosti. Nezná váš nejnovější ceník, ustanovení ve smlouvě s dodavatelem na rok 2025 ani postup při řešení problémů s produktem uvedeným na trh minulý měsíc. Jde o problém s fakty.
Chybí mu vhodné chování. Má dostatek znalostí, ale nereaguje tak, jak potřebujete. Nedodržuje požadovaný formát výstupu, píše nevhodným tónem, nesprávně čte vaše interní kódy nebo nedokáže spolehlivě plnit úzce vymezený, opakující se úkol, například zařazovat tikety do vašich 40 kategorií. Jde o problém s dovednostmi.
RAG je nástroj pro řešení prvního problému. Dolaďování slouží k řešení druhého. Většina nejasností, se kterými se setkávám, pramení ze snahy naučit model pomocí dolaďování fakta.
Proč je dolaďování nevhodným způsobem, jak modelu doplnit znalosti
Je lákavé si myslet, že když model natrénujete na svých dokumentech, bude je „znát“. Ve skutečnosti se mnohem spolehlivěji naučí styl těchto dokumentů než fakta, která obsahují. Výzkumníci z Microsoftu oba přístupy přímo porovnali u otázek vyžadujících rozsáhlé znalosti a zjistili, že RAG soustavně překonávalo nesupervidované dolaďování, a to jak u faktů, se kterými se model setkal při trénování, tak u zcela nových.
Problémy se objevují i v praxi. Fakta se mění. Pokaždé, když změníte zásady nebo katalog, je doladěný model zastaralý, dokud ho znovu nenatrénujete. Ztrácíte také možnost zpětného dohledání zdrojů: když doladěný model uvede nějaký údaj, nemůžete ukázat na dokument, ze kterého pochází. U klientů z regulovaných odvětví, jako jsou pojišťovnictví a zdravotnictví, to obvykle stačí k ukončení diskuse.
RAG, poprvé popsané v článku z roku 2020 od Lewise a kol., uchovává znalosti mimo model. V okamžiku zadání dotazu vyhledáte příslušné pasáže a předáte je modelu jako kontext. Aktualizace znalostí pak znamená aktualizovat index, nikoli model znovu trénovat. Každá odpověď navíc může uvádět svůj zdroj.
Dobrým příkladem je jeden z našich klientů v logistice. Jeho zákazníci chtěli okamžité odpovědi na otázky, kde se nacházejí jejich zásilky a které dokumenty chybějí. Tyto informace se mění každých pár minut. Žádné trénování by nedokázalo udržet model aktuální, a proto náš asistent odpovídá na základě aktuálních údajů ze sledování zásilek a zařízení internetu věcí, které získává v okamžiku zadání dotazu, nikoli z paměti. Jediným funkčním řešením bylo vyhledávání.
Kde má dolaďování své místo
Dolaďování není mrtvé. Jeho využití je jen užší, než lidé očekávají. Saháme po něm ve třech případech:
- Přísně dané, opakující se formáty výstupu. Když musí model denně tisíckrát vytvářet stejný strukturovaný výstup, například vyplňovat údaje z faktur podle pevně daného schématu JSON, bývá doladěný malý model spolehlivější a mnohem levnější než zadávání pokynů velkému modelu.
- Odborný jazyk. Některé obory používají zkratky, které základní model čte nesprávně. Typickými příklady jsou kódy logistických stavů, klinické zkratky a interní kódy produktů. Tento problém může vyřešit mírné dolaďování.
- Náklady a latence při rozsáhlém nasazení. Jakmile je úkol přesně vymezený, může doladěný malý model nahradit velký obecný model. Metody jako LoRA snižují náklady, protože se trénuje jen malá sada dodatečných vah, nikoli celý model.
Všimněte si, že žádný z těchto případů se netýká faktů. Jde o to naučit model, jak se chovat při úkolu, kterému už dobře rozumíte.
Za většinou selhání RAG stojí problémy s vyhledáváním
Když mi tým řekne „zkusili jsme RAG a nefungovalo to“, problémem bývá jen zřídka samotný model. Na vině je krok vyhledávání. Kvalita modelu nemůže převýšit kvalitu pasáží, které dostane k dispozici.
Řešení nejsou nijak oslnivá, ale fungují:
- Rozdělujte text podle významu, ne podle počtu znaků. Rozdělení smlouvy po každých 500 znacích roztrhne ustanovení vedví. Členění podle oddílů a nadpisů zachová souvislosti.
- Doplňte ke každému segmentu kontext. Segment s textem „limit je 30 dní“ je k ničemu, pokud nevíte, ke které pojistce patří. Anthropic uvedl, že přidávání stručného kontextu z dokumentu ke každému segmentu před jeho zařazením do indexu, což označuje jako kontextové vyhledávání, snížilo počet neúspěšných vyhledání o 49 % a při kombinaci s přerovnáváním výsledků o 67 %.
- Kombinujte vyhledávání podle klíčových slov a vektorové vyhledávání. Vektorové vyhledávání dobře zachycuje význam, ale hůře pracuje s přesnými výrazy, jako jsou čísla dílů. Hybridní vyhledávání zvládá obojí.
- Otestujte vyhledávání samostatně. Sestavte soubor skutečných otázek se známými správnými zdrojovými pasážemi a změřte, zda se správná pasáž objeví mezi nejvýše umístěnými výsledky, než začnete hodnotit konečné odpovědi.
Kdy použít obojí
V produkčním prostředí nejsilnější systémy často kombinují oba přístupy. RAG dodává fakta. Lehce doladěný model se stará o formát, tón a oborový jazyk. Stejným směrem se ubírá i výzkum: přístup RAFT z UC Berkeley dolaďuje model tak, aby lépe využíval vyhledané dokumenty a ignoroval ty nerelevantní.
Záleží však na pořadí. Téměř vždy nejprve vytvoříme systém RAG, změříme, v čem zaostává, a teprve potom rozhodneme, zda se dolaďování vyplatí. Začít dolaďováním znamená platit za trénink dřív, než víte, v čem skutečně spočívá nedostatek.
Jednoduchý kontrolní seznam pro rozhodování
- Závisí úloha na faktech, která se mění častěji než jednou za čtvrtletí? Použijte RAG.
- Potřebují uživatelé nebo auditoři vidět, odkud odpověď pochází? Použijte RAG.
- Je problém ve formátu, tónu nebo slovní zásobě odpovědí, nikoli v jejich faktickém obsahu? Zvažte dolaďování.
- Jde o úzce zaměřenou úlohu, která se spouští ve velkém objemu a u níž záleží na nákladech nebo rychlosti? Zvažte doladění menšího modelu.
- Změřili jste kvalitu vyhledávání samostatně? Pokud ne, udělejte to jako první.
Hlavní závěr
RAG a dolaďování si nekonkurují. Jedno modelu poskytuje správné informace, druhé formuje jeho chování. Ujasněte si, jaký problém skutečně řešíte, než začnete obviňovat model, opravte vyhledávání a dolaďování berte jako optimalizaci, kterou si zasloužíte až ve chvíli, kdy systém funguje — ne jako zkratku, díky níž by měl začít fungovat.












