Co je kontextové okno

Bloky textu padají do kontextového okna pevné kapacity a vy rozhodujete, co se vejde a co propadne pryč. Cvičení na tři minuty, zdarma a bez registrace.

ZákladníSkládání do okna3 min

Bloky textu padají do kontextového okna pevné kapacity. Rozhodněte, co se do něj vejde a co propadne pryč.

Co si procvičíte

  • Poznáte, že systémový pokyn musí zůstat na úplném začátku kontextu, jinak jej model přestane brát jako závazný
  • Rozeznáte, který odstavec unese ztrátu a který obsahuje údaj, bez kterého text ztrácí smysl
  • Uvidíte na vlastní oči, že delší podklad nemusí znamenat víc informací, protože přebytek jednoduše propadne

Vyberte si variantu

Co je kontextové okno

Kontextové okno je všechno, co model při odpovídání vidí najednou: vaše zadání, historii konverzace, přiložené dokumenty i vlastní systémový pokyn. Nemá nekonečnou kapacitu. Má pevný strop v tokenech, a jakmile ho zadání přesáhne, něco musí ustoupit.

Většina lidí si kontext představuje jako trubku: co do ní nalijete, to na druhém konci vyteče ven a nic se neztratí. Ve skutečnosti je to spíš krabice pevné velikosti. Když do ní naskládáte víc, než se vejde, zbytek nezůstane ležet vedle na podlaze. Zmizí.

Co je token

Model nečte text po slovech ani po písmenech. Rozkládá ho na tokeny, tedy kousky slova nebo skupiny znaků, které se opakovaně objevují v trénovacích datech. Slovo „kontext“ může být jeden token, slovo „kontextového“ už klidně tři nebo čtyři, protože se štěpí na kmen a koncovku.

Přesně tady se čeština prodraží. Anglická slova mají krátké a časté tvary, a tokenizér pro ně má připravené hotové kousky. Čeština má skloňování, časování a diakritiku, takže se stejná myšlenka rozpadne na víc tokenů, i když má méně písmen. V praxi to znamená, že česká věta stojí zhruba dvakrát tolik tokenů co její anglický překlad. Kapacita okna se tím fakticky zmenší na polovinu, aniž byste napsali jediné slovo navíc.

Konkrétní příklad: krátká věta „Zaměstnanec má nárok na pět týdnů dovolené“ má sedm slov a v kódování cl100k_base, které používají modely řady GPT, se rozpadne na dvaadvacet tokenů. Její anglický ekvivalent „The employee is entitled to five weeks of vacation“ má slov o dvě víc, devět, a přesto vyjde jen na devět tokenů, tedy méně než polovinu. Rozdíl nedělá délka věty ani počet slov. Dělá ho to, jak moc se čeština ohýbá.

Proč dlouhé zadání vytlačí to důležité

Kontextové okno se neplní podle důležitosti. Plní se podle pořadí, ve kterém věci přišly. Když se do zadání postupně nahromadí e-mail, tabulka, smlouva a poznámky z porady a souhrn přesáhne kapacitu okna, model si nevybírá podle váhy obsahu. Prostě přestane zpracovávat tu část, která se do okna nevešla, ať je důležitá, nebo ne.

Nejzranitelnější je systémový pokyn, tedy instrukce, podle které se má model chovat. Pokud zůstane na začátku, model ho bere jako závazné pravidlo. Jakmile ho obklopí další text nebo se posune až doprostřed dlouhé konverzace, model mu přestane dávat zvláštní váhu a chová se k němu jako k jedné z mnoha vět, ne jako k příkazu.

Jev „ztraceno uprostřed“

Výzkum dlouhých kontextů ukázal ještě jednu věc: i informace, která se do okna vejde, se čte s různou pozorností podle toho, kde v okně leží. Modely si nejlépe pamatují to, co je na úplném začátku a na úplném konci zadání. Cokoli je zabořené uprostřed dlouhého textu, dostává menší pozornost, i když se fyzicky nikam neztratilo. Jde o jev „lost in the middle“, popsaný ve studii, na kterou odkazujeme níže v seznamu zdrojů.

Pro praxi z toho plyne dvojí poučení. Za prvé, co je opravdu důležité, patří na kraj zadání, ideálně na úplný začátek. Za druhé, čím víc zadání roste, tím větší je riziko, že jeho prostřední část model přečte jen na půl ucha, i když se technicky do okna vešla celá.

Co s tím ve firmě

Řešení není „pište stručně“ za každou cenu. Krátké zadání bez kontextu vede k obecným a nepřesným odpovědím stejně spolehlivě jako zadání příliš dlouhé. Funguje vědomé řazení: systémový pokyn a nejdůležitější fakta dopředu, vedlejší poznámky a formality na konec, a u opravdu rozsáhlých podkladů si předem spočítat, jestli se vůbec vejdou celé.

Konkrétně to znamená tři návyky. Systémový pokyn pište stručně a vkládejte ho jako první zprávu konverzace, ne až jako dodatek na konec. Zdvořilostní věty, opakované poznámky a firemní patičky vyřaďte, pokud posíláte dlouhý podklad, protože nenesou žádný fakt, jen zabírají místo, které by mohl zabrat fakt. A u rozsáhlých dokumentů si předem spočítejte jejich přibližný počet tokenů, ideálně stejným tokenizérem, jaký používá cílový model, místo abyste to nechali na náhodu a zjistili to až podle toho, co model v odpovědi vynechal.

Hra výše dělá přesně tuhle úvahu hmatatelnou. Bloky textu padají do okna pevné kapacity a vy rozhodujete, co bude vpředu, co vzadu a co si prostě nemůžete dovolit ztratit.

Časté dotazy

Co přesně je kontextové okno?
Kontextové okno je maximální množství textu v tokenech, které model zpracuje najednou, včetně vašeho zadání, historie konverzace, přiložených dokumentů i systémového pokynu. Není to úložiště, které si model pamatuje mezi konverzacemi. Je to okamžitý limit na to, co vidí právě teď.
Co je token a jak se liší od slova?
Token je nejmenší kousek textu, se kterým model počítá, obvykle část slova, celé krátké slovo nebo skupina znaků. Anglické slovo bývá často jeden až dva tokeny. České slovo se kvůli skloňování a diakritice běžně rozpadne na tři až pět tokenů, i když má podobnou délku. Proto stejná myšlenka v češtině zabere zhruba dvakrát víc místa v okně než v angličtině.
Proč umělá inteligence zapomene, co jsem napsal na začátku dlouhé konverzace?
Pokud součet tokenů překročí kapacitu okna, nejstarší nebo nejméně prioritní část zadání se z okna odřízne a model ji přestane vidět. Nejde o to, že by si to nepamatovala, fyzicky to tam už není. I to, co se do okna technicky vejde, se navíc nečte se stejnou pozorností: prostřední části dlouhého textu dostávají méně pozornosti než začátek a konec, což je jev popsaný ve výzkumu níže.
Proč musí být systémový pokyn na začátku?
Model bere jako závazné pravidlo především to, co stojí na úplném začátku kontextu. Jakmile systémový pokyn obklopí další text, nebo se v dlouhé konverzaci posune doprostřed, model mu dá stejnou váhu jako běžné zprávě a přestane se jím řídit se stejnou důsledností, i když ho technicky pořád vidí.
Jak dlouhé zadání si mohu dovolit napsat?
Tolik, kolik unese kapacita konkrétního modelu, ale délka sama o sobě není cíl. Dlouhé zadání s balastem vytlačuje důležité fakty stejně spolehlivě jako zadání, které je prostě moc velké. Lepší strategie je řadit podle důležitosti: nejdůležitější informace a systémový pokyn dopředu, vedlejší poznámky a formality na konec, a u rozsáhlých podkladů si předem ověřit, že se vejdou.

Zdroje