ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Окно контекста: почему модель помнит начало разговора, а потом забывает

Вы долго общаетесь с ботом, и вдруг он «теряет нить» — забывает, что вы обсуждали в начале. Это не баг и не склероз. У каждой модели есть жёсткий лимит на то, сколько текста она держит перед глазами. Он называется окном контекста.

У нейросети нет долгой памяти в человеческом смысле — есть только узкое окно, в которое одновременно влезает ограниченный кусок текста.
Окно контекста — это максимальное количество токенов, которое модель способна держать «перед глазами» за один раз. Всё, что не влезло, для неё перестаёт существовать.

Модель живёт только настоящим

Важно понять одну неинтуитивную вещь: между двумя вашими сообщениями модель ничего не помнит. Она не хранит историю где-то у себя. Каждый раз, когда вы пишете в чат, программа-обёртка склеивает заново всю переписку целиком и подаёт её модели как единый текст. Модель прочитывает это, отвечает — и тут же всё забывает. Иллюзия «памяти» создаётся тем, что историю ей пересылают снова и снова.

А раз весь диалог каждый раз подаётся как один текст, у него есть предел длины. Этот предел и есть окно контекста.

Что считается в окно

В окно помещается не только то, что напечатали вы. Туда входит:

  • скрытая системная инструкция («ты вежливый ассистент…»), которую вы не видите;
  • вся предыдущая переписка — и ваши реплики, и ответы бота;
  • ваше новое сообщение;
  • место, зарезервированное под будущий ответ.

Всё это меряется в токенах — тех самых кусочках текста. Когда сумма подбирается к пределу окна, надо что-то выбрасывать. И выбрасывают обычно самое старое — начало разговора. Вот почему бот «забывает», с чего вы начинали: эти токены просто вытолкнули из окна, чтобы влезло новое.

Аналогия с письменным столом

Представьте стол ограниченного размера. Вы раскладываете на нём бумаги — это контекст. Пока места хватает, всё перед глазами. Но стол не резиновый: чтобы положить новый лист, приходится убирать самый дальний старый. Модель работает так же — у неё есть стол фиксированной площади, и более ёмкое окно означает просто стол побольше.

Размеры окон растут

Несколько лет назад типичное окно было в пару тысяч токенов — пара страниц текста. Сегодня встречаются окна в сотни тысяч и даже миллионы токенов: туда влезает целая книга или большой проект кода. Но окно не бывает бесконечным, и за этим стоит суровая причина.

Внимание устроено так, что каждое слово сравнивается с каждым. Удвоили длину текста — и число пар сравнений выросло вчетверо. Расходы памяти и вычислений растут не линейно, а гораздо быстрее. Поэтому гигантские окна дороги, и инженеры идут на специальные ухищрения, чтобы их вообще потянуть.

Окно (токенов)Примерно это
4 000несколько страниц
128 000небольшая книга
1 000 000толстый том или крупный репозиторий

Как с этим жить

Зная про окно, легко избегать разочарований. В долгом диалоге не надейтесь, что бот вечно помнит давние детали — важное повторяйте или собирайте в краткое резюме. Длинный документ, который заведомо не влезает целиком, разбивайте на части. А если в начале сессии вы задали важные правила, не удивляйтесь, что через сотню сообщений они выветрились: их вытеснили из окна.

Запомните: «память» модели — это не сундук с воспоминаниями, а узкое окно, через которое она видит ограниченный кусок текста прямо сейчас. Всё, что не попало в окно, для неё попросту не существует.

#ChatGPT#ИИ#контекст#память модели#токены