Почему нейросеть забывает твои правила в длинном чате: 83% инструкций теряются при сжатии в 2026
Исследователи Penn State замерили: при сжатии длинного диалога до саммари выживает только 17% пользовательских правил вроде «спрашивай перед изменениями». Разбираем механику потери и пять способов удержать свои ограничения в чате и в агенте.
15 мин чтения
Нейросеть забывает твои правила в длинном чате из-за сжатия контекста. Когда история разговора перестаёт влезать в окно модели, система сворачивает её в короткое саммари, и поведенческие инструкции вроде «спрашивай перед изменениями» или «не называй меня по имени» при этом выбрасываются. По замерам исследователей Penn State от 18 августа 2026 года, сжатие переживают в среднем 17% таких правил. Остальные 83% исчезают молча, без единого предупреждения.
Дальше модель ведёт себя так, будто ты вообще ничего не запрещал. И самое неприятное: внешне диалог продолжается как обычно, никакой пометки «часть твоих инструкций удалена» ты не увидишь.
Учёные из Penn State собрали бенчмарк COMPINT и проверили, что происходит с пользовательскими правилами при сжатии диалога. Результат: выживает 17% правил в среднем. На полном несжатом контексте модель соблюдает 59-71% ограничений, после сжатия соблюдение падает почти до уровня, где правил как будто и не было. Отдельный вывод: большинство суммаризаторов дают результат хуже, чем вариант вообще не сжимать. Лечится это выносом правил из истории чата в отдельное место, которое подставляется в контекст заново.
Коротко: четыре термина
- Сжатие контекста (compaction) - механизм, который сворачивает старую часть диалога в короткое саммари, когда история перестаёт влезать в окно модели. В Claude Code это отдельная команда, в чат-интерфейсах происходит автоматически и незаметно.
- Session constraints (правила сессии) - ограничения поведения, которые ты задал по ходу разговора: «не отправляй письма без моего одобрения», «пиши без вводных абзацев», «не трогай файлы вне папки src».
- COMPINT - бенчмарк из работы Penn State, который проверяет, сколько правил переживает сжатие в трёх сценариях: многоходовой чат, траектория агента, исследовательская задача.
- SC-aware extractor - предложенная авторами надстройка: маленькая модель вылавливает правила из твоих сообщений и держит их отдельным списком, который дописывается к саммари.
Что именно замерили в Penn State
Работа называется «Lost in Compaction: Evaluating Side-Constraint Loss under Context Compaction», авторы Zhiqi Wang, Yichi Zhang, Dongwon Lee и Yuchen Yang. Опубликована на arXiv, разбор вышел на the-decoder 18 августа 2026 года.
Логика эксперимента простая. В длинный диалог подсаживают правила поведения, потом прогоняют историю через разные механизмы сжатия и смотрят, сколько правил осталось в саммари и сколько из них модель дальше реально соблюдает. Правила брали бытовые, ровно те, которые люди пишут каждый день:
- «Подтверждай со мной перед любыми изменениями».
- «Никогда не используй моё имя в ответах».
- «Не отправляй письма без моего одобрения».
правил в среднем переживают сжатие диалога
соблюдение правил на полном несжатом контексте
удержание правил с надстройкой-экстрактором
Обрати внимание на среднюю цифру. Даже когда вся история целиком лежит перед моделью и ничего не сжато, твои ограничения соблюдаются в 59-71% случаев. То есть каждое третье правило может быть проигнорировано просто так, без всякого сжатия. Сжатие добивает то, что оставалось.
Результат сильно зависит от четырёх вещей: какой именно суммаризатор используется, как написан его промпт, насколько длинный был контекст и в каком месте диалога стояло правило. Правило из первого сообщения теряется охотнее, чем правило из предпоследнего.
Отдельная деталь из работы: большинство протестированных механизмов сжатия дают результат хуже, чем прогон задачи вообще без сжатия. Сжатие продавали как способ работать дольше в одном диалоге, а по части соблюдения правил оно оказывается шагом назад.
Почему при сжатии вылетают именно правила
Суммаризатор решает задачу «уместить смысл разговора в короткий текст». Для него смысл разговора это факты, решения и результаты: что обсуждали, к чему пришли, какой код написали, какие числа назвали. Инструкция про поведение внутри такой логики выглядит служебным шумом.
Сравни две фразы из одного диалога. «Бюджет проекта 480 тысяч рублей» - это факт, он попадёт в саммари. «Не показывай мне варианты дороже бюджета без предупреждения» - это рамка, она в пересказ разговора не просится.
Плюс работает вторая механика. Правила ты обычно задаёшь в начале, когда объясняешь задачу. Начало диалога сжимается первым и сильнее всего: к моменту, когда ты дошёл до сотого сообщения, твоё стартовое «спрашивай перед удалением» уже прошло через два круга пересказа. Каждый круг убирает детали, и конкретная формулировка запрета превращается сначала в «пользователь просил быть осторожнее», а потом исчезает совсем.
Что суммаризатор бережёт
- Факты, числа, названия
- Принятые решения и итоги
- Текущее состояние задачи
- Открытые вопросы к следующему шагу
Что выбрасывает первым
- Запреты и границы поведения
- Требования к формату и тону ответа
- Разовые уточнения из середины диалога
- Всё, что звучит как «кстати, ещё»
Именно поэтому знакомое ощущение «в начале чата он был нормальный, а к вечеру начал нести отсебятину» имеет техническую причину. Модель не устала и не испортилась. Просто твоя половина договорённостей до неё больше не доезжает.
Правила перестают теряться, когда у тебя есть система работы с контекстом вместо привычки писать всё в один бесконечный чат. Пройди мини-курс «Claude за вечер»: от установки до первых результатов на твоих задачах.
Пройти мини-курс →Как понять, что твои правила уже слетели
Сжатие происходит без уведомления, поэтому ориентируйся по поведению. Четыре признака:
- Модель вернулась к формату, от которого ты её отучал. Снова вставляет вводный абзац, снова обращается на «вы», снова пишет списками там, где ты просил прозу.
- Начала переспрашивать то, что уже обсуждали. Прямой сигнал: старая часть диалога свернулась, деталей в ней больше нет.
- Агент сделал шаг без подтверждения, хотя ты требовал подтверждать. Самый дорогой признак, потому что узнаёшь о нём по факту.
- Ответы стали заметно общее. Модель отвечает как в первом сообщении незнакомому человеку, потому что накопленный контекст про тебя сжался в две строки.
Проверить можно в лоб. Напиши в чат: «перечисли все ограничения и правила, которые я задал тебе в этом разговоре, дословно». Если в ответе не хватает половины, ты знаешь, что произошло. Если модель начинает выдумывать правила, которых ты не задавал, ситуация ещё хуже: саммари уже подменило твои формулировки своим пересказом.
Пять способов не потерять свои правила
1. Вынести правила из чата в файл
Главный вывод из работы Penn State звучит так: правила должны жить отдельно от истории и подставляться в контекст заново. Именно это делает предложенная авторами надстройка, и то же самое ты можешь сделать руками.
В Claude Code для этого есть файл проекта с инструкциями, который читается в начале каждой сессии. Как его писать, чтобы он реально работал, разобрано в гайде про четыре правила CLAUDE.md. В веб-интерфейсах роль такого файла играют кастомные инструкции и проекты: правила оттуда подставляются в каждый новый запрос независимо от того, что случилось с историей.
Разница принципиальная. Правило внутри диалога это одноразовая реплика, которую можно сжать. Правило в файле это часть системного контекста, которую пересобирают каждый раз с нуля.
2. Собрать правила самому до того, как их съест сжатие
Работает как ручная версия экстрактора из исследования. Раз в 20-30 сообщений останавливайся и вытаскивай свои ограничения списком.
Останови задачу на минуту. Пройди по всему нашему разговору с самого начала и выпиши списком ВСЕ ограничения, запреты и требования к формату, которые я тебе задавал. Формат: маркированный список, каждое правило одной строкой, дословной моей формулировкой, без твоего пересказа и без добавлений от себя. Если правило встречалось несколько раз в разных формулировках, выпиши последнюю версию. Если чего-то ты уже не помнишь, напиши об этом отдельной строкой в конце.
Полученный список храни в заметке. Он же станет первым сообщением следующей сессии.
3. Повторять правило в конце, а не только в начале
Из работы прямо следует, что место правила в диалоге влияет на его выживаемость. Начало сжимается первым, конец диалога всегда лежит перед моделью целиком.
Отсюда рабочая привычка: критичные запреты дублировать прямо в том сообщении, где ставишь задачу. Вместо отсылки «мы же договаривались» пиши полную формулировку запрета в текущей реплике. Выглядит избыточно, зато переживает любое сжатие.
4. Резать диалоги по задачам
Один бесконечный чат на всё это самый надёжный способ дойти до сжатия. Новая задача - новая сессия, в первое сообщение вставляется список правил из пункта 2.
Побочный выигрыш идёт по другой линии. Модель хуже держит середину длинного входа, эффект известен как lost in the middle, подробнее про это в гайде про контекст-инжиниринг. Так что резать длинный диалог полезно вдвойне.
5. Формулировать правила как проверяемое действие с отчётом
Расплывчатое «будь аккуратнее» не выживает при сжатии, потому что сжимать там нечего: конкретики ноль. Правило с действием и проверкой держится лучше и заметно легче ловится, когда всё-таки слетело.
Правила работы в этой сессии, соблюдать до конца разговора: 1. Перед любым изменением файла показать мне список файлов, которые собираешься тронуть, и дождаться слова «да». 2. Ничего не удалять без отдельного подтверждения, даже временные файлы. 3. Не выходить за пределы папки, которую я назвал. В КОНЦЕ КАЖДОГО своего ответа добавляй строку: «Правила сессии: 1, 2, 3 соблюдены» и отдельно перечисли, что из сделанного выходило за рамки моего запроса.
Требование повторять правила в каждом ответе даёт побочный эффект: правила физически попадают в конец истории на каждом шаге, то есть в ту зону, которую сжимают в последнюю очередь. И момент, когда строка с отчётом пропала из ответа, ты видишь сразу.
Формула: правило, которое живёт только в истории чата, будет потеряно. Правило выживает, когда лежит вне истории и подставляется заново, либо когда повторяется в последнем сообщении.
Где это болит сильнее всего
| Сценарий | Что теряется | Цена ошибки |
|---|---|---|
| Обычный чат про текст | Формат, тон, запрет на штампы | Переписать ответ |
| Работа с личными данными | «Не называй меня по имени», «не упоминай компанию» | Данные всплывают в ответе, который ты копируешь дальше |
| Агент с доступом к файлам | «Не трогай ничего вне папки», «спрашивай перед удалением» | Изменённые или удалённые файлы |
| Агент с доступом к почте и календарю | «Не отправляй без моего одобрения» | Отправленное письмо не отзовёшь |
| Долгая исследовательская задача | «Только эти источники», «проверяй даты» | Выводы построены на мусоре |
Строчка про почту тут стоит не для страшилки. Именно этот пример авторы работы приводят как типовое правило, которое исчезает при сжатии. Агент с правами на отправку и без твоего запрета в контексте отправит письмо и честно отчитается, что задача выполнена.
Чем больше прав у агента, тем дороже стоит одно потерянное правило. Пока агент пишет текст, потеря правила стоит переделки. Как только у него появляется доступ к файлам, почте или оплате, та же самая потеря стоит реальных действий в реальном мире. Права выдавай по минимуму и дублируй критичные запреты в каждой постановке задачи.
Чем это отличается от «агент решил сделать по-своему»
Две похожие снаружи проблемы, разные внутри.
При потере правил инструкции физически нет в контексте. Модель не нарушает запрет, она про него не знает. Лечится это работой с контекстом: файл правил, короткие сессии, повтор в конце.
Второй случай устроен иначе: инструкция в контексте есть, модель её видит и всё равно выбирает свой вариант, потому что внутри задачи у неё появилась собственная цель. Это разбиралось отдельно в материале про то, что делать, когда агент сделал не то, что просили.
Отличить одно от другого просто. Спроси модель, какие правила ты ей задавал. Правила не перечислены - это потеря контекста. Правила перечислены верно, а сделано всё равно иначе - это второй случай, и лечится он другими средствами.
Как это выглядит из России
Механика одинаковая во всех инструментах, доступ к ним разный.
Что работает без обхода блокировок. Российские агрегаторы моделей (BotHub с тарифами от $3, MashaGPT от 990 рублей в месяц и аналоги) отдают доступ к тем же GPT и Claude за рубли. Тут своя тонкость по нашей теме: у агрегаторов часто нет постоянных кастомных инструкций уровня аккаунта, а значит способ номер 1 из списка выше отпадает и остаются способы 2, 3 и 5. Список правил приходится вставлять руками в начало каждой сессии.
Что требует VPN. Веб-интерфейсы ChatGPT и Claude из России без обхода не открываются. Если планируешь опираться на проекты и кастомные инструкции, нужен рабочий VPN, причём стабильный: обрыв посреди длинной сессии обнуляет диалог, и правила теряются уже по банальной причине.
Оплата. Подписки Claude Pro и ChatGPT Plus стоят по $20 в месяц, картой российского банка их не оплатить. Рабочий обход - сервис оплаты подписок (реферальная ссылка: тебе тот же прайс, мне небольшой процент). Пошагово способы оплаты разобраны в гайде как оплатить ChatGPT из России, там же актуальные комиссии и подводные камни с возвратами.
Отдельная деталь для тех, кто платит за токены по API: сжатие контекста придумали ради экономии, и оно её действительно даёт. Просто теперь ты знаешь, чем за эту экономию платишь.
Чего эти способы не лечат
Честно про границы. Ни один приём из списка не даёт гарантии, потому что даже на полном контексте соблюдение правил держится на 59-71%. Работа с контекстом убирает потерю правил как причину, а вторая причина, выбор модели в пользу своей цели, остаётся на месте.
Надстройка-экстрактор из исследования показывает 90,3-95,6% удержания правил в саммари, но удержание в тексте саммари и соблюдение правила в действии это разные вещи. Правило может лежать в контексте и всё равно быть проигнорированным.
Практический вывод отсюда один: критичные вещи не отдавай под честное слово модели. Права ограничивай технически, необратимые действия закрывай подтверждением на стороне инструмента. Просьба в промпте эту роль не тянет.
Чек-лист: что у тебя теперь есть
- Знаешь цифру: сжатие диалога переживает 17% пользовательских правил, это замеры Penn State от августа 2026.
- Понимаешь, почему теряются именно правила: суммаризатор бережёт факты и решения, а границы поведения считает служебным шумом.
- Помнишь, что даже на полном контексте соблюдается только 59-71% правил, то есть сжатие добивает уже дырявую защиту.
- Умеешь проверить состояние правил одной фразой: «перечисли дословно все ограничения, которые я задал в этом разговоре».
- Вынес критичные правила в файл проекта или кастомные инструкции, где они подставляются заново каждый раз.
- Собрал промпт-ревизию правил и прогоняешь её раз в 20-30 сообщений.
- Дублируешь критичные запреты в текущем сообщении вместо ссылки на договорённость из начала чата.
- Режешь длинные диалоги по задачам вместо одного бесконечного чата.
- Требуешь от агента строку с отчётом о соблюдении правил в конце каждого ответа.
- Понимаешь разницу между потерей правила из контекста и осознанным выбором модели, и знаешь, как их различить.
- Ограничил права агента технически там, где действие необратимо.
Начни с самого дешёвого шага: открой текущий рабочий чат и спроси, какие правила ты в нём задавал. Ответ покажет, насколько эта тема касается тебя лично, быстрее любой теории.
Материал написан по мотивам исследования Penn State «Lost in Compaction: Evaluating Side-Constraint Loss under Context Compaction» (Wang, Zhang, Lee, Yang), arXiv и репозиторий COMPINT. Разбор исследования по материалам The Decoder: AI systems quietly drop user instructions when they compress context от 18 августа 2026 года.
Частые вопросы
Почему нейросеть перестаёт слушаться в длинном чате?
Потому что история диалога не влезает в окно модели и сжимается в короткое саммари. По замерам Penn State (август 2026), при таком сжатии выживает только 17% пользовательских правил: суммаризатор бережёт факты и результаты, а поведенческие инструкции вроде «спрашивай перед изменениями» выбрасывает как воду.
Что такое session constraints простыми словами?
Это правила поведения, которые ты задал модели по ходу разговора: не используй моё имя, не отправляй письма без подтверждения, пиши только по-русски, не трогай файлы вне папки src. Они описывают рамки работы, а не саму задачу, и именно поэтому при сжатии диалога вылетают первыми.
Сколько правил модель соблюдает без сжатия?
От 59 до 71 процента по замерам COMPINT на полном несжатом контексте. То есть даже в идеальных условиях каждое третье твоё ограничение может быть проигнорировано. После сжатия соблюдение падает почти до уровня, как если бы правила вообще не задавались.
Как не потерять свои правила в длинном диалоге?
Держать правила вне истории чата: в файле проекта, в кастомных инструкциях или в закреплённом сообщении. Перед сжатием просить модель выписать все твои ограничения списком и вставлять этот список в новую сессию. И резать длинные диалоги на короткие задачи вместо одного бесконечного чата.
Это баг конкретной модели или общая проблема?
Общая. В работе Penn State тестировали разные типы компакторов и разные сценарии: многоходовые чаты, траектории агентов, исследовательские задачи. Потеря правил воспроизводится везде, а результат зависит от типа суммаризатора, длины контекста и от того, в каком месте диалога правило было задано.