← Модуль 3: Power User
3.6

Управление контекстом — навык #1

Цель: освоить главное что отличает отличных пользователей Claude Code от хороших. Контекст — это ресурс, относись соответственно.

Почему это главное

Полевое наблюдение: "Это навык #1 который отличает хороших пользователей Claude Code от отличных. Разница в результатах — кардинальная."

Контекстное окно — около 200K токенов (или 1M на Max). Кажется много. Но:

Одна длинная сессия + вывод тестов + чтение 30 файлов + обсуждение + итерации = окно забивается быстро.

Что происходит когда контекст заполняется

  1. Сначала очищается вывод старых инструментов
  2. Разговор автоматически сжимается
  3. Ранние инструкции могут быть потеряны

Это и есть момент когда Claude начинает "забывать" что ты ему говорил в начале.

Эффект "lost in the middle"

Даже когда контекст не переполнен — модель надёжно обрабатывает начало и конец длинного ввода, но может пропускать середину. Это не баг, это свойство трансформеров.

Следствия:

  • Важные факты класть в начало или конец блока
  • Суммирующие заголовки секций помогают
  • Обрезай вывод инструментов до релевантного

Активное управление — инструменты

КомандаКогда
/compactРучное сжатие когда разговор затянулся
/clearЧистый старт между несвязанными задачами
/costЧто ест токены и где
/memoryПроверить что загружено

Правило "2 попыток" (Золотое)

Ты просишь Claude сделать X. Не получилось. Поправляешь. Опять не получилось. Поправляешь снова.

СТОП.

После 2 неудачных попыток — контекст загрязнён ошибочными подходами. Claude ссылается на собственные ошибки как на правду. Пиши третью попытку в загрязнённый контекст — хуже чем пиши её в свежий.

Алгоритм:

  1. Попытка 1 по твоему исходному промпту
  2. Не сработало → анализируй что узнал нового
  3. Попытка 2 с уточнениями
  4. Не сработало → стоп, не третья попытка
  5. /clear
  6. Напиши новый промпт с нуля — учти что узнал в 2 попытках
  7. Начинай заново

Автор: "Я усвоил это ценой примерно 6 часов потраченного времени".

Что сохранить перед /clear

  • Ключевые находки (структура, зависимости) → скопируй в CLAUDE.md или scratchpad-файл
  • Файлы которые Claude уже определил как релевантные → упомяни в новом промпте
  • Что точно НЕ работает → кратко "не пробуй X, уже делали, не подходит"

Scratchpad pattern

Для длинных исследовательских сессий — файл-блокнот:

touch .claude-scratchpad.md

Когда Claude что-то понимает — просишь сохранить:

"write key findings to .claude-scratchpad.md so we can reference them after /clear"

Потом в новой сессии:

claude "read .claude-scratchpad.md first, then continue with [task]"

Контекст сессии свежий, но знания не потеряны.

Двойной Escape — откат

Claude пошёл не туда в последнем шаге, но контекст до этого был полезный?

Двойное Escape вызывает меню отката:

  • Отменить последнее действие
  • Вернуться дальше
  • "Сжать отсюда" — сжимает неудачную попытку, сохраняет полезное

Лучше /clear потому что не теряешь всё — только ошибку.

Субагенты как инструмент контекста

Самое эффективное что ты можешь сделать — делегировать объёмные чтения субагентам (см. урок 3.1).

Пример:

# Плохо — засоряет основной контекст
claude "run the full test suite and tell me what's broken"
# Вывод на 800 строк влезает в твой разговор
 
# Хорошо — изолированно
claude "use the Explore subagent to run tests and return a structured summary of failures"
# Вывод там, резюме здесь

Извлечение "case facts"

Для многоходовых сессий (особенно агенты клиентской поддержки) — извлекай постоянные факты в блок за пределами суммируемой истории.

Пример: номер заказа, сумма, статус, ID клиента. Эти значения нельзя терять при сжатии.

CASE FACTS (do not summarize)
- Customer ID: 12345
- Order ID: 98765
- Refund amount: $129.00
- Status: pending review
---
[sliding conversation history below]

Новая сессия vs resume

СитуацияЧто делать
Продолжаешь ту же работу/compact или claude --resume <session-id>
Новая задача в том же проекте/clear внутри сессии
Задача развернулась по-другомуНовая сессия с инъекцией сводки ключевых фактов
Контекст сильно деградировалНовая сессия, scratchpad с выводами
Параллельная альтернативная веткаclaude --resume <id> --fork-session

Антипаттерны

❌ Держать CSS-debugging + новый API endpoint в одной сессии ❌ Пропускать /clear, надеяться что "само разберётся" ❌ Дебажить в основной сессии вместо делегирования Explore ❌ Переписывать CLAUDE.md после каждого разговора — это не паттерн ❌ Игнорировать /cost — узнаешь о проблеме когда счёт придёт

Практика (15 минут)

Задача 1. Scratchpad

В текущей сессии попроси Claude сделать анализ чего-то (например, архитектуры модуля). Потом:

"write all key findings to .scratchpad.md"

Сделай /clear. Начни новую сессию:

"read .scratchpad.md first, then answer: [конкретный вопрос про анализ]"

Сравни с тем как было бы если бы ты просто сказал "вспомни что мы обсуждали" — Claude не вспомнит после clear.

Задача 2. Двойной Escape

В сессии где Claude сделал что-то странное — попробуй Esc Esc. Посмотри меню. Протестируй "сжать отсюда".

Задача 3. /cost

В длинной сессии запусти /cost. Посмотри что больше всего ест токены. Обычно это:

  • Полный вывод инструментов
  • Повторяющиеся чтения тех же файлов
  • Раздутый CLAUDE.md

Что дальше

Последний урок модуля: /loop и /schedule. Автоматизация до недели непрерывной работы. Skill превращается в персонального робота-ассистента.