Перейти к содержимому

Контекст Claude Code: как управлять памятью агента

Полтора часа работы над рефакторингом модуля авторизации — и 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 Code Docs, «Explore the context window»

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

Размер окна у 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 Code Docs, «Best practices»

Контекст ≠ память

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

  • CLAUDE.md — файл с инструкциями, который вы пишете сами: команды сборки, стандарты кода, «так делать нельзя».
  • Авто-память (auto memory) — заметки, которые Claude пишет сам: команды сборки, найденные паттерны, ваши предпочтения.
  • Оба механизма загружаются в начало каждой сессии и занимают место в окне (источник).

Из этого следует первое правило: всё, что должно жить дольше одной сессии, кладём в CLAUDE.md или память, а не в историю чата.

Почему контекст заканчивается

Автор статьи на Хабре, разбирающий длинные сессии Claude Code, формулирует проблему точнее всех:

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

«Проблема не в промпте: как Claude Code плывет на длинных задачах», Habr, март 2026

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

Схема: жизненный цикл контекста — старт, работа, /compact
Схема автора: как заполняется контекст-окно от старта сессии до компакции (SVG).

Когда окно приближается к лимиту, 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 КБ. Детальные заметки лежат в отдельных файлах и подтягиваются по мере надобности.

Скриншот документации: CLAUDE.md против авто-памяти
Официальная документация Claude Code, раздел «How Claude remembers your project» (docs.claude.com), август 2026.

Для старта достаточно двух команд: /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 Code, раздел «Explore the context window» (docs.claude.com), август 2026.

Отсюда практическое правило: договорённости, которые должны пережить компакцию, пишите в корневой 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% от обычной ставки входных токенов (источник).

Раскладка по слоям объясняет, почему одни действия дёшевы, а другие — нет:

Скриншот документации: слои контекста для кеширования
Официальная документация Claude Code, раздел «How Claude Code uses prompt caching» (docs.claude.com), август 2026.

Кеш инвалидируется при смене модели или уровня 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 — токены по моделям и сессиям
Схема: карта команд управления контекстом
Схема автора: когда применять /context, /compact, /clear, /autocompact, /memory (SVG).

/clear между разными задачами — самый недооценённый приём. Старая история не просто занимает окно — она заставляет агента отвлекаться и стоит токенов на каждом ходу, даже когда вы просто задали вопрос «а что там с ошибкой?». Документация прямо рекомендует /clear между несвязанными задачами (источник).

Ещё три приёма из документации и практики:

  1. Делегируйте исследование сабагентам. У сабагента собственное окно — большой файл или целый поиск по кодовой базе не засоряет ваше окно, в родителя возвращается только резюме:
Используй сабагентов, чтобы исследовать, как система аутентификации
обрабатывает обновление токена и есть ли готовые OAuth-утилиты.
  1. Поддерживайте CLAUDE.md коротким. Больше 200 строк — кандидат на сокращение: инструкции, которые нужны только для части проекта, лучше выносить в path-scoped rules, чтобы они грузились по требованию (источник).

  2. Перезапускайте длинные сессии через резюме. На подписке при возобновлении сессии, простоявшей больше часа и накопившей более 100K токенов, Claude Code предлагает «resume from summary» — продолжить с резюме вместо полной истории. Выбор экономит каждый следующий запрос (источник).

Про расход в длинной сессии: Claude Code пересылает контекст на каждом ходе, поэтому однострочный вопрос в сессии, открытой весь день, «съедает» токены на всю историю. Начиная с 14.08.2026 в режиме по умолчанию (auto mode) сообщение из другой вашей сессии тоже доставляется новым ходом — и тоже пересылает весь контекст (источник). Держать это в голове полезно, даже если деньги не главное: полное окно — это и медленные ответы.

Когда это критично

  • Долгие автономные задачи. Фоновые агенты, CI-проверки, ночные прогоны работают без вашего участия: здесь компакция — единственная «память», и потерянные детали никто не восстановит.
  • Большие монорепозитории. Чтение файлов из разных подпапок тянет за собой вложенные CLAUDE.md и path-правила — контекст растёт быстрее.
  • Много MCP-тулов. Описания инструментов занимают место в системном слое, а каждый вызов добавляет результат в историю. Как подключить серверы по протоколу MCP — в статье «Что такое MCP».
  • Одна сессия на несколько задач. Переключаться внутри одного окна — значит тащить мусор первой задачи во вторую. /clear и /branch (копия истории в новую ветку) дешевле.
  • Слишком большой вывод. Если один файл или лог настолько велик, что контекст переполняется сразу после каждого сжатия, авто-компакция останавливается и показывает ошибку — вместо бесконечного цикла. Решение — не давать агенту читать гигантские файлы целиком (источник).

Российские реалии

Тема управления контекстом в рунете освещена — в отличие от большинства узких тем про Claude Code, здесь есть живые разборы:

Но всё это про сам инструмент, а не про доступ из России. По доступности всё как у остальных сервисов 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.


Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Adblock
detector