Контекст — это весь текст, который модель видит перед собой, когда генерирует ответ: ваш запрос, приложенные файлы, история диалога, инструкции. У модели нет памяти между обращениями — она знает ровно то, что сейчас в контексте, и ничего больше. Понимать это критично: почти все проблемы «модель не поняла / забыла / перепутала» — это проблемы контекста.
Контекстное окно
У каждой модели есть контекстное окно — предел того, сколько токенов она может держать за раз (вход и выход вместе). Это как размер рабочего стола: что на нём лежит — с тем модель и работает; что не поместилось — для неё не существует.
Окна бывают разные — от тысяч до сотен тысяч и миллионов токенов. Большое окно позволяет отдать модели больше (целые файлы, длинную историю), но «большое» не значит «нужно заполнять целиком».
Почему модель «забывает»
Два разных механизма, которые новички путают:
- Между разговорами модель не помнит вообще ничего. Новый чат — чистый лист. То, что вы обсуждали вчера, надо дать снова (это и решают скиллы и постоянная память — они кладут нужное в контекст автоматически).
- Внутри длинного диалога всё, что ещё помещается в окно, модели доступно — но когда история переполняет окно, старое начинает вытесняться, и модель «забывает» начало разговора.
Поэтому «модель забыла, что я просил в начале» на длинном диалоге — это не сбой, а переполнение окна.
Больше контекста ≠ лучше
Соблазн — вывалить в модель всё: весь репозиторий, всю документацию, всю переписку. На практике это вредит:
- Разбавляется важное. Среди 50 файлов нужные три теряются; модель хуже находит релевантное в шуме. Это иногда называют «потерянным в середине» — то, что лежит в середине огромного контекста, модель учитывает хуже, чем начало и конец.
- Дороже и медленнее. Каждый лишний токен — это деньги и время.
- Растёт риск ошибки. Больше противоречивого материала — больше шанс, что модель зацепится не за то.
Правило продукт-инженера: давать релевантный контекст, а не максимальный. Три нужных файла лучше пятидесяти «на всякий случай».
Как управляют контекстом
Управление контекстом — ключевой навык работы с ИИ:
- Отбирайте релевантное — только те куски кода, документации, требований, что относятся к задаче.
- Давайте факты, а не «вспомни сам» — заземление на данные прямо в контексте резко снижает галлюцинации.
- Подтягивайте контекст по требованию через вызов инструментов: вместо того чтобы залить всё сразу, дайте модели возможность достать нужное (поиск по коду, запрос к базе) в момент, когда оно понадобилось.
- Не тащите бесконечную историю — на длинных диалогах начинайте новый с кратким резюме нужного.
- Автоматизируйте повторяющееся — то, что модель должна знать всегда (стиль, правила проекта), выносят в скиллы и память, чтобы не вставлять руками каждый раз.
Что это значит на практике
Контекст — это рабочая память модели, и качество ответа во многом определяется тем, что вы в неё положили. Продукт-инженер думает не «какой вопрос задать», а «что должно быть перед глазами у модели, чтобы она ответила хорошо»: нужные файлы, факты, правила — и ничего лишнего. Управлять контекстом важнее, чем красиво формулировать запрос.
Дальше
Контекст можно наполнять не только вручную, но и давать модели доставать нужное самой — через вызов инструментов. А когда модель в цикле сама решает, что достать и что сделать, — это уже агенты.