# Агент тупеет к концу работы: гигиена контекстного окна

Контекстное окно забивается историей сессии, и агент начинает путаться. Правило 60 процентов, один чат на задачу и что переносить в новое окно.

URL: https://posts.danashkin.ru/guides/gigiena-kontekstnogo-okna
Обновлено: 2026-08-08

---

## Коротко

**Главное**

- Агент не «устаёт» и не портится. К концу длинной сессии он хуже соображает, потому что окно памяти забито мусором предыдущих шагов.
- Контекстное окно - это вся память одного разговора. Туда попадает каждое сообщение, каждый прочитанный файл и каждая ошибка, которую вы вместе разбирали.
- Рабочее правило, которое я даю ученикам: держать окно ниже 60%. Дальше качество падает быстрее, чем растёт польза от накопленного.
- Лечится не терпением, а дисциплиной: один чат - одна задача, большой шаг - новое окно, важное - в файл, а не в переписку.

## Почему агент тупеет к концу работы?

**Главное**

Агент не тупеет от усталости. К концу сессии окно памяти забито предыдущими шагами: старыми версиями кода, отменёнными идеями, разбором ошибок. Модель ищет ответ во всём этом ворохе и всё чаще цепляется за отменённое.

Начало сессии всегда бодрое. Ставишь задачу, агент делает, ты правишь, он поправляет. Через два часа тот же агент забывает, о чём вы договорились полчаса назад, возвращает вариант, который ты уже отверг, и уверенно ломает то, что работало.

Первая мысль - «модель испортилась» или «дневной лимит съел качество». Ни то, ни другое. Один из моих учеников сформулировал это точнее любого учебника: агент **тупеет от перегруза**.

Механика простая. Всё, что происходит в чате, остаётся в его памяти: твои сообщения, ответы, содержимое прочитанных файлов, вывод команд, три отменённых подхода к одной кнопке. Модель не помнит, что важно, а что вы уже выбросили. Для неё это один сплошной текст, в котором надо найти ответ.

Чем больше текста, тем выше шанс, что она подхватит не ту его часть.

## Что такое контекстное окно простыми словами?

**Главное**

Контекстное окно - максимум текста, который модель держит в голове за один разговор. Не «сколько всего знает», а «сколько видит прямо сейчас»: инструкции, файлы, историю переписки. Заполнилось - старое начинает вытесняться или сжиматься.

Представь рабочий стол. Не жёсткий диск, а именно стол: на него помещается ограниченное количество бумаг, и всё, чем ты пользуешься, должно лежать перед глазами.

Контекстное окно у [ИИ-агента](/concepts/ai-agent) устроено так же. Туда одновременно кладутся:

- системная инструкция инструмента;
- твой файл-памятка проекта, если он есть;
- содержимое всех файлов, которые агент открыл по ходу дела;
- вся переписка с начала чата, включая тупики и откаты;
- результаты команд, которые он запускал.

Стол не бесконечный. Когда бумаги перестают помещаться, происходит одно из двух: инструмент либо сжимает старую часть разговора в короткий пересказ, либо просто перестаёт видеть начало. В обоих случаях детали теряются, а ты этого не замечаешь: агент отвечает так же уверенно.

Это не поломка, а физическое ограничение, и оно описано в документации любого разработчика моделей. Важно другое: **заполненность окна почти целиком в твоих руках.**

## Что засоряет окно быстрее всего?

**Главное**

Не длинные тексты, а повторы: перечитанные файлы, разбор ошибок, отменённые варианты и попытки решить в одном чате три разные задачи. Именно они дают основной объём, при этом никакой ценности к моменту следующего шага уже не несут.

За год работы с агентами у меня накопился короткий список того, что реально жжёт окно. Он неочевидный: самые объёмные вещи не всегда самые вредные.

| Что попадает в окно | Насколько тяжёлое | Что с этим делать |
|---|---|---|
| Разбор ошибки на 10 сообщений | Очень тяжёлое | Починили - начинай новый чат, вывод перенеси одной строкой |
| Файлы, прочитанные «на всякий случай» | Тяжёлое | Проси открывать конкретный файл, а не «изучи проект» |
| Три отменённых варианта одной функции | Тяжёлое | После выбора варианта закрывай окно, дальше работай с выбранным |
| Длинная статья или документ целиком | Среднее | Клади выжимку, а не весь текст |
| Твои правила работы над проектом | Лёгкое и полезное | Держи в файле-памятке, он подтягивается сам |
| Готовый код, который уже работает | Лёгкое | Пусть лежит в файлах, агент прочитает при необходимости |

Обрати внимание на закономерность: тяжелее всего не полезная фактура, а **история твоих метаний**. Отменённые подходы, споры о том, как лучше, разбор трёх версий ошибки. Для тебя это пройденный этап, для модели - равноправная часть контекста.

Второй по вредности пункт - «изучи проект целиком». Звучит разумно, а на деле агент прочитает три десятка файлов, забьёт половину окна и к моменту, когда ты дойдёшь до задачи, будет соображать заметно хуже.

## Правило 60%: когда пора закрывать чат

**Главное**

Держи заполненность окна ниже 60 процентов. Это не техническая граница, а практическая: примерно на этой отметке агент начинает путаться в отменённых решениях. Инструменты показывают заполненность, так что смотреть надо на цифру, а не на ощущения.

Это правило я даю каждому ученику на индивидуальном треке в качестве домашнего задания: **держать контекстное окно ниже 60 процентов.** Не 90, не «пока работает», а 60.

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

Шестьдесят - это запас, в который помещается нормальный рабочий шаг вместе с разбором пары ошибок.

Как это выглядит на практике:

1. **Смотри на счётчик, а не на самочувствие**

   Инструменты показывают, сколько окна занято. Это единственный честный индикатор: ощущение «вроде ещё соображает» обманывает регулярно.

2. **Дошёл до 60 - заканчивай текущий шаг**

   Не задачу целиком, а именно шаг: доведи до состояния, когда результат можно записать в файл и не стыдно бросить.

3. **Зафиксируй результат**

   Пусть агент коротко запишет, что сделано и что дальше. Три-четыре строки, без пересказа диалога.

4. **Открывай новое окно**

   Не «продолжаем в этом же», а новая сессия с чистого листа и с той самой запиской.

Отдельно про большие шаги. Когда впереди что-то серьёзное - новая крупная задача, разбор архитектуры, проверка замысла на прочность - я советую ученикам запускать это **в новом окне**, а не в конце длинной сессии. Причина та же: большому шагу нужно место, а не остатки.

## Один чат - одна задача: как резать работу?

**Главное**

Правило простое: разные задачи не живут в одном разговоре. Как только тема сменилась, открывай новое окно. Иначе агент тянет в новую задачу мусор из старой и подсовывает решения, которые к текущему вопросу отношения не имеют.

Самая частая ошибка новичка выглядит невинно: один чат на весь день. Утром там правили текст, днём считали смету, вечером собирают форму на сайте. К вечеру агент отвечает странно, и человек делает вывод, что «инструмент слабый».

Инструмент нормальный. Просто в его памяти лежат утренний текст и дневная смета, и он честно пытается учесть всё.

Как резать по-живому:

- **Сменилась тема - сменился чат.** Не «сейчас про другое», а новое окно.
- **Один проект - своя папка и свои чаты.** У одного моего ученика чаты лежали сплошным списком без всякой группировки. Починили за минуту прямо на занятии: настройки, группировка по проектам. Это не косметика, это защита от смешивания контекстов.
- **Задача заняла больше часа - скорее всего, её надо было разбить.** Длинная сессия почти всегда означает, что внутри было несколько разных задач.

**Признак, что пора резать**

Ты ловишь себя на фразе «нет, забудь, что я говорил выше». Если приходится просить агента что-то забыть, окно уже несёт балласт. Забывать он не умеет: отменённое остаётся в памяти наравне с принятым. Зато начать заново - секунда.

## Что перенести в новое окно, чтобы не потерять нить?

**Главное**

Переносить надо не переписку, а результат: где лежит работа, что уже сделано, что следующий шаг и какие решения приняты окончательно. Три-пять строк вместо двух часов диалога. Всё остальное новому окну не нужно.

Главный страх при закрытии чата: «я потеряю весь контекст». На практике теряется только то, что и не надо было тащить.

Полезное живёт не в переписке, а в файлах. Правила проекта, договорённости, структура работы - всё это должно лежать в файле-памятке, который агент читает сам в начале каждой сессии. Я подробно разбирал, [что писать в такой файл](/guides/chto-pisat-v-claude-md) и почему он важнее любого длинного промпта.

В новое окно достаточно передать короткую записку:

- над чем работаем и где лежат файлы;
- что уже готово;
- какой следующий шаг;
- что решено окончательно и не обсуждается.

Пять строк. Всё, что не влезло в пять строк, либо не нужно, либо должно быть записано в файл проекта, а не в чат.

Это и есть переход от «переписки» к [работе с контекстом как с системой](/guides/kontekst-inzhiniring): качество ответа определяется не длиной разговора, а тем, что агент видит перед собой в нужный момент.

## Сколько это стоит в деньгах и лимитах?

**Главное**

Раздутое окно бьёт дважды: по качеству ответов и по лимитам подписки. Каждое сообщение в длинном чате обрабатывается вместе со всей накопленной историей, поэтому дорогой становится не сложность задачи, а длина разговора.

Про эту часть обычно не думают, пока не упрутся.

Инструменты считают расход не по количеству твоих вопросов, а по объёму текста, который модель обрабатывает. В длинном чате каждое новое сообщение обрабатывается вместе со всем, что накопилось раньше. То есть двадцатый вопрос в замусоренном окне стоит в разы дороже первого - при том же смысле.

Приведу цифру из собственной практики, чтобы не звучало абстрактно. У меня самая дорогая подписка из доступных, и при этом в один из рабочих дней я упёрся в **91 процент недельного лимита**. Не потому что задач было слишком много, а потому что часть сессий велась грязно: длинные чаты, перечитывание одного и того же, разбор ошибок в том же окне, где потом продолжалась работа.

Отсюда мораль, которую я повторяю на обучениях: **дисциплина контекста экономит не столько нервы, сколько лимит.** И чем дешевле твой тариф, тем эта дисциплина критичнее. У человека на начальном тарифе запас в разы меньше, а значит грязная сессия съедает его в несколько раз быстрее.

Подробнее про сами тарифы и на что уходит лимит - в разборе [подписки и оплаты по счётчику](/guides/skolko-stoit-claude-code-podpiska-vs-api).

## Порядок внедрения: что делать первым

**Главное**

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

Не пытайся внедрить всё сразу. Порядок такой:

1. **Найди счётчик заполненности** в своём инструменте и начни на него смотреть. Просто смотреть, ничего пока не меняя.
2. **Введи правило 60 процентов.** Дошёл - завершай шаг и открывай новое окно.
3. **Разведи проекты по папкам**, чтобы чаты одной темы не смешивались с другой.
4. **Заведи файл-памятку проекта**, чтобы правила не приходилось повторять в каждом чате.
5. **Большие шаги начинай в чистом окне** - всегда.

Первый пункт бесплатный и даёт больше половины эффекта. Люди годами работают, ни разу не взглянув на эту цифру, и искренне считают, что инструмент капризный.

Как выстроить из этих привычек рабочую систему под свои задачи, а не набор разрозненных советов, мы разбираем на интенсиве по нейросетям для бизнеса: без магии, на живых процессах команды.

## Частые вопросы

**Главное**

Короткие ответы на то, что спрашивают чаще всего: про потерю контекста, про сжатие истории, про длинные документы и про то, помогает ли более дорогая модель.

### Частые вопросы

**Если закрыть чат, агент забудет проект?**

Нет, если проект описан в файлах. Забудется только переписка. Именно поэтому важное надо записывать в файл-памятку, а не держать в диалоге.

**В инструменте есть кнопка сжатия истории. Она решает проблему?**

Частично. Сжатие ужимает разговор в пересказ и выигрывает время, но пересказ делает та же модель, и часть деталей теряется. Пользоваться можно, полагаться - нет. Чистое окно всегда лучше сжатого.

**У меня длинный документ, его же надо целиком положить в чат?**

Почти никогда. Положи выжимку и оставь сам документ в файле: агент откроет его, когда действительно понадобится.

**Более дорогая модель решит проблему перегруза?**

Нет. Окно у мощных моделей больше, но и заполняется оно так же. Дисциплина сессии от тарифа не зависит.

## Главный вывод

**Главное**

Агент не портится к вечеру - его память забивается тем, что вы уже прошли. Гигиена контекста это не про экономию токенов, а про качество работы: чистое окно даёт точные ответы, грязное превращает работу в спор с собственной перепиской.

Если запомнить из статьи одну вещь, пусть это будет цифра 60. Заполнил окно на 60 процентов - заканчивай шаг, фиксируй результат, открывай новое.

Всё остальное - следствия. Один чат на одну задачу, потому что смешанные темы забивают окно быстрее всего. Файл-памятка вместо повторов, потому что записанное не надо пересказывать. Новое окно под большой шаг, потому что серьёзной задаче нужно место.

Это ровно та дисциплина, которая отличает человека, у которого агент работает, от человека, у которого он «какой-то тупой». Инструмент у обоих один и тот же.

### Sources

- [Anthropic. Context windows - официальная документация](https://docs.claude.com/en/docs/build-with-claude/context-windows)
- [Anthropic. Effective context engineering for AI agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)
- [Anthropic. Manage costs effectively - про расход в длинных сессиях](https://docs.claude.com/en/docs/claude-code/costs)
- [Anthropic. Common workflows - работа с контекстом сессии](https://docs.claude.com/en/docs/claude-code/common-workflows)
