TL;DR
Когда диалог с AI становится длинным, старые детали не «стираются с предупреждением» — они просто выпадают из окна внимания модели, и с точки зрения самой модели забытое неотличимо от того, чего никогда не было. Поэтому модель не говорит «я не помню» — она уверенно выдумывает, путая факты из разных частей разговора.
Боль знакома всем, кто гонял через один чат длинную многошаговую задачу: просишь проанализировать 20 документов подряд, а в финальном отчёте модель описывает содержание документа №3 так, будто это документ №15, или ссылается на файл, который вообще не упоминался. Причина проста и механическая: у контекста фиксированный размер, новые данные вытесняют старые, и увеличение лимита токенов помогает слабо — сырых данных всегда прибывает быстрее, чем растёт окно.
Решение — не тащить весь материал в одном длинном разговоре, а разбить задачу на короткие этапы, где каждый этап сразу сжимается в короткое резюме, и именно резюме (а не исходные данные) передаётся дальше. Это отодвигает момент потери памяти ровно во столько раз, во сколько резюме короче исходных данных.
Схема метода
ШАГ 1: Разбей задачу на фазы (по документу / по этапу анализа) → отдельный запрос на каждую фазу
ШАГ 2: Каждая фаза выдаёт короткое резюме (жёсткий лимит слов) → это резюме уходит "дальше по цепочке"
ШАГ 3: Финальный запрос собирает отчёт ТОЛЬКО из резюме, не возвращаясь к сырым данным
ДОП: критичные факты (цифры, имена, условия) передавай отдельно явным текстом на каждом шаге — не надейся, что они переживут цепочку пересказов
Все шаги можно делать в одном чате последовательными сообщениями — важно не то, сколько запросов, а то, что сырые данные не накапливаются, накапливаются только резюме.
Пример применения
Задача: Основатель сервиса подписки на корм для животных хочет разобрать 20 отзывов недовольных клиентов с Отзовика и Яндекс.Маркета, чтобы понять три главных причины отмены подписки — и просит одну большую сводку.
Промпт:
Ты помогаешь мне анализировать отзывы клиентов один за другим.
Для каждого отзыва, который я присылаю:
1. Прочитай текст
2. Выдай резюме максимум в 25 слов: причина недовольства + эмоция + упомянутый продукт
3. Не пересказывай предыдущие отзывы — работай только с текущим
Важно сохранять дословно во всех резюме: название тарифа, если оно упомянуто.
Когда я пришлю все 20 отзывов и скажу "готово" — собери финальный отчёт из ТОЛЬКО резюме выше: топ-3 причины отмены с частотой.
Отзыв 1: [текст отзыва]
Результат: После каждого отзыва — короткое структурированное резюме (не пересказ всей истории переписки). После команды «готово» модель соберёт финальный отчёт из накопленных резюме, а не будет пытаться заново перечитывать все 20 отзывов из середины диалога — потому что к этому моменту первые отзывы физически могли выпасть из её видимости.
Почему это работает
Окно внимания модели — это не память, а временное рабочее пространство фиксированного размера. Когда оно заполняется, старые записи вытесняются новыми, и модель не «знает», что что-то потеряла — она продолжает уверенно отвечать, просто на основе того, что осталось. Это и создаёт эффект «врёт с уверенным видом».
Сильная сторона модели — она отлично умеет сжимать текст в короткую выжимку, сохраняя суть. Метод использует именно это: вместо того чтобы копить сырые данные, каждый этап сразу превращается в компактное резюме — и по цепочке едет только оно. Это как эстафета с конспектами, а не с полными черновиками.
Рычаги управления: - Длина резюме (25 слов, 50 слов) → короче резюме = больше этапов помещается в память до того, как начнётся потеря, но выше риск выкинуть важную деталь. - Закреплённые факты (то, что должно дословно дожить до финала) → выноси их явным текстом в каждом сообщении, не доверяй цепочке пересказов — при повторном сжатии информации через несколько шагов теряется существенная часть деталей, и это накопительный эффект, а не разовая потеря.
Шаблон промпта
Ты анализируешь {список_элементов} по одному, чтобы избежать потери деталей в длинном разговоре.
Для каждого элемента:
1. Прочитай {элемент}
2. Выдай резюме максимум {N} слов: {что_нужно_извлечь}
3. Не пересказывай предыдущие элементы — только текущий
Факты, которые нужно сохранять дословно в каждом резюме: {закреплённые_факты}
Когда я пришлю всё и скажу "готово" — собери {финальный_результат} ТОЛЬКО на основе резюме выше, не возвращаясь к исходным текстам.
Элемент 1: {текст_1}
🚀 Быстрый старт — вставь в чат:
Вот шаблон разбора длинной задачи по этапам с резюме. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, сколько элементов ты будешь присылать и какие факты критично сохранить дословно — потому что это определяет, что закрепить отдельно, а что можно доверить сжатию.
Ограничения
⚠️ Не спасает от одной гигантской порции данных: если один документ сам по себе не помещается в контекст, метод не поможет — его нужно сначала разбить на части и передавать их отдельными сообщениями, как отдельные "элементы".
⚠️ Резюме — это потеря информации по определению: при многократном пересказе через несколько этапов теряется значительная часть исходных деталей — эффект похож на игру в "испорченный телефон", и чем больше этапов, тем сильнее размывание. Критичные цифры и условия нужно передавать явным текстом, не через пересказ.
⚠️ Увеличение лимита токенов — не универсальное решение: объём сырых данных обычно растёт быстрее, чем растёт доступное окно, поэтому надежда "просто взять модель с большим контекстом" работает хуже, чем ожидается.
Дополнительные находки (бонус)
Исследование также показывает два смежных принципа, применимых в чате:
- Двойная независимая проверка снижает шум при оценке результата (например, «хорош ли этот текст?»), но только если два способа проверки ошибаются по-разному. Если оба раза просишь модель проверить одинаковым способом, толку не будет — ошибки совпадут.
- Явно проси помечать «не могу оценить» вместо молчания. Если модель не в силах дать ответ и по умолчанию засчитывает это как «неудача» — статистика искажается именно на самых сложных, важных случаях. Лучше явно попросить модель писать «N/A» с причиной, а не оставлять пропуск незаметным.
Ресурсы
Agentic Security: A Systematization of Tools, Failure Modes, and Design Laws for LLM-Driven Penetration Testing — Israt Moyeen Noumi, Tarannum Ahmed Nowshin, Md. Mehedi Hasan Bhuiyan Nipu, Mohammad Sakib Mahmood, Md. Jakir Hossain, M. F. Mridha (Ahsanullah University of Science and Technology, BRAC University, North South University, Missouri State University, Multimedia University, American International University-Bangladesh). Платформа-иллюстрация: Inspectra.
