Оптимизация токенов в Claude Code 2026: 5 стратегий снизить счёт API на 60-90%

Оптимизация токенов в 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 раздельный.

Что делать:

  1. Держи CLAUDE.md под 200 строк. Только то, что реально меняет поведение модели: команды для сборки, правила стиля, путь к тестам. Описание архитектуры, FAQ, исторические заметки — в отдельные файлы, которые Claude прочитает по необходимости.
  2. Правки CLAUDE.md делай в начале сессии, не в середине. После правки имеет смысл сделать «прогревающий» простой запрос — он наполнит кеш для последующих.
  3. Проверяй /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.

Способы взять это под контроль:

  1. /effort low — для коротких, не требующих интеллекта задач (массовое переименование, шаблонные правки). medium — экономия токенов на менее критичной работе. high — баланс. xhigh — рекомендуется по умолчанию на Opus 4.7. max — действует только в текущей сессии. Без аргумента команда открывает интерактивный слайдер. auto — сброс к дефолту модели.

  2. CLAUDE_CODE_EFFORT_LEVEL=low в окружении — то же самое, но фиксируется на уровне сессии и переопределяет настройки.

  3. Полное отключение thinkingMAX_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%.

Если все четыре в норме — оптимизация работает.

Что складывать в каком порядке

Если ты только начинаешь оптимизировать — порядок такой:

  1. Сначала /clear как привычка. Это бесплатно, даёт результат с первого дня. Каждый переход к новой задаче — /clear.
  2. Потом причёсывание CLAUDE.md. Урезать до сути, перенести лишнее в отдельные docs. Это раз и навсегда повышает cache hit rate.
  3. Дальше — /model дисциплина. Sonnet по умолчанию, Opus только когда задача реально сложная. Это самый большой денежный рычаг после caching.
  4. Затем /effort. Снизить до medium или low для рутинных серий правок. Для batch-задач, где thinking совсем не нужен — MAX_THINKING_TOKENS=0.
  5. Если работаешь из РФ — подключение через ofox. Это решает доступ и даёт инструменты замера в одном пакете.

Каждый из пяти даёт от 10% до 50% экономии в зависимости от исходного состояния. В сумме разработческие команды отчитываются о сокращении счёта на 60–90% за три месяца — без изменений в качестве кода, в скорости работы или в том, какие задачи решает Claude Code.

Главное правило: маленький контекст всегда дешевле, чем оптимизированный большой. Если ты можешь сделать /clear — сделай его. Всё остальное — настройка вокруг этого факта.

Источники и дальнейшее чтение