Содержание
2. Контекст измеряется в токенах
3. Больше контекста не значит лучше
Понятие контекста при работе с искусственным интеллектом - одно из базовых, с которым важно разобраться. Модель искусственного интеллекта уже обучена, и единственный способ заставить её работать с вашим проектом - дать ей нужный контекст, чтобы она понимала, в каких случаях какие действия нужно делать. Модель работает лучше всего, когда у неё есть минимально необходимое и достаточное количество контекста. Если контекста недостаточно или, наоборот, слишком много - она работает хуже.
Что такое контекст
Контекст - это вся информация, которую модель видит в момент, когда генерирует ответ. Мы что-то спросили у модели, и вся информация, которая есть у неё для ответа, - это и есть контекст. Контекстом может быть:
- системный промпт - то, что вы написали модели (реши такую-то задачу, сделай такие-то действия);
- история диалога - вся переписка, когда вы даёте модели всё новые команды;
- приложенные файлы;
- результаты поиска - модель может искать информацию в интернете и использовать найденное для ответа.
Важно понимать: между запросами и сессиями модель не держит контекст. Если вы общались на какую-то тему в одной сессии, то в другой придётся проходить всё заново, чтобы модель была в курсе задачи.
Контекст измеряется в токенах
Один токен - это примерно 0,75 слова английского текста; для русского примерно один токен на 2-3 символа. Хорошая аналогия: контекст - это рабочий стол, а не память модели. Что мы положили на рабочий стол - тем она и пользуется.
Размер контекста ограничен и зависит от модели: есть модели на 1 миллион токенов, есть на 200 тысяч. Поэтому нельзя бесконечно впихивать в модель контекст.
Больше контекста не значит лучше
Когда данных мало - модель отвечает плохо. По мере роста данных отвечает всё лучше, доходит до пика необходимых данных. А дальше, чем больше контекста вы добавляете, тем хуже она отвечает: начинается деградация - потеря деталей, противоречия, игнорирование инструкций. Лучше всего модель работает на минимально достаточном количестве данных.
Почему на длинном контексте модель работает хуже? У неё есть механизм внимания (attention), который распределяется на все токены - вес важных может снижаться. LLM-модель это предсказательная система: чем больше точек, которые надо предсказывать, тем хуже ответы. Плюс накапливается шум - устаревший код, отменённые решения, ошибочные гипотезы остаются в истории и сбивают модель с толку. Может быть и конфликт инструкций: где-то вы сказали сделать так, потом иначе.
Как избегать проблем с контекстом
- новый чат под каждую отдельную задачу - решили задачу, создали новый чат;
- делать compact - в Claude Code есть механизм сжатия данных (о нём подробнее позже);
- загружать только релевантные фрагменты, а не весь проект - например, лучше загрузить нужную главу книги, а не всю книгу.
Признаки, что пора чистить контекст
- модель возвращается к уже исправленным ошибкам;
- игнорирует инструкции, которые раньше выполняла;
- смешивает разные версии решения;
- ответы становятся общими, водянистыми;
- появляются ссылки на несуществующие детали разговора.
По этим признакам понятно, что пора либо чистить контекст, либо открывать новую сессию, либо сжимать контекст.
Таким образом, контекст - по сути единственный способ заставить модель работать нужным нам образом. И качество ответа определяется не объёмом переданных данных, а их релевантностью - соответствием теме и задаче - и структурой.