3,583 papers
arXiv:2606.10209 80 8 июня 2026 г. FREE

Compact Context: меньше истории в чате — выше качество ответов

КЛЮЧЕВАЯ СУТЬ
71% успеха с полной историей против 91.6% с обрезанной — и это при в 2.7 раза меньше токенов. Чем длиннее чат, тем хуже модель справляется — потому что старые сообщения конкурируют с новыми за внимание наравне, создавая шум вместо пользы. Метод Compact Context позволяет вести долгие рабочие сессии без деградации качества ответов. Фишка: каждые 10-15 сообщений делаешь снэпшот — сжатое резюме старой истории — и открываешь новый чат только с резюме и последними 4-6 обменами. Модель перестаёт путаться в отброшенных вариантах и работает точнее, быстрее и дешевле одновременно.
Адаптировать под запрос

TL;DR

Чем длиннее чат, тем хуже LLM справляется с задачей — не потому что не хватает памяти, а потому что старый контекст мешает больше, чем помогает. Исследователи назвали это явление context rot ("гниение контекста"): старые обмены занимают место в голове модели и конкурируют с актуальной информацией, создавая шум. При этом обрезать историю оказалось мало — нужно обрезать + кратко пересказать вырезанное.

Исследование проверило четыре стратегии управления историей на сложных многошаговых задачах. Главная находка противоречит интуиции: полная история разговора давала худший результат (71%), чем обрезанная история с кратким резюме старых сообщений (91.6%). При этом токенов тратилось в 2,7 раза меньше, а скорость — в 2,5 раза выше.

Метод работает по принципу "последние N взаимодействий полностью + сжатое резюме всего остального". Свежий контекст нужен для точной работы с текущим состоянием, а резюме — чтобы модель не забыла что уже сделано и куда движется.


🔬

Схема метода

(Один цикл — одна сессия. Применяется вручную в чате.)

ШАГ 1: Ведёшь чат как обычно
       → Накапливается история: решения, попытки, правки

ШАГ 2: Каждые 10-15 сообщений — получаешь "снэпшот"
       → Промпт: "Сожми историю: что решили, что сделано, где застряли"
       → Выход: компактное резюме (3-7 предложений)

ШАГ 3: Открываешь новый чат
       → Вставляешь: [резюме] + [последние 4-6 твоих сообщений + ответов]
       → Продолжаешь работу с чистой, релевантной историей

Ключевой принцип: Резюме → в начало нового чата. Последние 4-6 обменов → после резюме. Старая полная история → не переносится.


🚀

Пример применения

Задача: Ты помогаешь Артемию Лебедеву согласовать редполитику нового медиа: тон, формат, рубрики, правила. Разговор идёт уже 40 сообщений — обсудили дизайн, несколько раз переспорили про заголовки, приняли 5-6 ключевых решений. Модель начинает противоречить сама себе и возвращаться к отброшенным идеям.

Промпт для создания снэпшота:

Ты — редактор, собирающий итоги рабочей сессии.

Прочитай нашу переписку выше и создай компактный снэпшот по структуре:

## ПРИНЯТЫЕ РЕШЕНИЯ
[Что окончательно согласовано — кратко, по пунктам]

## ТЕКУЩАЯ ЗАДАЧА
[Над чем работаем прямо сейчас — 1-2 предложения]

## ОТКРЫТЫЕ ВОПРОСЫ
[Что ещё не решено или спорно]

## КОНТЕКСТ
[Ключевые ограничения, договорённости, принципы — то, 
что важно помнить дальше]

Максимум 150 слов. Только факты, без воды.

Потом — новый чат:

[Вставь снэпшот выше]

---
Продолжаем работу над редполитикой. 
[Вставь последние 4-6 сообщений из старого чата]

Следующий шаг: [твоя задача]

Результат: Модель получит структурированный снэпшот принятых решений и свежие 4-6 обменов. Ответы станут точнее: не будет возврата к отброшенным вариантам, противоречий с ранее согласованным, "размытого" понимания текущего контекста.


🧠

Почему это работает

Проблема: LLM воспринимает все токены в контексте примерно одинаково — старые и новые в равных "правах". Когда чат вырастает до 40+ сообщений, ранние обмены ("Может, добавим рубрику про дизайн?", "Нет, давай без неё") продолжают влиять на ответы так же, как последние. Это и есть context rot: модель "путается" в устаревших состояниях и отброшенных вариантах.

Что работает у LLM хорошо: Сжатие и синтез — модель умеет выделить суть из большого объёма и сохранить только важное. Это её сильная сторона.

Как метод её использует: Мы просим модель самостоятельно создать "сжатый снимок" истории — убрать шум, оставить факты. Потом даём только этот снимок + самый свежий контекст. Получается точная и экономная рабочая память: ориентация в задаче (резюме) + актуальное состояние (последние сообщения).

Рычаги управления:

Параметр Значение по умолчанию Как менять
Частота снэпшота Каждые 10-15 сообщений Короткие задачи — реже; итеративные (правки, разработки) — чаще
Глубина резюме 150 слов Увеличь для сложных задач с множеством ограничений
Кол-во старых сообщений 4-6 пар Уменьши для скорости, увеличь если задача требует тональности/стиля
Формат снэпшота Структурированный (разделы) Для простых задач — один абзац прозой

📋

Шаблон промпта

📌

Шаг 1 — Создание снэпшота

Прочитай нашу переписку выше и создай рабочий снэпшот.

## ПРИНЯТЫЕ РЕШЕНИЯ
[Что согласовано окончательно]

## ТЕКУЩАЯ ЗАДАЧА  
[Над чем работаем]

## ОТКРЫТЫЕ ВОПРОСЫ
[Что ещё не решено]

## ВАЖНЫЙ КОНТЕКСТ
[Ограничения, принципы, договорённости — всё, что нужно помнить]

Максимум {объём_слов} слов. Только конкретика.
📌

Шаг 2 — Запуск нового чата

## Контекст предыдущей работы
{снэпшот_из_шага_1}

---
## Последние сообщения
{последние_4_6_обменов}

---
## Продолжаем
{твоя_следующая_задача}

Плейсхолдеры: - {объём_слов} — 100-200 для обычных задач, до 300 для сложных проектов - {снэпшот_из_шага_1} — вставь вывод первого промпта - {последние_4_6_обменов} — скопируй последние несколько пар "ты → модель" из старого чата - {твоя_следующая_задача} — что делаем дальше


🚀 Быстрый старт — вставь в чат:

Вот шаблон для создания рабочего снэпшота разговора. 
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит про структуру задачи и что важно зафиксировать — потому что снэпшот должен отражать именно то, что критично для продолжения твоей конкретной работы, а не универсальный список.


⚠️

Ограничения

⚠️ Линейные задачи: Если разговор короткий (до 10-15 сообщений) и не итеративный — метод не нужен. Снэпшот создаёт лишний шаг без выгоды.

⚠️ Задачи со стилем и тоном: Если важно, как именно звучали предыдущие ответы (имитация голоса, сохранение стиля) — резюме может потерять нюансы. Переноси последние сообщения целиком, а не только резюме.

⚠️ Потеря деталей в резюме: Краткий снэпшот неизбежно что-то теряет. Если задача требует воспроизводимости всех деталей (юридические формулировки, точные цифры) — добавь в промпт для снэпшота: "Цифры, даты и точные формулировки — дословно".

⚠️ Исследовалось на автоматических агентах: Исследование проводилось на многошаговых агентах с десятками инструментальных вызовов, а не на ручном чате. Принципы переносятся, но оптимальные параметры (N=5 для их задачи) нужно подбирать под свой контекст.


🔗

Ресурсы

Название: Less Context, Better Agents: Efficient Context Engineering for Long-Horizon Tool-Using LLM Agents

Авторы: Abhilasha Lodha, Mahsa Pahlavikhah Varnosfaderani, Abir Chakraborty, Abhinav Mithal

Организация: Microsoft

Ключевые ссылки из работы: ReAct (Yao et al.), LLMLingua, MemoryBank, ACON, Model Context Protocol (MCP), Microsoft Dynamics 365 Finance and Operations


📋 Дайджест исследования

Ключевая суть

71% успеха с полной историей против 91.6% с обрезанной — и это при в 2.7 раза меньше токенов. Чем длиннее чат, тем хуже модель справляется — потому что старые сообщения конкурируют с новыми за внимание наравне, создавая шум вместо пользы. Метод Compact Context позволяет вести долгие рабочие сессии без деградации качества ответов. Фишка: каждые 10-15 сообщений делаешь снэпшот — сжатое резюме старой истории — и открываешь новый чат только с резюме и последними 4-6 обменами. Модель перестаёт путаться в отброшенных вариантах и работает точнее, быстрее и дешевле одновременно.

Принцип работы

Исследователи назвали проблему context rot — «гниение контекста». Модель не умеет сама отличать важный контекст от устаревшего мусора. Токен из 40-го сообщения в её глазах равнозначен токену из 4-го. Поэтому чат на 40+ сообщений — как рабочий стол, заваленный черновиками: новые решения теряются среди старых. Правило: не тащи историю целиком — сожми старое в снэпшот, свежее оставь как есть. Просто обрезать не работает — модель теряет ориентацию что уже сделано. Просто резюме без обрезки — шум остаётся. Только связка «резюме + последние сообщения» даёт скачок с 71% до 91.6%.

Почему работает

LLM хорошо умеет одно: сжимать и синтезировать. Именно это мы и просим сделать — самостоятельно создать компактный снимок истории, убрав шум и оставив факты. Снэпшот убирает черновики со стола и оставляет только итоги плюс то, что актуально прямо сейчас. Потом даём этот снимок и самые свежие обмены. Получается точная рабочая память: ориентация в задаче через резюме и актуальное состояние через последние сообщения. Работаем с сильной стороной модели, а не против слабой.

Когда применять

Длинные итеративные сессии → редактура текстов, стратегические обсуждения, разработка с правками, исследования — особенно когда чат перевалил за 15-20 сообщений и модель начинает противоречить себе или возвращаться к уже отброшенным вариантам. НЕ подходит: для коротких сессий до 10-15 сообщений — лишний шаг без выгоды. Также осторожно с задачами где важен точный тон и стиль — резюме может потерять голос автора.

Мини-рецепт

1. Веди чат как обычно — пока не почувствуешь что модель «плывёт» или не наберёшь 15+ сообщений.
2. Сделай снэпшот: вставь в тот же чат промпт: Прочитай нашу переписку и создай снэпшот: ## ПРИНЯТЫЕ РЕШЕНИЯ [что согласовано окончательно] ## ТЕКУЩАЯ ЗАДАЧА [над чем работаем] ## ОТКРЫТЫЕ ВОПРОСЫ [что не решено] ## ВАЖНЫЙ КОНТЕКСТ [ограничения, принципы, договорённости]. Максимум 150 слов, только факты.
3. Открой новый чат: вставь снэпшот → следом вставь последние 4-6 пар сообщений из старого чата → добавь следующую задачу.
4. Повторяй каждые 10-15 сообщений нового чата.

Примеры

[ПЛОХО] : Продолжаешь 50-сообщенный чат по редполитике — модель снова предлагает рубрику, которую уже отвергли на 20-м сообщении.
[ХОРОШО] : Прочитай нашу переписку и создай снэпшот. ## ПРИНЯТЫЕ РЕШЕНИЯ [что согласовано] ## ТЕКУЩАЯ ЗАДАЧА [над чем работаем] ## ОТКРЫТЫЕ ВОПРОСЫ [что не решено] ## ВАЖНЫЙ КОНТЕКСТ [ограничения и принципы]. Максимум 150 слов, только факты, без воды. → Получаешь компактное резюме → Вставляешь его в новый чат вместе с последними 4-6 обменами → Модель больше не возвращается к отброшенным идеям и не противоречит согласованному.
Источник: Less Context, Better Agents: Efficient Context Engineering for Long-Horizon Tool-Using LLM Agents
ArXiv ID: 2606.10209 | Сгенерировано: 2026-06-10 04:30

Проблемы LLM

ПроблемаСутьКак обойти
Длинная история чата снижает качество ответовЧат вырос до 30-40+ сообщений. Модель начинает противоречить себе. Возвращается к уже отброшенным вариантам. Игнорирует принятые решения. Причина: модель воспринимает старые и новые сообщения одинаково. Ранние обмены продолжают влиять на ответы так же, как последние. Старые "нет, без этого" конкурируют с текущим "вот что делаем сейчас"Каждые 10-15 сообщений: попроси модель сжать историю в снэпшот (что решено, что делаем, что открыто). Открой новый чат. Вставь снэпшот + последние 4-6 обменов. Полную историю не переноси

Методы

МетодСуть
Снэпшот + новый чат — перезапуск с памятьюЧто делать. Каждые 10-15 сообщений вставляй в чат промпт для снэпшота: "Создай рабочий снэпшот: ## ПРИНЯТЫЕ РЕШЕНИЯ / ## ТЕКУЩАЯ ЗАДАЧА / ## ОТКРЫТЫЕ ВОПРОСЫ / ## ВАЖНЫЙ КОНТЕКСТ. Максимум 150 слов. Только конкретика." Открой новый чат. Вставь: снэпшот разделитель --- последние 4-6 обменов из старого чата следующий шаг. Почему работает. Модель хорошо сжимает и синтезирует. Снэпшот убирает шум, оставляет факты. Свежие сообщения дают актуальное состояние. Итог: точная рабочая память без устаревших состояний. Когда применять: итеративные задачи — правки, разработка, стратегия, редактура. Когда не нужно: короткий чат до 10-15 сообщений, задача не итеративная
📖 Простыми словами

Less Context, BetterAgents: Efficient ContextEngineeringfor Long-HorizonTool-UsingLLMAgents

arXiv: 2606.10209

У нейросетей есть критический баг: чем дольше ты с ними общаешься, тем сильнее они тупеют. Это не вопрос нехватки памяти, а проблема гниения контекста (context rot). Суть в том, что LLM воспринимает всю историю переписки как равнозначную кашу. Старые идеи, от которых вы отказались десять сообщений назад, продолжают давить на модель так же сильно, как и свежие вводные. В итоге агент начинает противоречить сам себе, возвращается к отброшенным вариантам и просто теряет фокус, пытаясь усидеть на всех стульях сразу.

Это как если бы ты обсуждал с другом план отпуска два часа подряд: сначала хотели в горы, потом передумали и решили на море, а в конце он вдруг спрашивает, взял ли ты палатку. Формально он помнит начало разговора, но по факту этот старый контекст только мешает принять решение здесь и сейчас. Модель превращается в такого «забывчивого друга», который не может выкинуть лишнее из головы, из-за чего актуальная информация тонет в шуме прошлых итераций.

Чтобы починить этот хаос, исследователи предлагают метод эффективного контекстного инжиниринга. Просто обрезать историю чата — плохая затея, так теряются важные детали. Работает связка: агрессивное сокращение плюс суммаризация. Мы выкидываем тонны промежуточного мусора (споры, уточнения, ошибки), но оставляем сухой остаток в виде краткого пересказа. Это позволяет модели держать в «оперативке» только финальные состояния и принятые решения, не отвлекаясь на процесс их обсуждения.

Принцип универсален: он работает и в программировании, и в долгих переписках по редполитике, и в сложных бизнес-задачах. Тестировали на агентах, использующих инструменты, где цена ошибки велика, но логика применима везде. Если твой чат с ChatGPT перевалил за 40 сообщений и нейронка начала лажать — значит, пора делать принудительную чистку. Вместо того чтобы кормить модель всей простыней текста, нужно скормить ей только итоги прошлых этапов. Меньше контекста — больше дела.

Короче, пора признать: длинная память для AI — это не дар, а проклятие, которое превращает умного ассистента в капризного деда. Хочешь адекватный результат — режь историю без жалости, оставляя только выжимку ключевых фактов. Либо ты управляешь контекстом, либо контекст начинает управлять твоим временем, превращая работу в бесконечный цикл исправлений. Чистый контекст бьет длинный контекст в 10 случаях из 10.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с