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.