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.