Почему тебе не нужно перегружать контекст лишней инфой
Ситуация: работаешь себе с нейронкой или агентом, сидишь в рамках одной сессии. Спустя некоторое количество времени она начинает галлюцинировать, то есть уверенно отвечать полную чушь, которая не относится к исходной постановке. Поздравляю, ты засрал контекст.
У меня такое было. Я искренне удивлялся, почему спустя какое-то время нейронка тупит, но потом всё встало на свои места. Задача банальная - первичное ревью документации на выявление очевидных ошибок и человеческого фактора. И вот ты проверил один док, второй, третий. Где-то на десятый чатик тебе на голубом глазу указывает ошибки, которые были в первых постановках. Естественно, всё выглядит настолько убедительно, что без внимательной проверки ты не заметишь подвох.
У моделей есть эффект, который в индустрии называют lost in the middle, «потерялся в середине»: чем больше в контексте лишнего, тем хуже модель фокусируется на том, что реально важно, даже если формально всё влезло в окно. Модель не читает контекст равномерно: начало и конец промпта она удерживает хорошо, а вот всё, что зарыто посреди длинного текста, рискует остаться незамеченным. Дело не в том, что не хватило токенов и что-то физически обрезалось, всё формально на месте, просто модель не уделила этому куску достаточно внимания при генерации ответа.
У популярных моделей Claude размер контекстного окна - миллион токенов. Но я несколько раз встречал инфу о том, что модель начинает тупить после того, как окно заполнится на 40%, поэтому «тупёжка» начинается уже после 400к.
Для решения этой проблемы в Claude есть несколько инструментов (в аналогах, думаю, тоже). Компакт или автокомпакт, который автоматически применяется при достижении указанного порога токенов. Когда порог достигнут, Claude сжимает историю сессии: старую часть диалога и промежуточные результаты работы инструментов заменяет кратким пересказом, а системный промпт, CLAUDE.md и последние шаги разговора оставляет как есть, чтобы можно было продолжить работу без потери сути задачи.
Но компакт не является панацеей, и «потерялся в середине» не полечится до конца. Чем длиннее и разнороднее история, тем хуже модель фокусируется на том, что реально важно именно сейчас. Между несвязанными задачами лучше чистить контекст целиком. Предварительно, конечно же, сохранив результаты предыдущей работы, если были получены новые вводные. Например, ты юзал скилл ревьюера, давал новые вводные, которые будут переиспользоваться дальше. Попроси нейронку обновить инструкции.
В общем, если нейронка тупит, ты теперь знаешь, что делать.
З.Ы. Я не старый, просто мем в тему!
Post #488
1.49K

- 🔥 11
- ❤ 5
- 🤣 3
- 🌭 1