Полтора часа работы над рефакторингом модуля авторизации — и Claude Code начинает вести себя так, будто впервые видит проект. Он перечитывает файлы, которые уже читал, дважды предлагает одно и то же решение и забывает договорённость «token refresh не трогаем». Знакомая картина для всех, кто гонял агента на задачах длиннее «сделай маленький diff». Это не «модель отупела» — закончился контекст.
В статье разберём, что такое контекст-окно Claude Code и почему оно переполняется, чем контекст отличается от памяти, как работают /compact, CLAUDE.md и промпт-кеширование, и какие команды реально помогают управлять контекстом. На момент публикации (август 2026) — цифры и поведение актуальны для Claude Code на актуальных моделях.
Что такое контекст-окно в Claude Code
Документация определяет его прямо:
Claude Code’s context window holds everything Claude knows about your session: your instructions, the files it reads, its own responses, and content that never appears in your terminal.
Контекстное окно Claude Code — это всё, что Claude знает о вашей сессии: инструкции, файлы, которые он читает, его собственные ответы и даже то, что никогда не появляется в вашем терминале.
Проще говоря: пока агент работает, каждый запрос к модели пересылает весь накопленный контекст — системный промпт, проектную информацию, историю диалога, содержимое прочитанных файлов и выводы команд. Модель не «помнит» ничего между запросами: то, чего нет в окне, для неё не существует.
Размер окна у Claude-моделей на момент публикации:
| Модель | Контекст-окно |
|---|---|
| Модели без поддержки 1M-контекста (например, Sonnet 4.5, Opus 4.5) | 200K токенов |
| Sonnet 4.6, Opus 4.6 | 200K по умолчанию; вариант [1m] — 1M |
| Opus 4.7 и новее, Fable 5 (Anthropic API) | всегда 1M |
| Sonnet 5 (Anthropic API) | нативное окно 1M, отдельного варианта нет |
Источник — раздел про модели в документации. 200K токенов — это примерно 150 000 слов, но агент тратит их быстрее, чем кажется: чтение файла, вывод тестов, поиск по коду — всё это ложится в окно. Авторы документации прямо называют контекст главным ресурсом:
Most best practices are based on one constraint: Claude’s context window fills up fast, and performance degrades as it fills.
Большинство практик сводятся к одному ограничению: окно контекста заполняется быстро, и с заполнением окна качество работы падает.
Контекст ≠ память
Память агента — это то, что переживает сессию: файлы CLAUDE.md и авто-память. Каждая новая сессия стартует с пустого окна, а контекст живёт ровно одну сессию. Механизмы памяти подробно описаны в документации:
CLAUDE.md— файл с инструкциями, который вы пишете сами: команды сборки, стандарты кода, «так делать нельзя».- Авто-память (auto memory) — заметки, которые Claude пишет сам: команды сборки, найденные паттерны, ваши предпочтения.
- Оба механизма загружаются в начало каждой сессии и занимают место в окне (источник).
Из этого следует первое правило: всё, что должно жить дольше одной сессии, кладём в CLAUDE.md или память, а не в историю чата.
Почему контекст заканчивается
Автор статьи на Хабре, разбирающий длинные сессии Claude Code, формулирует проблему точнее всех:
Обычно это объясняют так: «модель тупит» или «надо лучше промптить», но на практике проблема часто в другом: мы складируем состояние задачи в историю чата и надеемся, что модель удержит его сама. Не удержит.
— «Проблема не в промпте: как Claude Code плывет на длинных задачах», Habr, март 2026
Контекст агента раздувается не одним большим документом, а всем процессом работы: историей диалога, кусками файлов, выводом тестов, определениями MCP-инструментов, промежуточными резюме. Каждое действие тула — это новый запрос, который пересылает всё накопленное.

Когда окно приближается к лимиту, Claude Code сжимает контекст автоматически. Механика из документации: сначала удаляются старые выводы тулов, затем история разговора суммируется. Ваши запросы и ключевые фрагменты кода сохраняются, а детальные инструкции из начала диалога могут потеряться (источник). Если авто-компакция выключена, сессия просто упирается в ошибку Prompt is too long.
При этом компакция — не бесплатная операция: она сама читает всю историю, которую сжимает. Подробности — ниже, в разделе про /compact.
Память: CLAUDE.md и авто-память
CLAUDE.md — единственный способ гарантированно донести до агента правила, которые переживут и компакцию, и перезапуск сессии. Документация описывает иерархию из четырёх уровней (источник):
| Уровень | Где лежит | Кто видит |
|---|---|---|
| Политика организации | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md, Linux: /etc/claude-code/CLAUDE.md |
Все сотрудники |
| Пользовательский | ~/.claude/CLAUDE.md |
Только вы, во всех проектах |
| Проектный | ./CLAUDE.md или ./.claude/CLAUDE.md |
Команда через git |
| Локальный | ./CLAUDE.local.md (в .gitignore) |
Только вы в этом проекте |
Файлы выше рабочей директории загружаются целиком при старте, файлы во вложенных папках — по требованию, когда Claude читает файл из этой папки. Рекомендуемый размер — меньше 200 строк: длинные файлы съедают контекст и хуже выполняются.
Авто-память работает по-другому: Claude сам сохраняет заметки в ~/.claude/projects/<проект>/memory/, а в начало каждой сессии загружается только MEMORY.md — первые 200 строк или 25 КБ. Детальные заметки лежат в отдельных файлах и подтягиваются по мере надобности.

Для старта достаточно двух команд: /init генерирует CLAUDE.md по кодовой базе, /memory показывает список файлов памяти и позволяет их открыть. Проверить, что реально загрузилось в сессию, можно командой /context.
Отдельно про AGENTS.md: Claude Code читает именно CLAUDE.md, а не AGENTS.md. Если в репозитории уже есть AGENTS.md — добавьте в CLAUDE.md строку @AGENTS.md, и агент подхватит общий файл-конвенций. Как устроен этот стандарт и почему он нужен — в статье «AGENTS.md: файл-конвенций, который понимают все AI-агенты».
/compact: как работает сжатие контекста
/compact заменяет историю разговора структурированным резюме. После сжатия большая часть стартового контекста восстанавливается автоматически — но не вся. Документация сводит это в таблицу:
| Что было в контексте | После компакции |
|---|---|
| Системный промпт, output style | Не меняется |
Корневой CLAUDE.md, правила без path-скоупа |
Перечитываются с диска |
| Авто-память | Перечитывается с диска |
Вложенные CLAUDE.md |
Потеряны, пока Claude снова не прочитает файл из этой папки |
Правила с paths: (path-scoped rules) |
Потеряны до повторного чтения подходящего файла |
| Skill-инструкции | Перечитываются, но не более 5000 токенов на скилл |
| Hooks | Не применимо — хуки работают как код, а не как контекст |

Отсюда практическое правило: договорённости, которые должны пережить компакцию, пишите в корневой CLAUDE.md или в CLAUDE.md с инструкцией для сжатия:
## Compact Instructions
При компакции всегда сохраняй полный список изменённых файлов,
команды для запуска тестов и текущий план.
Второй приём — запускать /compact с фокусом, чтобы резюме сохранило именно то, что важно для текущей задачи:
/compact focus on the auth bug fix
По умолчанию авто-компакция срабатывает у лимита модели: модели с окном 200K (Sonnet 4.6, Opus 4.6 без extended context, Opus 4.8/Opus 5 на провайдерах с окном 200K) сжимаются на границе 200K, а Sonnet 5 на Anthropic API — около 967K при нативном окне 1M. Порог можно сдвинуть командой /autocompact:
/autocompact 500k
Значение принимается от 100K до 1M токенов (источник). Кому-то удобнее компактиться заранее, чем работать в почти полном окне, где агент начинает «плавать».
И честно про стоимость: /compact — сам по себе большой запрос, он читает всю историю, которую сжимает. В тёплом кеше он обходится в долю от полного размера контекста, а самый дорогой вариант — холодное возобновление старой сессии, когда кеш уже истёк. Русскоязычный разбор механики — в статье «/compact в Claude Code: как работает сжатие контекста».
Промпт-кеширование как следствие контекста
Раз контекст пересылается целиком с каждым запросом, без кеширования длинная сессия стоила бы как полная обработка истории на каждом шаге. Промпт-кеширование решает именно это: Claude Code автоматически кеширует префикс запроса, а изменившийся хвост обрабатывает заново. Чтение из кеша тарифицируется примерно по 10% от обычной ставки входных токенов (источник).
Раскладка по слоям объясняет, почему одни действия дёшевы, а другие — нет:

Кеш инвалидируется при смене модели или уровня effort, подключении/отключении MCP-сервера (когда определения тулов в префиксе), включении fast mode, обновлении Claude Code и после /compact. Редактирование файлов репозитория кеш не трогает — содержимое файла попадает в контекст только когда Claude его читает.
TTL кеша: на подписке Pro/Max — час, на API-ключе — пять минут. Поэтому первый запрос после паузы заметно медленнее: история обрабатывается целиком, затем кеш снова «прогревается».
Детальный разбор экономии на входных токенах — в статье «Промпт-кеширование: как экономить на API агентов», а про оплату по токенам вместо подписки — в гайде по API-режиму Claude Code.
Практика: команды и промпты для управления контекстом
Самый простой способ узнать, что занимает окно, — спросить самого агента:
/context
Команда показывает контекст по категориям и подсказывает, что сократить. Остальные команды — по ситуациям:
| Ситуация | Команда |
|---|---|
| Контекст распух, задача продолжается | /compact или /compact <фокус> |
| Хочу сжимать раньше лимита | /autocompact 500k |
| Задача сменилась на несвязанную | /clear — чистая сессия, 0 токенов |
| Правила на будущие сессии | /memory — открыть CLAUDE.md и авто-память |
| Модель не справляется | /model opus — но кеш сбросится |
| Контроль расхода | /usage — токены по моделям и сессиям |

/clear между разными задачами — самый недооценённый приём. Старая история не просто занимает окно — она заставляет агента отвлекаться и стоит токенов на каждом ходу, даже когда вы просто задали вопрос «а что там с ошибкой?». Документация прямо рекомендует /clear между несвязанными задачами (источник).
Ещё три приёма из документации и практики:
- Делегируйте исследование сабагентам. У сабагента собственное окно — большой файл или целый поиск по кодовой базе не засоряет ваше окно, в родителя возвращается только резюме:
Используй сабагентов, чтобы исследовать, как система аутентификации
обрабатывает обновление токена и есть ли готовые OAuth-утилиты.
-
Поддерживайте
CLAUDE.mdкоротким. Больше 200 строк — кандидат на сокращение: инструкции, которые нужны только для части проекта, лучше выносить в path-scoped rules, чтобы они грузились по требованию (источник). -
Перезапускайте длинные сессии через резюме. На подписке при возобновлении сессии, простоявшей больше часа и накопившей более 100K токенов, Claude Code предлагает «resume from summary» — продолжить с резюме вместо полной истории. Выбор экономит каждый следующий запрос (источник).
Про расход в длинной сессии: Claude Code пересылает контекст на каждом ходе, поэтому однострочный вопрос в сессии, открытой весь день, «съедает» токены на всю историю. Начиная с 14.08.2026 в режиме по умолчанию (auto mode) сообщение из другой вашей сессии тоже доставляется новым ходом — и тоже пересылает весь контекст (источник). Держать это в голове полезно, даже если деньги не главное: полное окно — это и медленные ответы.
Когда это критично
- Долгие автономные задачи. Фоновые агенты, CI-проверки, ночные прогоны работают без вашего участия: здесь компакция — единственная «память», и потерянные детали никто не восстановит.
- Большие монорепозитории. Чтение файлов из разных подпапок тянет за собой вложенные
CLAUDE.mdи path-правила — контекст растёт быстрее. - Много MCP-тулов. Описания инструментов занимают место в системном слое, а каждый вызов добавляет результат в историю. Как подключить серверы по протоколу MCP — в статье «Что такое MCP».
- Одна сессия на несколько задач. Переключаться внутри одного окна — значит тащить мусор первой задачи во вторую.
/clearи/branch(копия истории в новую ветку) дешевле. - Слишком большой вывод. Если один файл или лог настолько велик, что контекст переполняется сразу после каждого сжатия, авто-компакция останавливается и показывает ошибку — вместо бесконечного цикла. Решение — не давать агенту читать гигантские файлы целиком (источник).
Российские реалии
Тема управления контекстом в рунете освещена — в отличие от большинства узких тем про Claude Code, здесь есть живые разборы:
- «Проблема не в промпте: как Claude Code плывет на длинных задачах и как управлять контекстом» (Habr, март 2026) — автор разбирает деградацию длинных сессий,
context engineering, re-inject состояния после компакции. - «/compact в Claude Code: как работает сжатие контекста» (okhlopkov.com) — что переживает компакцию, что теряется, когда запускать вручную.
- «Как правильно начинать новую сессию в Claude Code?» (vc.ru) — практика работы с сессиями и контекстом.
Но всё это про сам инструмент, а не про доступ из России. По доступности всё как у остальных сервисов Anthropic:
- Россия не входит в список поддерживаемых стран ни для API, ни для claude.ai (список). Без VPN Claude Code не запустится.
- Оплата российскими картами не проходит: Visa и Mastercard не принимаются. Реальные способы на момент публикации — карта зарубежного банка, UnionPay (не у всех эмитентов), крипта через посредников или юрлицо в поддерживаемой стране (Казахстан, Турция, Армения, Грузия). Подробный разбор — в статье про установку Claude Code.
- Обходные схемы работают на свой страх и риск: обзор ситуации в РФ на Хабре и практический опыт «Как стать вайбкодером».
Для старта без VPN и зарубежных карт подойдёт бесплатный агент OpenCode, а базовое устройство агентского кодинга описано в вводной статье по теме.
Честные ограничения
- Компакция — потеря данных. Резюме не хранит всех деталей. Вложенные
CLAUDE.mdи path-правила после компакции не восстанавливаются, пока Claude не прочитает подходящий файл снова. /compactсам стоит токенов. Холодное возобновление старой сессии — самый дорогой запрос, который вы можете отправить: полная история обрабатывается заново.- Кеш не вечен. Первый ход после паузы длиннее TTL (час на подписке, пять минут на API) — мимо кеша, по полной ставке.
- Большое окно не спасает само по себе. Даже 1M токенов деградируют по мере заполнения — это не «бесконечная память», а просто больший запас. Автор хабра-разбора формулирует это так: «большое окно контекста — это не панацея».
- Смена модели — сброс кеша. Переключение
/modelили effort посреди задачи делает следующий ход медленнее и дороже, пока кеш прогревается заново. - Из РФ всё это ещё и через VPN. Технические ограничения контекста никуда не деваются, а к ним добавляется доступность самого сервиса.
Вывод
Контекст — главный ресурс Claude Code: он конечен, дорожает по мере заполнения и теряет детали при сжатии. Управлять им можно тремя инструментами: постоянная память (CLAUDE.md, авто-память) для правил на все сессии, /compact с фокусом для длинных задач и /clear между несвязанными. /context показывает, что именно занимает окно, а промпт-кеширование — просто то, что делает длинные сессии не разорительными.
Дальше по теме: как установить и настроить Claude Code, подключение по API-ключу, AGENTS.md — файл-конвенций, промпт-кеширование и экономия на токенах, что такое MCP.
