Куда уходит счёт Claude Code: разбор 66 сессий одного разработчика

Терминальный агент Claude Code на каждом ходе снова отправляет в API весь накопленный контекст. Разработчик wartzarbee на Dev.to разобрал шестьдесят шесть своих платных сессий по локальным логам: суммарно $2 650,90 за 4 339 model turns. Для практики vibe coding парадокс простой: в медианной сессии лишь около 24% spend уходит на повторную отправку кэшированного контекста, а по всему пулу — уже 60%, потому что основные доллары сосредоточены в нескольких длинных marathon-сессиях.
Как считали деньги без дашборда Anthropic
Claude Code пишет локальный транскрипт каждой сессии в каталог ~/.claude/projects/. На каждом ходе в логе фиксируются счётчики токенов — input, output, cache-read, cache-write; стоимость хода — умножение на опубликованные тарифы (какие именно модели — Opus, Sonnet и т.д. — не названы).
В выборку попали 66 «реальных» сессий с фильтром cost > 0 и не менее трёх model turns на сессию. Сеть к биллингу Anthropic не использовалась: только read-only чтение логов.
Для воспроизведения выложен open-source CLI:
npx @wartzar-bee/tokenscope
Инструмент (MIT, не аффилирован с Anthropic) читает логи без телеметрии. Полные таблицы перцентилей, SVG-графики и раздел limitations — на отдельной странице бенчмарка (см. блок «Источники»). Версия CLI Claude Code в тексте не указана.
Сверки с официальным invoice или API Anthropic нет: dashboard «не объясняет себя», расчёт — локальные логи × published prices.
Пул из 66 сессий: куда ушли $2 650,90
По агрегату всех сессий доллары распределяются так:
| Категория spend | Доля пула |
|---|---|
| Re-sent context (cache-read) | 60% |
| New cached context (cache-write) | 25% |
| Output (генерация модели) | 15% |
| Fresh (uncached) input | ~0% |
На медианной сессии картина иная: только ~24% spend — на re-sent cached context; в коротких сессиях относительно больше уходят output и только что записанный контекст. Медианный spend одной сессии — $4,08 (выборка одного heavy user); медиана ~29 turns на сессию; медианный пик контекста — ~45k токенов, максимальный в выборке — 999 541, средний пик по всем 66 — 251 371.
«Сколько стоит типичная сессия агента» и «куда ушёл месячный счёт» — разные вопросы: короткие сессии не тянут общий бюджет так же, как несколько длинных.
Почему длинные сессии Claude Code раздувают счёт
Модель в агенте stateless: на каждом turn весь накопленный контекст — файлы, результаты tools, история — уходит в запрос снова. Prompt caching снижает ставку re-send (cache-read «примерно десятая» от полной input price), но платёж всё равно берётся на каждый turn за весь объём контекста.
Рост контекста × больше turns в одной сессии даёт концентрацию spend в marathon-сессиях — отсюда расхождение 60% pooled против 24% median.
Отдельно введена метрика cache efficiency: медиана ~83%, по пулу 98%. Высокая efficiency не означает низкий счёт, если агент многократно re-send огромный контекст. Смотреть нужно долю spend на re-sent context, а не только процент cache hit.
Четыре приёма, чтобы не кормить агента лишним контекстом
Практические выводы для работы с Claude Code:
/compactна длинных сессиях — compact раньше, меньше re-send на раздутом контексте.- Новая сессия при смене задачи — не тащить сотни тысяч нерелевантных токенов в каждый turn новой работы.
- Следить за ростом контекста по turn, а не только за running total — сигнал для compact или split до пика.
- Не переоценивать cache hit rate — ориентир: доля spend на re-sent context, а не одна цифра efficiency.
Это дисциплина контекст-инжиниринга для terminal agent: когда обрывать сессию, когда сжимать историю, когда не смешивать задачи в одном длинном диалоге.
Что из этого следует — и чего разбор не обещает
Данные — одного heavy user и одного набора проектов; это не перепись всех пользователей Claude Code. Конкретные $4,08 медианы и проценты могут сдвинуться у «лёгкого» пользователя, другого стека или иного price sheet.
Структурный вывод (доминирование re-sent context в длинных сессиях при stateless per-turn re-send) автор помечает как переносимый; точные перцентили — только эти 66 сессий. Разбивки по SKU моделей в доступном тексте нет.
Для команды, которая внедряет AI-assisted coding, смысл простой: счёт агента — это не «сколько токенов сгенерировали», а сколько раз и с каким объёмом вы переотправили уже накопленный контекст. Прозрачность начинается с локальных логов, а не с ощущения «модель дорогая».
Источники
- wartzarbee, «Where your Claude Code bill actually goes — I measured 66 of my own sessions» (Dev.to): Dev.to — доступ 2026-05-31T09:03:51Z
- Tokenscope benchmark (таблицы, графики, limitations): https://tokenscope.pages.dev/benchmark/ — доступ 2026-05-31T09:03:51Z