Управление контекстом
Понимание и управление контекстным окном Claude Code, эффективное использование команд /compact, /clear и других
Управление контекстом¶
Каждый сеанс Claude Code работает в контекстном окне. Понимание принципов работы контекста поможет вам эффективнее использовать Claude и избежать ошибок, вызванных переполнением контекста.
Понимание контекстного окна¶
Claude Code по умолчанию использует контекстное окно в 200 000 token. Модели Opus 4.6 и Sonnet 4.6 поддерживают расширение до 1 миллиона token (1M context).
Контекст включает:
- Всю историю диалога (ваши вопросы + ответы Claude)
- Содержимое файлов, добавленных через
@ - Входные данные и результаты вызовов инструментов
- Системные подсказки и содержимое CLAUDE.md
По мере продолжения диалога контекст постоянно растёт. Когда контекст приближается к лимиту, скорость ответов Claude может снижаться, и в конечном счёте сработает автоматическое сжатие или возникнет ошибка.
Сжатие контекста: /compact¶
Команда /compact сжимает текущую историю диалога в краткое резюме, освобождая пространство контекста и сохраняя при этом важную информацию.
/compact
Вы также можете добавить пользовательские инструкции для управления фокусом сжатия:
/compact сохранить все примеры кода и список выполненных задач
Механизм автоматического сжатия: Claude Code по умолчанию автоматически запускает сжатие при достижении контекстом 95% ёмкости. Вы также можете запустить /compact заблаговременно при заполнении контекста на 70-80%, не дожидаясь последнего момента.
Очистка истории: /clear¶
Команда /clear удаляет всю историю диалога и начинает новый сеанс:
/clear
Примечание:
/clearудаляет весь контекст, включая информацию о проекте, которую уже усвоил Claude. Подходит для переключения на совершенно новую несвязанную задачу.
Просмотр состояния контекста: /context¶
Используйте команду /context для просмотра текущего использования контекста:
/context
Ссылки на файлы через @¶
Используйте символ @ для добавления содержимого файлов в контекст:
@src/main.ts объясни функциональность этого файла
@package.json проверь версии зависимостей
@README.md
Лучшие практики:
- Добавляйте только файлы, связанные с текущей задачей, избегая лишнего контекста
- Большие файлы быстро расходуют пространство контекста, отдавайте приоритет ключевым файлам
- Используйте
CLAUDE.mdдля предоставления контекста проекта, а не повторяйте его в каждом диалоге
Ввод через конвейер¶
Передавайте вывод команд или содержимое файлов в Claude через конвейер:
# Передать содержимое файла
cat error.log | claude "проанализируй эту ошибку"
# Передать вывод команды
git diff | claude "сгенерируй сообщение коммита"
# Многострочный ввод
echo "Пожалуйста, проанализируй следующий код:
$(cat src/utils.ts)" | claude
Предотвращение переполнения при длительных сеансах¶
Симптом: E015 Internal server error¶
Когда контекст диалога приближается к пределу ёмкости модели (~95%), API Anthropic возвращает ошибку 500. QCode.cc преобразует её в ответ 429:
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
Это известное поведение API Anthropic (не уникальная проблема QCode.cc). QCode.cc преобразует вышестоящие ошибки 5xx в ответы 429, чтобы задействовать встроенный механизм повторных попыток Claude Code.
Шаги по устранению¶
-
Попробуйте
/compact: -
Если успешно, диалог может продолжаться в обычном режиме
-
Если
/compactсам выдаёт ошибку (запрос на сжатие тоже требует отправки полного контекста), выполните следующий шаг -
Выйдите и перезапустите Claude Code:
bash # Нажмите Ctrl+C или введите /exit # Затем перезапустите claude
Рекомендации по предотвращению¶
- Регулярное сжатие: запускайте
/compactзаблаговременно при заполнении контекста на 70-80%, не дожидаясь переполнения - Декомпозиция задач: разбивайте большие задачи на несколько небольших, используя отдельный сеанс для каждой
- Используйте CLAUDE.md вместо повторного копирования: записывайте контекст проекта в
CLAUDE.md— Claude автоматически прочитает его при запуске, без необходимости повторно предоставлять в каждом диалоге - Избегайте добавления больших файлов: каждый добавленный большой файл расходует значительное количество контекста, отдавайте приоритет ключевым фрагментам
- Используйте
/costдля мониторинга: команда/costпозволяет просмотреть расход token в текущем сеансе
Краткий справочник команд¶
| Команда | Действие |
|---|---|
/compact |
Сжать контекст (сохранить резюме) |
/clear |
Очистить весь контекст |
/context |
Просмотреть состояние контекста |
/cost |
Просмотреть расход token |
@путь_к_файлу |
Добавить файл в контекст |