EVAI CONSULTING Elbląg, Poland

Контекстное окно

Контекстным окном называют объём текста, который языковая модель видит одновременно, пока готовит ответ. В него входит всё сразу: системные инструкции, загруженные файлы, история разговора и сам ответ, который модель сейчас пишет. Что не поместилось в окно, для модели не существует. Памяти между разговорами у неё нет: каждый новый чат начинается с пустого окна, если сервис сам не подставит туда сохранённые заметки.

Размер окна измеряют в токенах. Токен составляет часть слова: в английском тексте в среднем около трёх четвертей слова, в русском и польском слова дробятся сильнее, и тот же смысл занимает больше токенов. У современных моделей окно составляет сотни тысяч токенов, у некоторых около миллиона. Для ориентира: сотня тысяч токенов вмещает объёмную книгу.

Что занимает окно

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

Поэтому разговор, который начинался с короткого вопроса, через пару часов работы может подойти к пределу, даже если человек не загружал ничего крупного.

Что происходит, когда окно заполняется

Сервисы ведут себя по-разному. Одни отказываются продолжать и предлагают начать новый чат. Другие тихо отбрасывают самые старые сообщения. Третьи сжимают историю в краткий пересказ и продолжают с ним. Во всех трёх случаях часть сказанного раньше теряется или упрощается, и модель может забыть договорённость из начала разговора, ничего об этом не сообщив.

Почему большое окно не решает всё

Даже когда текст помещается целиком, модель использует его неравномерно. Исследования 2023 года показали, что сведения из начала и конца длинного текста модели находят надёжнее, чем из середины. С тех пор модели стали заметно лучше, но правило осталось практичным: чем длиннее контекст, тем выше шанс, что нужная деталь потеряется среди лишнего.

Длинный контекст дороже и медленнее: при работе через API оплата идёт за токены, и каждый новый вопрос в длинном разговоре заново передаёт модели всю историю. Отсюда простое правило: передавать модели то, что нужно для задачи, и не больше.

Как с этим работают

Правила и решения, которые нужны в каждом разговоре, держат в файле: в постоянных инструкциях проекта или в файле правил вроде CLAUDE.md у Claude Code. Модель читает его в начале каждой сессии, и ничего не зависит от того, что осталось в истории. Тот же подход лежит в основе спецификации для ИИ.

Большую задачу делят на части, и каждая часть решается в своей сессии. В конце сессии итог записывают в файл, следующая сессия начинает с него. Это надёжнее, чем один разговор длиной в неделю.

Когда документов больше, чем вмещает окно, модели передают только нужные фрагменты. Для этого служит поиск по документам (RAG) или реестр, по которому модель выбирает, что прочитать.

Из практики

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

Со временем сам файл плана разросся и начал занимать заметную часть окна. Это тоже работа с контекстом: время от времени закрытое приходится сворачивать в короткие итоги, чтобы место оставалось для текущей задачи.

Что решить заранее

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


Связанные термины: Промпт · RAG · Спецификация для ИИ · База знаний

Хотите разобраться, как организовать длинную работу с ИИ на своих задачах? Обучение на задачах →