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ť.
1. Definícia
Context drift (v konverzácii/LLM): postupná zmena toho, čo model považuje za „aktuálny kontext“ (zadanie, obmedzenia, definície pojmov, dôležité fakty).
Context drift (v širšom ML zmysle): zmena kontextu, v ktorom platí určitý vzťah medzi vstupmi a výstupmi (blízke pojmu concept drift).
Dôležité odlíšenia (v praxi sa často miešajú):
Context drift: uteká konverzačný rámec (cieľ, dohody, pravidlá, stav).
Data drift: mení sa typ/štýl vstupov (iné formáty, jazyk, šum).
Concept drift: mení sa samotná „pravda“/vzťah v doméne (napr. nové pravidlá, nové procesy).
2. Ako to funguje / Prečo k tomu dochádza
Najčastejšie príčiny v LLM systémoch:
Obmedzené kontextové okno
Dlhá konverzácia = staršie dôležité info sa skráti, sumarizuje alebo vypadne.
Model potom „dovyplní“ chýbajúce kúsky podľa pravdepodobnosti (čo pôsobí ako drift).
Sumarizácia a „strata detailov“
Keď systém robí priebežné zhrnutia, môže:
vynechať výnimky a okrajové pravidlá,
zmeniť formulácie (a tým aj význam),
zlúčiť podobné fakty do jedného „priemeru“.
RAG / vyhľadávanie pridá nesprávny alebo zastaraný kontext
Zlé chunkovanie, slabý re-ranking alebo chýbajúca práca s metadátami (dátum, verzia, autorita) vie „prebiť“ správne inštrukcie.
Častý problém je aj verzionovanie dokumentov (viac podobných kópií s odlišnou platnosťou).
Viackrokové úlohy a agenti s nástrojmi
Plán sa môže rozpadnúť na mikrociele a model sa začne optimalizovať na „ďalší krok“, nie na pôvodný cieľ.
Každý tool-call pridáva ďalší text a šum – drift sa zrýchľuje.
Prirodzená „zmena textu“ v čase (natural context drift)
- Aj keď máš „tú istú informáciu“, ale prepísanú/parafrázovanú, model môže byť citeľne horší, lebo sa mu zmenil tvar kontextu, na ktorý je citlivý.
3. Hlavné prejavy / Výhody a nevýhody
Typické prejavy:
Posun cieľa: pôvodne „navrhni API“, neskôr model rieši UI alebo infra bez toho, aby sa to 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 už „samospätne“ upevňujú.
Konfliktné odpovede: v jednej časti tvrdí A, neskôr B, a nevníma rozpor.
Kódový drift: AI v kóde zmení iný súbor, štýl alebo architektúru, než bolo dohodnuté („len malá úprava“ → pol refaktoru).
Nevýhody:
nižšia dôvera, viac kontroly a opravovania,
vyššie náklady (viac iterácií, viac tokenov),
riziko chybných rozhodnutí (najmä pri agentoch, automatizácii, RAG nad internými smernicami).
Potenciálne „výhody“ (skôr vedľajší efekt):
- pri brainstorming-u môže drift priniesť nečakané nápady – ale v riadených úlohách je to väčšinou neželané.
4. Praktické aplikácie / Riešenia
Nižšie sú riešenia od najjednoduchších po systémové.
A) Prompt a konverzačná hygiena (rýchle výhry)
Na začiatok si daj mini-špecifikáciu:
Cieľ
Obmedzenia
Definície pojmov
Výstupný formát
V dlhých vláknach používaj „kotvy“:
„Stále platí: …“
„Zmenilo sa: …“
„Nezabudni obmedzenia: …“
Pri komplexných úlohách si pýtaj:
„Najprv stručný plán, potom realizácia.“
„Skontroluj konzistentnosť s pravidlami pred odovzdaním.“
B) Explicitný stav namiesto implicitného kontextu
Drž stav v štruktúre (napr. JSON blok) a model nech s ním pracuje:
goal,constraints,assumptions,done,next_steps,open_questions
Pri každom kroku:
najprv aktualizovať stav,
až potom generovať odpoveď.
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.
Dobrá prax: oddeliť:
„Fakty & dohody“
„Hypotézy“
„Otázky“
D) RAG proti driftu
Pracuj s metadátami:
- timestamp, verzia, platnosť, autorita, zdrojový systém.
Urob „freshness“ a „authority“ súčasťou scoringu, nie len embedding similarity.
Zlepši retrieval pipeline:
lepší re-ranking,
menšie, konzistentné chunky,
deduplikácia podobných dokumentov,
pravidelné re-indexovanie.
E) Observability a meranie driftu (pre produkciu)
Loguj:
- vstupné inštrukcie, vybrané zdroje, zhrnutia, tool-calls, finálny výstup.
Zaveď jednoduché metriky:
„porušené obmedzenia“ (počítadlo),
„odchýlka od cieľa“ (heuristika: kľúčové slová, štruktúra, kontrolné otázky),
„stabilita faktov“ (porovnanie stavu medzi krokmi).
Daj modelu self-check:
- „Vymenuj 3 najdôležitejšie obmedzenia a uisti sa, že si ich dodržal.“
F) Kedy je lepšie „rezať“ kontext
Ak sa úloha rozrástla, často je lepšie:
spraviť nový thread,
preniesť len čistý stav + špecifikáciu,
staré vlákno nechať ako archív.
Quick Reference
Najčastejší dôvod: príliš 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.
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 úlohách.
Vzniká hlavne kvôli limitu kontextu, sumarizácii, RAG/retrieval chybám a agentným reťazcom nástrojov.
Najspoľahlivejšie riešenia sú: explicitný stav, kontrolovaná sumarizácia, kvalitný RAG s metadátami a monitorovanie driftu.