Гайд по экономии токенов и команде /context в Claude Code

context claude code

В работе с ИИ-агентами вроде Claude Code самый важный ресурс — это не качество промпта, а чистота контекстного окна. Контекст — это активная рабочая память ИИ. Как только окно переполняется, агент начинает «забывать» важные архитектурные решения, путать имена функций, повторно задавать уже решенные вопросы и генерировать неконсистентный код. Это явление в индустрии называют «гнилью контекста» (context rot).

В этом руководстве мы разберем теорию управления контекстом в Claude Code, детально изучим встроенную команду /context, разберемся в механизмах компактации (сжатия) и освоим продвинутые паттерны context engineering, которые сэкономят ваши токены и защитят от глупых ошибок модели.

Анатомия контекстного окна Claude Code

По умолчанию контекстное окно Claude Code составляет 200 000 токенов (примерно 500 страниц текста). Для сложных многочасовых сессий на моделях Sonnet 4.6 и Opus 4.8 доступна опция расширения до 1 миллиона токенов (с помощью псевдонимов sonnet[1m] и opus[1m]).

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

Что именно наполняет контекст?

Контекст наполняется на двух этапах сессии:

  1. При запуске сессии (Startup overhead):
    • Системный промпт Claude Code и стиль вывода (~8-10k токенов).
    • Файл инструкций CLAUDE.md.
    • Автоматическая память проекта (Auto-memory из директории ~/.claude/memory/, до 200 строк).
    • Описания активных MCP-серверов и зарегистрированных навыков (Skills). Один сложный MCP-инструмент может занять до 20% стандартного лимита еще до первого вопроса пользователя!
  2. В процессе работы (Active session):
    • Вся история вашего диалога (сообщения пользователя и ответы Claude).
    • Результаты чтения файлов (модель считывает код целиком, что легко может расходовать по 10-15k токенов за один раз).
    • Логи выполнения команд Bash, запуски тестов, дампы ошибок.
    • Пошаговая история вызовов инструментов (tool call history).

Оператор /context и визуализация памяти

Самый простой способ держать руку на пульсе — использовать встроенную команду /context. Она выводит в терминал детальный текстовый отчет:

  • Текущий процент заполнения окна.
  • Категории, которые «съедают» больше всего токенов (файлы, история диалога, системный промпт, инструменты).
  • Рекомендации по оптимизации текущей сессии.

Для детального анализа вы можете использовать интерактивную шкалу времени — Context Window Visualization. На этом интерактивном таймлайне каждый шаг, вызов инструмента и прочитанный файл отображаются в виде блоков, размер которых пропорционален затраченным токенам. Это позволяет мгновенно обнаружить «тяжелые» операции — например, гигантские PDF-документы или бесконечные логи тестов.

Полезно знать: Вы можете отслеживать размер контекста в реальном времени, настроив статусную строку Claude Code. Для этого используйте команду /statusline, чтобы добавить процент использования контекста прямо в интерфейс ввода.

Как работает компактация (Сжатие контекста)

Когда контекст заполняется (обычно при достижении ~83.5% от лимита, где ~33k токенов резервируются как буфер), Claude Code запускает авто-компактацию (auto-compact).

Этот процесс работает гораздо умнее, чем простое обрезание старых сообщений. Claude делает паузу, открывает невидимый черновик (scratchpad), анализирует, какие архитектурные проблемы решены, а какие задачи еще открыты, и формирует структурированную выжимку сессии из нескольких разделов. Эта выжимка полностью заменяет всю предыдущую историю диалога.

Что выживает после компактации, а что теряется?

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

Что гарантированно сохраняется ✅ Что безвозвратно теряется ❌
Инструкции из корневого CLAUDE.md (они всегда перечитываются с диска и заново внедряются) Сырая история сообщений и ваши промежуточные рассуждения
Глобальная авто-память (Auto-memory) Ранее прочитанное содержимое файлов (модели придется перечитывать их заново при необходимости)
Общий статус выполнения текущей задачи Детальные логи выполнения консольных утилит и тестов
Последние результаты работы инструментов Инструкции, которые вы давали устно в середине диалога (без сохранения в CLAUDE.md)
Важный нюанс с вложенными правилами: Файлы правил, находящиеся во вложенных папках (например, .claude/rules/), не перечитываются автоматически после сжатия. Они загрузятся заново только тогда, когда Claude снова обратится к файлу в этой поддиректории.

Управляемое сжатие через команду /compact

Вы можете не ждать автоматического триггера, а выполнить сжатие вручную, направив фокус модели в нужную сторону:

/compact Сфокусируйся на рефакторинге модуля авторизации и текущих ошибках в тестах

Такой промпт заставит ИИ при генерации саммари уделить максимум внимания именно указанной подсистеме, отбросив весь остальной второстепенный шум сессии.

Лайфхаки по экономии токенов и защите контекста

1. Гигиена CLAUDE.md: модульность вместо гигантизма

Поскольку CLAUDE.md отправляется в контекст при каждом цикле взаимодействия (turn), его раздувание экспоненциально увеличивает расходы. Держите этот файл компактным — до 200 строк.

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

// Пример структуры папки .claude/rules/react.md
---
globs: ["src/**/*.tsx", "src/**/*.ts"]
---
- Используйте только функциональные компоненты и хуки.
- Не используйте сторонние CSS-библиотеки без согласования.

2. Изоляция контекста с помощью субгенов (Subagents)

Если вам нужно запустить «шумную» операцию — например, изучить стороннюю библиотеку, перелопатить гору логов или провести глубокий ресерч архитектуры, — не делайте это в основном окне. Используйте команду /agents (или позвольте Claude запустить субген самостоятельно).

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

3. Паттерн «Handoff» через файлы состояния

Если сессия длится долго, а задача требует ювелирной точности кода, авто-компактация может упустить важные детали. Вместо борьбы с компактацией примените паттерн Handoff (Передача состояния):

  1. Когда контекст заполнен на 80%, попросите Claude записать текущий статус работы в файл (например, в task_state.md).
  2. Выполните полную очистку контекста командой /clear (или /reset). Это обнулит историю и освободит память.
  3. В новой сессии просто укажите Claude прочитать этот файл состояния.

Пример промпта для создания файла состояния перед очисткой:

«Мы завершаем текущую сессию. Запиши в файл task_state.md текущий статус: что уже сделано, какие файлы изменены, какие проблемы остались нерешенными и каков наш следующий конкретный шаг. После этого я очищу контекст».

4. Быстрый откат через Rewind (Esc Esc)

Если модель совершила ложное действие (например, прочитала не ту огромную папку или запустила ошибочный скрипт с выводом терабайта логов), не продолжайте диалог. Нажмите Esc Esc (или введите /rewind). Это мгновенно откатит сессию на один шаг назад, физически удалив весь ошибочный мусор из контекста до того, как он успеет укорениться в памяти ИИ.

Итог

Управление контекстом в Claude Code — это не просто экономия ваших средств на оплату API, это залог предсказуемого и качественного кодинга. Возьмите за правило:

  • Регулярно проверять потребление токенов через /context.
  • Разгружать сессию, делегируя тяжелые задачи субгенам.
  • Держать CLAUDE.md лаконичным, вынося частные случаи в scoped rules.
  • Не бояться очищать сессию через /clear, перенося важный контекст через файлы задач.

Метки:

/context, /statusline, Anthropic, Claude, Claude Code, Prompt Caching

Почему обычный веб-поиск в ИИ больше не работает и как это исправить за одну команду на примере плагина last30days в Claude Code

В статье рассматривается инструмент (skill) last30days для Claude Code и других AI-агентов. Вы узнаете, как этот плагин решает проблему поверхностного веб-поиска и ресурсозатратного глубокого исследования (Deep Research), собирая актуальные отзывы, тренды и комментарии пользователей на Reddit, X (Twitter), YouTube и Hacker News за последние 30 дней.

Интеграция локального проекта Claude Code с репозиторием кода SourceCraft

Практическое руководство по интеграции существующего локального проекта с Git-хостингом SourceCraft. Разбираем пошаговый процесс создания репозитория в организации, генерацию SSH-ключей для устранения ошибок авторизации и настройку ИИ-ассистента Claude Code для фиксации изменений строго по вашему запросу.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *