Claude Code: кратко о главном
🎯 О чём этот конспект: Разбор официальных рекомендаций Anthropic и практических приёмов оптимизации расходов при работе с Claude Code. Автор объясняет механику prompt caching, причины инвалидации кэша, техники изоляции контекста через субагентов и даёт готовую связку настроек моделей и параметров Effort для ежедневной разработки.
👤 Кому будет полезно: Вайбкодерам, AI-инженерам и разработчикам, использующим Claude Code как через API, так и по подписке (Pro/Team/Enterprise), которые регулярно упираются в лимиты запросов или переплачивают за токены.
✨ Что получите: Пошаговый алгоритм организации сессий, команды для управления контекстом и формулу подбора моделей (Opus/Sonnet/Fable + Effort), снижающую затраты на разработку до 20 раз без потери качества генерации кода.
1. Механика Prompt Caching: как спасти кэш от протухания и сэкономить 95% стоимости
Контекст: При каждом запросе в Claude Code полная история сессии повторно передаётся в облако модели. Автоматическое кэширование промптов позволяет платить за повторные входящие токены в 20 раз меньше: например, обработка 300 000 токенов контекста стоит $0.30 вместо $6.00 без кэша. Однако кэш живёт ровно 1 час с момента последнего сообщения пользователя или агента. Если оставить терминал открытым и уйти на обед или перерыв дольше 60 минут, следующее действие перезапишет весь кэш с нуля по полному тарифу. Аналогичная проблема возникает в длинных сессиях на лимитах тарифа (например, 5x): если агент упрётся в пятичасовой лимит посередине генерации, к моменту сброса лимита кэш гарантированно протухнет, и продолжение сессии станет максимально дорогим.
Тайминг:
Выгода: Прямое снижение стоимости обработки длинного контекста в 20 раз; защита от перерасхода лимитов подписки при возобновлении прерванной работы.
Как применить:
- Шаг 1: Проверка базового контекста сессии — Terminal — Перед началом диалога выполните команду проверки базового контекста, чтобы оценить объём автоматически загружаемых данных (системные инструкции,
CLAUDE.md, описания MCP-инструментов, память):
/context- Шаг 2: Сжатие контекста перед паузой — Claude Code — Если вам нужно прервать работу более чем на 40–50 минут, обязательно выполните компактизацию текущей ветки диалога. Это сожмёт историю до краткой выжимки, пока кэш ещё горячий:
/compact- Шаг 3: Фиксация контрольной точки (Handoff) — Markdown — Если задача на паузе на длительный срок, сохраните промежуточный статус выполнения в файл документации или передаточный тикет, после чего завершите сессию:
# Session Handoff: Task [Название]
- Статус: Рефакторинг модуля авторизации завершён на 70%
- Сделано: Написаны тесты в `auth.test.ts`, обновлён контроллер
- Следующий шаг: Реализовать проверку JWT в middleware `src/auth.ts`Результат: Контекст сессии перед перерывом сжат до минимума, что предотвращает оплату десятков тысяч «мусорных» токенов при перезапуске кэша спустя 1 час.
2. Инвалидация кэша: почему нельзя менять модель и параметры посреди сессии
Контекст: Кэш промптов чувствителен к любым структурным изменениям параметров генерации и метаданных запроса. Официальная документация Anthropic указывает: смена активной языковой модели или корректировка уровня мыслительных усилий (Reasoning Effort) мгновенно очищает существующий кэш. Переключение между Opus, Sonnet или Fable посреди длинного диалога приводит к тому, что вся накопленная история повторно загружается и оплачивается по тарифу холодной записи в кэш (в 20 раз дороже). Любые переключения конфигурации должны выполняться строго в момент старта сессии, а не на переправе.
Тайминг:
Выгода: Предотвращение случайного аннулирования кэша и исключение скрытых трат токенов при переключении моделей.
Как применить:
- Шаг 1: Фиксация конфигурации на старте — Claude Code CLI — Определитесь с моделью и уровнем усилий до отправки первого промпта по задаче. Задавайте флаги конфигурации прямо в вызове команды или через настройки окружения, не меняя их интерактивно посреди отладки:
claude --model claude-3-opus-20240229- Шаг 2: Создание новой сессии при смене стека задач — Terminal — Если для сложной архитектурной задачи требовался Opus, а для написания однотипных скриптов достаточно Sonnet, не переключайте модель внутри текущего диалога. Завершите процесс и откройте чистую сессию:
exit
claudeРезультат: Все запросы в рамках задачи используют одно неизменное состояние кэша без штрафов за повторную запись.
3. Гигиена контекстного окна и дробление задач на изолированные сессии
Контекст: Непрерывное выполнение нескольких задач подряд в рамках одной сессии создаёт «жирные» контексты объёмом свыше 400 000 – 500 000 токенов. Помимо постоянной оплаты раздутого кэша, модель начинает «тупеть» из-за деградации внимания в эффективной части контекстного окна, начинает путаться в инструкциях и галлюцинировать. Дополнительно на старте каждой сессии автоматически подтягиваются файлы CLAUDE.md, MEMORY.md и схемы MCP-серверов. Если эти файлы захламлены противоречивыми правилами, качество работы падает с самого первого промпта.
Тайминг:
Выгода: Повышение точности кода, устранение галлюцинаций модели и удержание размера активного контекста в пределах оптимальных 400k–500k токенов.
Как применить:
- Шаг 1: Регулярный аудит системного контекста — Shell / Редактор — Проверьте содержимое корневого файла
CLAUDE.md. Удалите устаревшие правила, дублирующиеся команды и временные инструкции:
cat CLAUDE.md
# Очистите неактуальные правила и сократите файл до критически важных стандартов кодовой базы- Шаг 2: Правило «Одна задача — одна сессия» — Claude Code — Как только логический этап задачи завершён (код написан, тесты зелёные, коммит сделан), сбросьте сессию:
/clear- Шаг 3: Мониторинг размера окна — Claude Code — При приближении объёма диалога к отметке 400 000 токенов прекращайте наращивание контекста. Зафиксируйте код в Git и перезапустите агент с чистым контекстом.
Результат: Агент работает в зоне максимальной когнитивной эффективности модели без накопления шума от прошлых задач.
4. Архитектура субагентов: как делегировать подзадачи без раздувания главного контекста
Контекст: Большие фичи невозможно качественно реализовать в одном монолитном контексте без риска упереться в лимиты и потерять фокус модели. Решением выступает оркестрация: главный агент (например, Fable или Opus) хранит общий высокоуровневый план проекта и вызывает изолированных субагентов для локальных подзадач. Субагент может потратить 300 000 токенов на исследование документации или поиск по десятку внешних сайтов, но в родительскую сессию возвращается только результат объёмом 30 000 токенов (сжатое резюме или готовый модуль). Остальные 270 000 токенов «черновой» работы не оседают в кэше главной сессии.
Тайминг:
Выгода: Главная сессия живёт часами без разрастания контекста; экономия до 90% токенов на исследовательских и поисковых итерациях.
Как применить:
- Шаг 1: Формирование плана декомпозиции — Claude Code — Задайте главному агенту команду составить план реализации функционала с выделением независимых шагов:
Сформируй пошаговый план внедрения модуля биллинга. Разбей задачу на изолированные подзадачи:
1) Схема БД, 2) Клиент Stripe API, 3) Вебхуки. Каждую подзадачу выдели в отдельный скоуп.- Шаг 2: Запуск изолированного исполнителя — Subagent / Script — Делегируйте грязную работу (парсинг документации, анализ логов, сканирование директорий) специализированному субагенту, требуя на выходе только структурированный отчёт:
Изучи документацию в папке docs/api, найди параметры эндпоинта /v1/subscriptions и верни только готовый TypeScript-интерфейс ответа без промежуточных рассуждений.- Шаг 3: Интеграция сжатого результата в оркестратор — Claude Code — Получите лаконичный артефакт в основной сессии и переходите к следующему блоку плана, сохраняя кэш родительской сессии чистым.
Результат: Главная сессия координирует проект на основе десятков тысяч токенов вместо миллионов токенов сырых логов и временных файлов.
5. Точечный контекст через меншны @: сокращение лишних вызовов инструментов
Контекст: Когда разработчик просит агента «исправить баг в аутентификации», модель тратит токены на вызовы инструментов листинга директорий (ls, glob), поиск файлов по ключевым словам и чтение лишних документов. Каждый такой поиск порождает дополнительные tool calls в истории контекста. Если явно указать путь через собаку (@path/to/file), Claude Code монтирует содержимое файла напрямую в запрос без траты шагов на поиск и чтение диска через bash/fs-инструменты.
Тайминг:
Выгода: Устранение 5–10 лишних вызовов инструментов на старте задачи; ускорение реакции агента и экономия контекста.
Как применить:
- Шаг 1: Избегайте общих абстрактных запросов — Claude Code — Не заставляйте модель угадывать местоположение проблемы в крупном репозитории.
- Шаг 2: Прямая передача контекстного файла — Claude Code — Указывайте конкретный файл через символ
@:
В @src/modules/auth/jwt.strategy.ts поправь валидацию времени жизни токена: добавь проверку поля exp относительно текущего Unix-таймстемпа.Результат: Агент получает точный код немедленно на первом шаге и приступает к модификации без затратных поисковых итераций.
6. Оптимальный сетап моделей и уровней Reasoning Effort под TDD-разработку
Контекст: Уровень усилий (Reasoning Effort) определяет, сколько времени модель размышляет, сколько файлов проверяет и насколько далеко продвигается по сложной задаче перед тем, как запросить подтверждение пользователя. Ставить уровень Low бессмысленно — модель постоянно прерывает работу и требует подсказок, прожигая токены на повторные уточнения. Уровни High и Max по бенчмаркам (SWE-bench, DeepSWE) показывают практическое плато по качеству написания кода, но резко увеличивают расход токенов. Эффективная стратегия разделения ролей: брейншторм и архитектурный надзор на мощной конфигурации, непосредственный кодинг по TDD — на более экономном уровне, а финальное ревью — снова на максимальном.
Тайминг:
Выгода: Сокращение расхода токенов на этапе генерации кода на 30–50% при сохранении строгого контроля качества через ревью и автотесты.
Как применить:
- Шаг 1: Архитектурное планирование и брейншторм — Сессия оркестратора — Используйте флагманскую модель с дефолтным уровнем усилий (
High):- Модель: Claude 3.5 Sonnet / Opus / Fable
- Effort: High
- Цель: Детальная проработка контрактов, схемы данных и создание плана тестов.
- Шаг 2: Генерация тестов и кодинг по TDD — Сессия кодера — Написание кода под готовые тесты передайте модели со средним уровнем усилий:
- Модель: Claude 3 Opus
- Effort: Medium
- Метод: TDD (Test-Driven Development). Сначала агент пишет падающие тесты, затем реализует функционал до прохождения тестов:
# Запуск тестов для валидации шага кодинга
npm test -- src/modules/auth/jwt.strategy.test.ts- Шаг 3: Финальное код-ревью — Сессия ревьюера — Перед коммитом прогоните diff через агента с высоким уровнем усилий:
- Модель: Opus High
- Промпт:
Сделай ревью изменений в git diff. Проверь edge cases, соответствие архитектуре и безопасность реализации перед мерджем.Результат: Дорогой режим High задействован только там, где требуется максимальный интеллект (архитектура и ревью), а рутинное написание логики по тестам выполняется в экономичном режиме Medium.
Claude Code: ответы на частые вопросы
В: Работает ли кэширование промптов в платной подписке Claude Pro/Team или только через Anthropic API? О: Кэширование работает одинаково как в API, так и внутри терминального Claude Code при использовании подписки. Разница в том, что в подписке экономия выражается в сохранении лимитов сообщений (rate limits), предотвращая их преждевременное исчерпание.
В: Что происходит, когда сессия простаивает больше 1 часа? О: Время жизни кэша (TTL) составляет ровно 60 минут с момента последнего запроса. Спустя час кэш сбрасывается. При отправке следующего сообщения Claude Code заново отправит весь накопленный контекст по тарифу полной записи в кэш (в 20 раз дороже, чем чтение из кэша).
В: Чем опасна смена модели посреди выполнения задачи? О: Смена модели (например, с Opus на Sonnet) или переключение уровня Reasoning Effort приводит к немедленной инвалидации кэша сессии. Все предыдущие сообщения диалога будут читаться заново без использования старого кэша. Настраивайте модель и параметры строго перед стартом сессии.
В: Почему не рекомендуется доводить размер контекста до пределов окна в 1-2 миллиона токенов? О: Начиная с 400 000 – 500 000 токенов, модель начинает хуже удерживать мелкие детали инструкций («деградация внимания»). Сессия становится дорогой в обслуживании, агент чаще совершает ошибки и галлюцинирует. Оптимально сбрасывать контекст командой /clear или завершать сессию после закрытия каждой логической подзадачи.
В: В чём реальная польза использования синтаксиса @файл вместо обычного указания пути в тексте? О: При указании @путь/к/файлу Claude Code сразу прикрепляет файл к контексту запроса. Если просто написать путь текстом, модели потребуется потратить отдельную итерацию (tool call) на запуск инструмента чтения файла с диска, что тратит лишнее время и токены.
В: Имеет ли смысл ставить уровень Reasoning Effort на Low или Max для написания кода? О: Нет. При уровне Low модель не выполняет глубокий анализ, ленится читать связанные файлы и перекладывает работу на пользователя, требуя бесконечных уточнений. При уровне Max прирост качества решения кодовых задач относительно High минимален, однако расход токенов возрастает экспоненциально. Золотая середина — Medium для кодинга по TDD и High для архитектуры и ревью.
Claude Code: инструменты и ссылки из видео
- Claude Code Documentation — официальная документация по терминальному агенту и механизмам кэширования —
https://docs.anthropic.com - Команда
/context— встроенная утилита Claude Code для инспекции файлов и инструментов, загруженных в контекст — упомянута в видео. - Команда
/compact— системная команда Claude Code для сжатия истории активной сессии — упомянута в видео. - Бенчмарк DeepSWE / SWE-bench — открытые бенчмарки оценки качества решения реальных issue в репозиториях AI-агентами — упомянуты в видео.
- IT Гараж — сообщество и обучающие материалы автора по вайбкодингу и оркестрации субагентов — упомянут в видео.
Конспект создан на основе видео «Как сделать Claude Code в 20 раз дешевле: советы от Anthropic» канала «Несерьёзный айтишник». Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=_-EhQmG0Rd4