Понятие контекста при работе с искусственным интеллектом - одно из базовых, с которым важно разобраться. Модель искусственного интеллекта уже обучена, и единственный способ заставить её работать с вашим проектом - дать ей нужный контекст, чтобы она понимала, в каких случаях какие действия нужно делать. Модель работает лучше всего, когда у неё есть минимально необходимое и достаточное количество контекста. Если контекста недостаточно или, наоборот, слишком много - она работает хуже.

Что такое контекст

Контекст - это вся информация, которую модель видит в момент, когда генерирует ответ. Мы что-то спросили у модели, и вся информация, которая есть у неё для ответа, - это и есть контекст. Контекстом может быть:

  • системный промпт - то, что вы написали модели (реши такую-то задачу, сделай такие-то действия);
  • история диалога - вся переписка, когда вы даёте модели всё новые команды;
  • приложенные файлы;
  • результаты поиска - модель может искать информацию в интернете и использовать найденное для ответа.

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

Контекст измеряется в токенах

Один токен - это примерно 0,75 слова английского текста; для русского примерно один токен на 2-3 символа. Хорошая аналогия: контекст - это рабочий стол, а не память модели. Что мы положили на рабочий стол - тем она и пользуется.

Размер контекста ограничен и зависит от модели: есть модели на 1 миллион токенов, есть на 200 тысяч. Поэтому нельзя бесконечно впихивать в модель контекст.

Больше контекста не значит лучше

Когда данных мало - модель отвечает плохо. По мере роста данных отвечает всё лучше, доходит до пика необходимых данных. А дальше, чем больше контекста вы добавляете, тем хуже она отвечает: начинается деградация - потеря деталей, противоречия, игнорирование инструкций. Лучше всего модель работает на минимально достаточном количестве данных.

Почему на длинном контексте модель работает хуже? У неё есть механизм внимания (attention), который распределяется на все токены - вес важных может снижаться. LLM-модель это предсказательная система: чем больше точек, которые надо предсказывать, тем хуже ответы. Плюс накапливается шум - устаревший код, отменённые решения, ошибочные гипотезы остаются в истории и сбивают модель с толку. Может быть и конфликт инструкций: где-то вы сказали сделать так, потом иначе.

Как избегать проблем с контекстом

  • новый чат под каждую отдельную задачу - решили задачу, создали новый чат;
  • делать compact - в Claude Code есть механизм сжатия данных (о нём подробнее позже);
  • загружать только релевантные фрагменты, а не весь проект - например, лучше загрузить нужную главу книги, а не всю книгу.

Признаки, что пора чистить контекст

  • модель возвращается к уже исправленным ошибкам;
  • игнорирует инструкции, которые раньше выполняла;
  • смешивает разные версии решения;
  • ответы становятся общими, водянистыми;
  • появляются ссылки на несуществующие детали разговора.

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

Таким образом, контекст - по сути единственный способ заставить модель работать нужным нам образом. И качество ответа определяется не объёмом переданных данных, а их релевантностью - соответствием теме и задаче - и структурой.