Оптимизация токенов в Claude Code 2026: 5 стратегий снизить счёт API на 60-90%
Разработчик из соседнего канала на прошлой неделе показал скрин: $1,612 за месяц в Claude Code. Без особых причин — обычный pet-проект, два часа в день. Это не редкость. Логика «модель сама разберётся с контекстом» приводит к тому, что Claude в каждом запросе перечитывает огромную историю, тратит лишние токены на extended thinking и тащит в контекст файлы, которые уже не нужны.
TL;DR. Пять рычагов — prompt caching, команды /clear и /compact, осознанный выбор модели через /model, контроль extended thinking и подключение через ofox.ai с российской оплаты — суммарно режут счёт на 60–90%. Ниже — что включать, в каком порядке и как замерить эффект.
Рычаг 1. Prompt caching — 90% скидки на то, что и так пересылается
Claude API кеширует префикс запроса на стороне Anthropic. Если в следующем запросе первые N токенов совпадают с предыдущим (тот же system prompt, тот же CLAUDE.md, та же первая половина диалога), модель не пересчитывает их с нуля — берёт из кеша за ~10% от обычной цены input. TTL по умолчанию 5 минут, есть opt-in на 1 час.
В Claude Code это работает само. Не надо прописывать cache_control в запросах — клиент уже расставляет точки кеша на системном промпте, CLAUDE.md и последних сообщениях диалога. Что нужно от тебя — не ломать кеш.
Что ломает кеш:
- Каждое редактирование
CLAUDE.mdв активной сессии. Открыл, поправил абзац — следующий запрос пересчитает весь префикс целиком. - Раздутый
CLAUDE.md(500+ строк): даже если кеш попадает, ты платишь полную цену за input при первом запросе, и каждые 5 минут — снова. - Постоянное переключение моделей: кеш у Opus и у Sonnet раздельный.
Что делать:
- Держи
CLAUDE.mdпод 200 строк. Только то, что реально меняет поведение модели: команды для сборки, правила стиля, путь к тестам. Описание архитектуры, FAQ, исторические заметки — в отдельные файлы, которые Claude прочитает по необходимости. - Правки
CLAUDE.mdделай в начале сессии, не в середине. После правки имеет смысл сделать «прогревающий» простой запрос — он наполнит кеш для последующих. - Проверяй
/usage— там виден cache hit rate. Цель — устойчиво выше 70%.
Это самый прибыльный рычаг из пяти. Команды, которые подняли cache hit rate до 90%, отчитываются о падении расходов на input в 4–5 раз — без изменений в коде или модели.
Рычаг 2. /clear и /compact — никто не платит дважды за один и тот же контекст
Claude Code не сбрасывает контекст автоматически. Открыл утром, поправил баг в auth-модуле — к обеду делаешь несвязанную задачу по биллингу, а в каждом запросе всё ещё едет история про auth: файлы, диффы, обсуждение. Это лишние 10–30k токенов на каждое сообщение.
Две команды решают разные задачи:
/clear — полный сброс. Делай его при переходе на любую несвязанную задачу. Цена — пара минут на пересборку контекста (Claude перечитает нужные файлы). Экономия — десятки тысяч токенов на каждом следующем запросе.
/compact — сжатие текущей истории в саммари. Полезно, когда ты внутри одной долгой задачи (например, многофайловый рефакторинг), но контекст уже разбух. У /compact принимаются инструкции:
/compact preserve all API endpoint signatures, error logs, and the migration script we wrote
Это говорит модели, что выбросить, а что оставить в краткой выжимке. Без инструкций /compact сжимает по своему усмотрению — часто теряет важные детали.
Авто-компакция в Claude Code срабатывает у границы окна и часто слишком поздно — к этому моменту модель уже носит на себе десятки тысяч лишних токенов. Намного выгоднее запускать /compact самому, пока контекст ещё управляем, чем ждать, пока система начнёт переписывать историю под нагрузкой.
Практическое правило: запускай /clear всегда, когда задача сменилась радикально; /compact — каждые 30–40 сообщений внутри одной задачи. Между ними — /usage, чтобы понимать, где ты находишься по бюджету.
Рычаг 3. /model — Opus только когда он реально нужен
Opus в 5 раз дороже Sonnet на output. Если ты гоняешь Opus на правку шрифтов в CSS — ты сжигаешь деньги впустую.
Распределение по моделям, которое реально работает на практике:
- Sonnet 4.6 — дефолт, 70–80% задач. Правки кода, средние рефакторинги, отладка типичных багов, написание тестов. Скорость и качество достаточны для 90% разработческих задач.
- Opus 4.7 (текущая версия Opus, к которой по умолчанию резолвится алиас
opus) — сложная архитектура, многофайловые рефакторинги, отладка багов, в которых уже застрял Sonnet, проектирование API. То есть когда тебе реально нужно «подумать», а не «написать код по описанию». - Haiku 4.5 — массовые операции вроде переименований, поиска по коду, простых однострочных правок, генерации шаблонного кода. Дешёвый и быстрый, но не для логики.
Переключение прямо в сессии:
/model sonnet
или
/model opus
или
/model haiku
/model без аргументов покажет, что у тебя доступно и что включено сейчас.
Антипаттерн: «начну с Opus, чтобы наверняка». В большинстве случаев Sonnet решает задачу с первой попытки. Если не решил — переключиться на Opus всегда успеешь, при этом начальный контекст уже собран и закеширован, переключение дёшево.
Команда инженеров, которые внедрили простое правило «начинай с Sonnet, апгрейдь до Opus только при провале», сократила долю токенов Opus в общем счёте с 60% до 15%. Это само по себе режет бюджет вдвое.
Рычаг 4. Effort level — снижай, когда не нужно глубокое thinking
Claude умеет «думать вслух» перед ответом — это extended thinking. Для архитектурных решений это даёт заметный прирост качества. Для «добавь try/except к этой функции» — лишние 2–5 тысяч токенов размышлений, за которые ты платишь как за output.
В современном Claude Code основной рычаг — это adaptive reasoning + effort levels: модель сама решает, на каком шаге думать и сколько, в рамках выбранного уровня усилия. Уровни — low, medium, high, xhigh, max. По умолчанию: xhigh на Opus 4.7, high на Opus 4.6 и Sonnet 4.6.
Способы взять это под контроль:
-
/effort low— для коротких, не требующих интеллекта задач (массовое переименование, шаблонные правки).medium— экономия токенов на менее критичной работе.high— баланс.xhigh— рекомендуется по умолчанию на Opus 4.7.max— действует только в текущей сессии. Без аргумента команда открывает интерактивный слайдер.auto— сброс к дефолту модели. -
CLAUDE_CODE_EFFORT_LEVEL=lowв окружении — то же самое, но фиксируется на уровне сессии и переопределяет настройки. -
Полное отключение thinking —
MAX_THINKING_TOKENS=0выключает thinking независимо от effort. Удобно для серий однотипных задач (batch SQL-миграции, обновить 30 файлов по шаблону).
Важно:
MAX_THINKING_TOKENS=Nс другими значениями работает только в режиме фиксированного бюджета — нужно дополнительно выставитьCLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1, и только на Opus 4.6 / Sonnet 4.6. На Opus 4.7 adaptive reasoning всегда включена, и единственный рычаг —/effort.
На практике переключение с xhigh на medium на серии рутинных правок режет thinking-токены в 2–3 раза без видимой потери качества. Запомни: /effort — первая ручка, MAX_THINKING_TOKENS=0 — рубильник «вообще без размышлений».
Рычаг 5. ofox.ai — обход географии и единый счёт
Прямое подключение к Anthropic из России — без VPN на сервере и без иностранной карты — не работает. Это не ограничение Claude Code, это политика Anthropic по экспорту и оплате. Большинство команд решает через посредника.
ofox.ai — агрегатор API с OpenAI-совместимым интерфейсом, который проксирует Claude (Opus 4.7, Opus 4.6, Sonnet 4.6, Haiku 4.5), GPT, Gemini и десятки других моделей через один ключ. Оплата — через российские реквизиты, без танцев с зарубежными картами.
Подключение к Claude Code:
export ANTHROPIC_API_KEY=sk-ofox-xxxxxxxx
export ANTHROPIC_BASE_URL=https://api.ofox.ai/anthropic
claude
Дальше Claude Code ведёт себя как обычно — те же команды, тот же CLAUDE.md, та же логика prompt caching. С точки зрения SDK это всё ещё anthropic, просто endpoint другой.
Что это меняет в контексте оптимизации токенов:
- Кеширование работает — ofox прокидывает заголовки
cache_controlнапрямую. 90%-скидка на cached input сохраняется. - Один счёт на все модели — если в проекте используешь Claude для кода, GPT для текстов и Gemini для мультимодалки, не нужно держать три аккаунта и три карты.
- Прозрачное логирование — в дашборде видны токены по моделям, можно сравнить расходы Sonnet vs Opus на конкретных задачах и подкрутить распределение.
Это не строго «оптимизационный» рычаг как первые четыре — он не уменьшает количество токенов. Но он убирает фрикцию доступа и даёт инструменты замера, без которых остальные четыре стратегии работают вслепую.
Замер: без /usage всё остальное — гадание
Claude Code умеет показывать живую статистику. Базовая команда:
/usage
Покажет за текущую сессию: input токены, output, cache hit rate, потраченную сумму. Это то, на что надо смотреть после каждого внедрения.
Для постоянного видения — статус-бар. Самый быстрый способ — встроенная slash-команда:
/statusline show model, context percentage and session cost
Claude Code сам сгенерирует скрипт в ~/.claude/statusline.sh и пропишет его в ~/.claude/settings.json примерно так:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
Скрипт получает на stdin JSON с полями model.display_name, context_window.used_percentage, cost.total_cost_usd и десятками других — и печатает то, что нужно тебе. Дальше токены, контекст и стоимость текущей сессии видны постоянно — без необходимости вызывать /usage.
Полезные метрики, которые стоит смотреть еженедельно:
- Доля Opus в общем потреблении токенов. Цель: <20%.
- Cache hit rate. Цель: >70%.
- Средний размер контекста на запрос. Цель: <50k токенов.
- Доля thinking в output. Цель: <30%.
Если все четыре в норме — оптимизация работает.
Что складывать в каком порядке
Если ты только начинаешь оптимизировать — порядок такой:
- Сначала
/clearкак привычка. Это бесплатно, даёт результат с первого дня. Каждый переход к новой задаче —/clear. - Потом причёсывание
CLAUDE.md. Урезать до сути, перенести лишнее в отдельные docs. Это раз и навсегда повышает cache hit rate. - Дальше —
/modelдисциплина. Sonnet по умолчанию, Opus только когда задача реально сложная. Это самый большой денежный рычаг после caching. - Затем
/effort. Снизить доmediumилиlowдля рутинных серий правок. Для batch-задач, где thinking совсем не нужен —MAX_THINKING_TOKENS=0. - Если работаешь из РФ — подключение через ofox. Это решает доступ и даёт инструменты замера в одном пакете.
Каждый из пяти даёт от 10% до 50% экономии в зависимости от исходного состояния. В сумме разработческие команды отчитываются о сокращении счёта на 60–90% за три месяца — без изменений в качестве кода, в скорости работы или в том, какие задачи решает Claude Code.
Главное правило: маленький контекст всегда дешевле, чем оптимизированный большой. Если ты можешь сделать
/clear— сделай его. Всё остальное — настройка вокруг этого факта.


