Context drift

Context drift (rozpad kontextu) je jav, keď sa AI — najmä LLM v chate, asistenti na kódovanie alebo agenti s nástrojmi — postupne odkloní od pôvodného cieľa, faktov alebo pravidiel a začne odpovedať „vedľa", meniť zadanie, miešať témy alebo si potichu prepisovať predpoklady. V praxi to vyzerá ako strata „nitky": model síce stále generuje plynulo, ale klesá presnosť a konzistentnosť.

V roku 2026 je tento problém aktuálnejší ako kedykoľvek predtým. Modely majú kontextové okná v státisícoch až miliónoch tokenov, bežne ich nasadzujeme ako autonómnych agentov na viackrokové úlohy a integrujeme do RAG pipelines nad firemnými dokumentmi. Väčšie okno problém neeliminuje — iba ho odsúva a mení jeho charakter.


1. Definícia a odlíšenie príbuzných pojmov

Context drift sa ľahko zamieňa s inými typmi nestability AI systémov. Kľúčové rozlíšenie:

Pojem Čo sa mení Kde nastáva Typický príklad
Context drift Konverzačný rámec (cieľ, dohody, pravidlá, stav) V čase konverzácie alebo agentného behu Model zabudne obmedzenie „len Python"
Data drift Typ alebo štýl vstupov Medzi tréningovými dávkami / verziami deploymentu Používatelia začnú písať iným štýlom
Concept drift Samotná „pravda" v doméne V reálnom svete Zmena zákonov, nové verzie API
Answer thrashing Konkrétna odpoveď bez nového dôkazu V jednom vlákne Model zmení názor bez vysvetlenia
Konfabulácia Fakty vymyslené na základe chýbajúceho kontextu Kdekoľvek Model „doplní" neexistujúci parameter funkcie

V tomto článku sa sústredíme primárne na konverzačný context drift v LLM systémoch. Príčiny a riešenia sa však veľkou mierou prekrývajú aj s agentnou automatizáciou a RAG pipelines.


2. Ako to funguje — príčiny

Obmedzené kontextové okno a „riedenie" dôležitosti

Aj modely s miliónmi tokenov kontextu nie sú imúnne. Výskum publikovaný v rokoch 2024–2025 (napríklad štúdia „Lost in the Middle") ukázal, že LLM modely dávajú systematicky vyššiu váhu informáciám na začiatku a konci kontextu — obsah v strede sa efektívne „stráca". Dlhá konverzácia tak môže mať kľúčové pravidlá uložené v strede okna, kde ich model de facto ignoruje napriek tomu, že technicky „vidí" celý kontext.

Sumarizácia a strata detailov

Keď systém robí priebežné zhrnutia (rolling summaries), hrozí:

  • vynechanie výnimiek a okrajových pravidiel,
  • zmena formulácií (a tým aj významu),
  • zlúčenie podobných faktov do jedného „priemeru", ktorý neplatí pre žiadny konkrétny prípad.

RAG pridá nesprávny alebo zastaraný kontext

Zlé chunkovanie, slabý re-ranking alebo chýbajúce metadáta (dátum, verzia, autorita) vie „prebiť" správne inštrukcie. Ak databáza obsahuje viac verzií toho istého dokumentu, model si vyberie podľa embedding similarity — nie podľa platnosti. Výsledkom je, že zastaraná interná smernica môže mať vyššie skóre ako aktuálna, ak je formulovaná podobnejšie k otázke.

Viackrokové úlohy a agentné reťazce

Každý tool-call pridáva ďalší text a šum do kontextu. Plán sa rozpadne na mikrociele a model sa začne optimalizovať na „ďalší krok" namiesto pôvodného cieľa. V multi-agentných systémoch sa drift prenáša aj medzi agentmi — chyba v zhrnutí jedného agenta sa stáva vstupom druhého a kaskádovo sa zosilňuje.

Natural context drift — parafráza rovnakej informácie

Aj keď máš „tú istú informáciu", ale prepísanú alebo parafrázovanú, model môže byť citeľne horší. Tvar kontextu, na ktorý bol citlivý pri trénovaní alebo v systémovom prompte, sa zmenil — a model reaguje inak, hoci obsah je nominálne identický.


3. Hlavné prejavy

Typické prejavy driftu v praxi:

  • Posun cieľa: pôvodne „navrhni API", neskôr model rieši UI alebo infra bez toho, aby sa pýtalo.
  • Prepis pravidiel: model začne ignorovať obmedzenia — „bez tabuliek", „nepoužívaj framework", „len rura".
  • Faktická erózia: mená, čísla, verzie, dátumy sa jemne zmenia a ďalej sa samospätne upevňujú naprieč ďalšími odpoveďami.
  • Konfliktné odpovede: v jednej časti vlákna tvrdí A, neskôr B — a nevníma rozpor.
  • Kódový drift: AI zmení iný súbor, štýl alebo architektúru, než bolo dohodnuté. „Len malá úprava" → pol refaktoru.
  • Personálny drift: model zmení tón, úroveň formálnosti alebo rolu. Napríklad prestane byť kritický a stane sa nadmerne súhlasným (tzv. sycophancy) — postupný, ťažko detekovateľný drift, ktorý degraduje kvalitu spätnej väzby.

Praktické dôsledky:

  • nižšia dôvera, viac manuálnej kontroly a opravovania,
  • vyššie náklady (viac iterácií, viac tokenov, viac ľudského času),
  • riziko chybných rozhodnutí pri agentoch, automatizácii alebo RAG nad firemnými smernicami,
  • v produkčných systémoch: tichá degradácia kvality bez viditeľného chybového hlásenia — najnebezpečnejšia forma.

4. Praktické riešenia

Nižšie sú riešenia od najjednoduchších po systémové. V praxi sa kombinujú podľa zložitosti úlohy.

A) Prompt a konverzačná hygiena

Na začiatku definuj mini-špecifikáciu:

  • Cieľ — čo chceš dosiahnuť
  • Obmedzenia — čo je zakázané alebo povinné
  • Definície pojmov — ak máš špecifické termíny
  • Výstupný formát — štruktúra, jazyk, dĺžka

V dlhých vláknach používaj priebežné kotvy:

  • Stále platí: …"
  • Zmenilo sa: …"
  • Nezabudni obmedzenia: …"

Pri komplexných úlohách si žiadaj potvrdenie plánu pred realizáciou a self-check pred odovzdaním výsledku:

„Vymenuj 3 najdôležitejšie obmedzenia a uisti sa, že si ich dodržal."

B) Explicitný stav namiesto implicitného kontextu

Najspoľahlivejšia obrana proti driftu je nedržať stav „v hlave" modelu, ale v štruktúre, ktorú pri každom kroku aktualizuješ a vkladáš späť:

state = {
    "goal": "navrhni REST API pre objednávky",
    "constraints": ["bez tabuliek vo výstupe", "len Python", "žiadny framework"],
    "assumptions": [],
    "done": [],
    "open_questions": [],
}
# pri každom kroku: najprv aktualizuj state, až POTOM generuj
reply = model(system=json.dumps(state), user=user_msg)

Tým modelu poskytuješ explicitné „kotvy" pri každom volaní namiesto toho, aby sa spoliehal na to, čo z dlhého kontextového okna nevypadlo.

C) Riadená sumarizácia — rolling summary

Sumarizuj tak, aby sa nestratili:

  • názvy, čísla, verzie, mená,
  • výnimky a „nesmie sa" pravidlá,
  • rozhodnutia a dôvody, prečo sa k nim prišlo.

Dobrá prax — explicitne oddeliť v zhrnutí:

  • „Fakty & dohody" — overené, záväzné
  • „Hypotézy" — neoverené, otvorené
  • „Otázky" — čo ešte treba rozhodnúť

D) RAG odolný voči driftu

  • Pracuj s metadátami: timestamp, verzia, platnosť, autorita, zdrojový systém.
  • Urob „freshness" a „authority" súčasťou scoringu — nie len embedding similarity.
  • Zvažuj hybrid search (BM25 + sémantické vyhľadávanie): BM25 je citlivejší na presné kľúčové slová ako verzie, čísla a kódy, kde sémantická podobnosť môže zlyhať.
  • Pravidelné re-indexovanie a deduplikácia dokumentov — viac kópií rovnakého obsahu s rôznou platnosťou je klasický zdroj driftu.

E) Observability a meranie driftu

Loguj: vstupné inštrukcie, vybrané zdroje, zhrnutia, tool-calls, finálny výstup.

Jednoduché metriky pre produkciu:

  • „porušené obmedzenia" — počítadlo per session, trigger pre alert
  • „stabilita faktov" — porovnanie hodnôt kľúčových premenných medzi krokmi agenta
  • „odchýlka od cieľa" — heuristika: prítomnosť kľúčových slov, zhoda štruktúry výstupu

Daj modelu self-check ako súčasť pipeline — nie len na požiadanie:

„Skontroluj výstup voči pôvodnému zadaniu. Vymenuj každé pravidlo a potvrď, či bolo dodržané."

F) Kedy je lepšie kontext „rezať"

Ak sa úloha rozrástla, často je lepšie spraviť nový thread a preniesť len čistý stav + špecifikáciu. Staré vlákno nechaj ako archív. Tento prístup — nazývaný context reset — je pri agentných systémoch lacnejší a spoľahlivejší než pokus o záchranu zašumeného kontextu.


5. Context drift v agentných systémoch

Agentné systémy — kde LLM plánuje, volá nástroje a vykonáva viacero krokov autonómne — priniesli nový rozmer driftu. Multi-agentné orchestrátory sú dnes bežnou súčasťou produkčných pipelines. Drift tu má niekoľko špecifických vlastností:

Kaskádový drift

Orchestrátorský agent produkuje zhrnutie, ktoré dostane subagent ako kontext. Ak zhrnutie obsahuje drift, subagent ho prevezme a rozšíri. Malá odchýlka na vstupe → veľká chyba na výstupe. Na rozdiel od jednoduchého chatu tu nie je používateľ, ktorý by priebežne korigoval kurz.

Drift cez výsledky tool-calls

Výsledky volaní nástrojov (vyhľadávanie, API, exekúcia kódu) sa vkladajú do kontextu. Ak je výsledok nesprávny alebo nerelevantný, model sa mu prispôsobí namiesto toho, aby ho vyhodnotil kriticky. Bez explicitnej inštrukcie na validáciu výsledkov nástroja je drift zaručený pri prvom zlom výsledku.

Dlhotrvajúce behy bez externého stavu

Pri úlohách, ktoré trvajú desiatky alebo stovky krokov, sa drift akumuluje. Bez externého „stavu pravdy" — dokumentu, databázy alebo štruktúrovaného záznamu — je ťažké detekovať, kedy sa beh odklonil, až pokiaľ nie je škoda urobená.

Odporúčané vzory pre agentné systémy:

  • Každý agent dostáva mini-brief (cieľ + obmedzenia + relevantný kontext), nie celý log predchádzajúcich krokov.
  • Orchestrátor pravidelne kontroluje konzistentnosť subagentných výstupov s pôvodným cieľom — nie len „prešlo to bez erroru?".
  • Kritické rozhodnutia sa logujú s odôvodnením — umožňuje post-hoc audit aj self-correction.
  • Checkpointing: ukladaj stav po každej významnej akcii, aby bolo možné obnoviť beh od posledného konzistentného bodu namiesto reštartu od nuly.

6. Súvislosti

  • Kontextové okno: hlavná príčina driftu — staré inštrukcie sa odrežú alebo „strácajú v strede" dlhého okna.
  • Answer Thrashing: príbuzná nestabilita — model mení odpoveď bez nového dôkazu, bez progresívneho driftu.
  • Konfabulácia: keď kontext vypadne, model „dovyplní" chýbajúce — výsledkom sú vymyslené fakty, ktoré pôsobia dôveryhodne.
  • Guardrails: observability a self-check sú prevádzkové brzdy proti driftu v produkčných systémoch.
  • RAG: retrieval-augmented generation môže drift zmierniť, ale pri zlej konfigurácii ho aj zosilniť — závisí od kvality metadát a re-rankingu.

Quick Reference

Aspekt Hodnota
Najčastejší dôvod Dlhý alebo zašumený kontext: okno, sumarizácia, RAG
Najlepší okamžitý fix Krátka špecifikácia + priebežné kotvy („stále platí…")
Najlepší systémový fix Explicitný stav + riadená sumarizácia + metadátami riadený RAG + observability
Najrizikovejší kontext Multi-agentné systémy s dlhými kaskádovými behmi bez externého stavu
Signál pre reset kontextu Model ignoruje obmedzenia, fakty sa menia, cieľ sa posunul
Tichá forma driftu Sycophancy — model prestane byť kritický, len súhlasí

Zhrnutie

Context drift je postupná strata vernosti pôvodnému cieľu a pravidlám — typicky v dlhých konverzáciách a viackrokových agentných úlohách. Vzniká hlavne kvôli efektu „stratenia v strede" dlhého kontextového okna, sumarizačným stratám, RAG/retrieval chybám a kaskádovému driftu v multi-agentných reťazcoch.

Najspoľahlivejšie riešenia sú: explicitný stav, kontrolovaná sumarizácia, kvalitný RAG s metadátami a priebežné monitorovanie konzistentnosti. Pri agentných systémoch pridaj checkpointing a mini-brief pre každého agenta zvlášť.

Väčšie kontextové okno problém nevyrieši — iba zmení jeho charakter. Architektúra a hygiena kontextu, nie samotná veľkosť okna, rozhodujú o tom, či context drift ostane pod kontrolou.