Работа с длинным контекстом
Что делать с окном на 128k и больше, где модель теряет мысль и когда честнее взять RAG.
Что даёт длинный контекст
Современные модели держат 128k-1M токенов за раз. В окно влезает целая книга или кодовая база. Соблазн закинуть туда всё и не думать велик, но за длинный контекст платят деньгами, скоростью и вниманием модели.
Проблема потерянной середины
Модель лучше всего помнит начало и конец промпта, а середину теряет. Это подтверждают тесты «иголка в стоге сена». Кладите главное в начало или в конец, а не в 200000-й токен посередине.
Платите за токены дважды
Длинный контекст бьёт по кошельку и по задержке: чем больше токенов на входе, тем дольше и дороже ответ. 200k токенов в каждом запросе на масштабе разоряют. Спросите себя, точно ли модели нужен весь этот объём.
Когда длинный контекст, а когда RAG
Разовый анализ одного большого документа удобно сделать одним запросом с длинным контекстом. Постоянные вопросы к огромной и растущей базе дешевле и точнее закрывает RAG, который достаёт только нужные куски. Часто их комбинируют.
Структурируйте промпт
Разметьте контекст явно: заголовки, разделители, теги вроде document. Дайте инструкцию до данных и продублируйте ключевое требование после них. Попросите модель сначала найти релевантные фрагменты, а потом отвечать.
Используйте кэш
Если один и тот же большой документ участвует в серии запросов, включите prompt caching. Модель обработает его один раз, а дальше берёт со скидкой. Экономия на длинных промптах особенно заметна.
Проверьте, что модель реально всё видит
Не верьте цифре в описании модели на слово. Спрячьте в середину длинного текста конкретный факт и спросите про него. Так вы узнаете реальный рабочий предел вашей модели, а не заявленный.
Сжимайте историю в долгих диалогах
В длинном чате контекст пухнет с каждым ходом. Свёртывайте старые сообщения в короткое резюме и держите целиком только последние реплики. Так диалог не упрётся в лимит окна и не начнёт стоить как отдельный документ.