> · 8 мин

70% токенов Claude Code уходит на мусор — 8 приёмов, которые это исправляют

70% токенов Claude Code уходит на мусор — 8 приёмов, которые это исправляют

Написание кода — самая дешёвая часть работы с Claude Code. По данным DEV Community, 70% токенов уходит на то, что агент делает до того, как написал хоть строчку: чтение файлов, поиск по репозиторию, переотправка всей истории разговора, загрузка схем MCP-серверов, которые ты не используешь.

Из этого следует неочевидный вывод: оптимизировать нужно не «как ты формулируешь задачи», а «что агент тащит в контекст перед тем как ответить».

TL;DR: 8 приёмов, которые режут расход токенов в Claude Code на 50–80%. Самый быстрый — создать .claudeignore (2 минуты, −40% к каждой сессии). Самый нестандартный — заменить бинарник на npx: баг в standalone-версии тихо отключает кеширование и может умножить стоимость в 10–20 раз.


Почему сессия дорожает со временем

Каждое сообщение в Claude Code включает гораздо больше, чем твой вопрос:

Реальный запрос = содержимое CLAUDE.md
               + вся история разговора с самого начала
               + файлы, прочитанные за сессию
               + результаты tool-вызовов (bash, поиск, grep...)
               + схемы всех подключённых MCP-серверов
               + твой текущий вопрос

Первое сообщение — ~500 токенов. Тридцатое сообщение в той же сессии — ~15 000 токенов. Одна и та же задача, только разговор успел накопить историю. Это механизм большинства неожиданно высоких счетов.


1. Баг с промпт-кешированием в standalone-бинарнике

Самый неочевидный пункт — поэтому первый.

Если ты установил Claude Code через бинарник (стандартная установка), есть известный баг: промпт-кеширование может тихо не работать. Кеширование означает, что статичный контекст — CLAUDE.md, системный промпт, открытые файлы — при повторных запросах обрабатывается с 90%-ной скидкой. Без кеша каждый запрос пересчитывает весь этот контекст с нуля по полной цене.

Итог: стоимость сессии в 10–20 раз выше нормальной при полностью идентичных задачах.

Фикс — переключиться на npx-версию:

alias claude='npx @anthropic/claude-code'

Добавь в .bashrc или .zshrc. Промпт-кеш заработает корректно.

Как проверить работу кеша: запусти /cost после нескольких сообщений подряд. Если стоимость каждого следующего сообщения растёт пропорционально истории без видимых скидок — кеш не работает.


2. .claudeignore — две минуты, −40% к каждой сессии

Агент не знает, какие файлы тебе нужны. Без подсказки он читает всё подряд — включая node_modules, dist, build, .next и всё остальное, что не имеет отношения к задаче.

Реальный пример из Next.js-проекта (Andrei Nita):

  • node_modules/ — 847 000 строк
  • .next/ — 124 000 строк
  • Реальный исходный код — 8 900 строк

Агент обрабатывал 93% нерелевантного кода до того, как ты написал хоть что-то. Токенов при старте сессии: 347 000 → после .claudeignore: 19 800.

# .claudeignore
node_modules/
.next/
dist/
build/
*.log
.cache/
.git/
package-lock.json
yarn.lock
pnpm-lock.yaml
*.csv
*.pdf

Для команды из 5 человек с 20 сессиями в день — это ~$98 экономии в день только от одного файла.


3. CLAUDE.md: убей монолит, создай индекс

CLAUDE.md читается на каждом сообщении. Каждом. Тысячестрочный файл с документацией API, примерами кода и гайдами по стилю — это тысяча строк токенов при каждом обращении к агенту.

Один разработчик нашёл, что его CLAUDE.md загружает 42 000 токенов за сообщение. После реструктуризации — 2 400 токенов. Снижение на 94%.

Принцип: CLAUDE.md как индекс, не как энциклопедия.

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

## API Reference
POST /auth/login
Params: email (string, required), password (string, min 8)
Response: { token: string, expires_in: number }
... (ещё 800 строк)

Правильно:

## Core
Stack: Node.js + Express + PostgreSQL. Пакетный менеджер: pnpm.
Не трогать: migrations/, .env

## Детали — читай при необходимости
- API contracts → /docs/api-contracts.md
- DB schemas → /docs/data-models.md
- Deployment → /docs/deployment.md

## Жёсткие правила
1. Тесты проходят до коммита
2. Никаких секретов в коде

Детальные файлы загружаются только когда агент к ним явно обращается. CLAUDE.md — не больше 200 строк.


4. MCP-жор: отключи то, что не используешь

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

Реальные цифры из анализа Roman Peschke:

  • GitHub MCP — ~8 000 токенов за сообщение
  • Playwright MCP — ~13 000 токенов
  • Gmail MCP — ~2 600 токенов

Три неиспользуемых сервера = 26 000 токенов на каждое сообщение. За 10 сообщений — 260 000 токенов, которые не сделали ничего.

Проверь, что подключено: напиши /mcp в Claude Code. Всё, что не нужно прямо сейчас — отключи. Если есть CLI-альтернатива — используй CLI.


5. /clear и /compact — правильные моменты

Два самых важных инструмента управления контекстом, которые большинство либо не использует совсем, либо использует слишком поздно.

/clear — обнуляет историю разговора полностью. Следующий запрос начинается с чистого листа: только CLAUDE.md + твой вопрос. Используй между несвязанными задачами.

/compact — сжимает историю в краткое резюме вместо полной копии. Типичное снижение: с 20 000+ токенов до 2 000–3 000. Используй когда задача ещё не закончена, но сессия затянулась.

Важный момент: запускать /compact нужно при 60% заполнения контекста, а не при 95%. По умолчанию автокомпакт срабатывает ближе к концу — к тому моменту агент уже страдает от «loss in the middle»: начинает игнорировать данные из середины огромного контекста. Компактируй раньше.

И обязательно с инструкцией:

/compact Сохрани: финальную схему БД и логику JWT-аутентификации

Без инструкции резюме сфокусируется на последних действиях и может потерять ключевые решения из начала сессии.


6. Efficiency header в CLAUDE.md

На Hacker News завирусился GitHub-репозиторий drona23/claude-token-efficient — заголовок для CLAUDE.md, который убирает словесный мусор из ответов агента.

# Response Efficiency

CRITICAL: Minimize output tokens.
- No preamble: just do it, don't announce what you're about to do
- No recap: don't summarize what you just did
- No meta-commentary: no "Great question!" or "Certainly!"
- Truncate unchanged code: use `// ... existing code`
- Simple tasks = one-sentence confirmation only

Репозиторий заявляет о снижении на 63%. Реальный тест на неделе обычной разработки дал другие цифры: разговорные ответы — на ~40% короче, правки кода — на ~30%, сложные объяснения — на ~10%. Средняя экономия на обычном миксе задач — около 35%. Меньше, чем в рекламе, но реальная.

Добавь этот блок в начало CLAUDE.md.


7. /model — Haiku для формат-задач, Opus для архитектуры

Переключение модели не сбрасывает историю разговора. Можно прямо в середине сессии написать /model и выбрать другую модель для конкретного шага.

Haiku стоит в 3 раза дешевле Sonnet за токен. Для задач «переформатируй этот JSON», «напиши JSDoc», «переименуй переменную» — полный Sonnet избыточен.

Рабочая схема:

  • Sonnet — 80% задач: написание кода, рефакторинг, дебаггинг
  • Haiku — форматирование, документация, мелкие правки
  • Opus — архитектурные решения, сложный дебаг с несколькими гипотезами

Переключись, сделай дешевле, вернись обратно.


8. Конкретные промпты вместо «поищи по проекту»

Расплывчатый промпт «почини баг в авторизации» заставляет агента открыть 10–15 файлов, каждый из которых стоит 1 000–5 000 токенов — только чтобы найти, где именно проблема. В задокументированном случае Morph правка из одной строки потребовала 21 000 токенов, потому что агент самостоятельно искал контекст.

Конкретный промпт:

В src/auth/validate.ts, строка 42: JWT expiry check сравнивает Date.now()
(миллисекунды) с полем expires, которое в Unix-секундах.
Исправь сравнение.

Используй @filename для прямых ссылок на файлы:

Посмотри @src/lib/data.ts строки 45-80 — там тип getAllTools выглядит неправильно

Это сразу показывает агенту куда смотреть, без разведки по репозиторию.


Подводные камни

Баг с кешем актуален не для всех версий. Если ты обновился до последней версии Claude Code и используешь npx — кеш, скорее всего, уже работает. Но проверить через /cost стоит в любом случае: показатель cache hit rate виден прямо в выводе команды начиная с версии 2.1.92.

Efficiency header ломает сложные объяснения. «Без преамбул и резюме» отлично работает для рутинных правок. Если ты отлаживаешь нетривиальный баг, где важно понимать ход мысли агента — временно убери эти правила. 10% экономии на сложных задачах не стоят потери прозрачности.

Промпт-кеш сбрасывается после 5 минут неактивности. Ушёл на обед — следующий запрос пересчитывает весь контекст по полной цене. Кеш не ждёт. Если уходишь дольше пяти минут, лучше сохранить состояние через /compact перед уходом.

Sub-agents = в 7–10 раз больше токенов. Каждый субагент запускает своё независимое контекстное окно с нуля. Для открытых задач типа «найди все баги в проекте» — дорого. Используй субагентов только для чётко ограниченных изолированных задач: «проверь файлы в src/models/ на опечатки в названиях методов».


Вердикт

Из восьми приёмов три дают 80% эффекта: фикс бинарника (потенциально самый дорогой баг, который сейчас не виден), .claudeignore (2 минуты работы), разрезание CLAUDE.md с отключением лишних MCP. Остальное — хорошие практики поверх основных.

Efficiency header и /model-переключение дают реальную экономию, но требуют изменить привычки. Конкретные промпты с @filename — это уже оптимизация, которая имеет смысл после того как закрыты главные утечки.


Как попробовать прямо сейчас

  1. Проверь кеширование. Запусти which claude. Если путь не через npx — добавь alias claude='npx @anthropic/claude-code' в .bashrc/.zshrc.

  2. Создай .claudeignore. Минимальный вариант: node_modules/, .next/, dist/, *.log, package-lock.json. Это займёт минуту.

  3. Запусти /context в свежей сессии. Посмотри, что занимает больше всего места — CLAUDE.md или MCPs. Это покажет, где искать самую большую утечку.

  4. Напиши /mcp и отключи всё, что не нужно прямо сейчас.

  5. Добавь efficiency-header из раздела #6 в начало CLAUDE.md.

Официальные доки по расходам: Managing Claude Code costs, CLAUDE.md reference

$ ls ./related/

Похожие статьи

caveman-claude-skill.md
Caveman Claude — Claude Code skill, который говорит как неандерталец и экономит 75% output-токенов
> · 9 мин

Caveman Claude — Claude Code skill, который говорит как неандерталец и экономит 75% output-токенов

Мем с Reddit про «научил Claude говорить как пещерный человек» за неделю стал Claude Code skill с 13 тысячами звёзд. Считаем, сколько реально экономит (спойлер: не 75%), как ставить и кому не подходит.

ai llm anthropic open-source
claude-code-senior-config.md
Конфиг сеньора для Claude Code — 9 настроек, после которых агент перестаёт тупить и жечь токены
> · 10 мин

Конфиг сеньора для Claude Code — 9 настроек, после которых агент перестаёт тупить и жечь токены

CLAUDE.md под 80 строк, .claudeignore на 30-40% экономии, субагенты на Haiku и effort level, который молча откатывается. Практический гайд по настройке Claude Code для тех, кто уже прошёл фазу «просто спроси AI».

ai claude-code productivity tips
claude-managed-agents.md
Claude Managed Agents — $0.08 в час за инфраструктуру, которую вы строили бы три месяца
> · 8 мин

Claude Managed Agents — $0.08 в час за инфраструктуру, которую вы строили бы три месяца

Anthropic запустила Managed Agents — облачную инфраструктуру для продакшен-агентов с sandbox, Vaults, MCP и трейсингом. Разбираем архитектуру brain/hands, цены и альтернативы.

ai agents claude anthropic
subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe