Что такое токены в Claude и как рассчитывается стоимость
Узнайте, как Claude считает токены в коде и почему стоимость сессии возрастает. Разбираем влияние новых токенизаторов моделей Sonnet 5 и Fable 5 на ваш бюджет и лимиты использования.
Что такое токены в Claude?
Токен — это единица текста, которую Claude считывает и записывает. Это фрагмент слова, примерно равный 3.5 символам английского текста. Данная цифра взята из собственного глоссария Anthropic. С учетом пробелов и знаков препинания на одно слово приходится более одного токена, поэтому тысяча слов обычного текста составляет значительно больше 1300 токенов. Код требует больше токенов на строку: фигурные скобки, операторы, символы подчеркивания и отступы разбиваются на большее количество токенов на символ, чем английский язык. Исходный файл на несколько сотен строк обычно занимает несколько тысяч токенов. Если агент решает прочитать файл на 2000 строк, это потребует пятизначного количества токенов еще до того, как будет написана хотя бы одна строка нового кода.
Два аспекта работы токенизаторов часто вводят пользователей в заблуждение. Во-первых, они зависят от конкретной модели. По состоянию на июль 2026 года, Opus 4.7 и более поздние версии, Sonnet 5 и Fable 5 используют новый токенизатор, который генерирует примерно на 30% больше токенов для того же текста, чем предыдущие модели Claude (точное увеличение зависит от контента). Это меняет любые бюджетные расчеты в токенах, даже несмотря на то, что цена за токен не изменилась. Во-вторых, tiktoken — библиотека, которую упоминают в каждом блоге — является токенизатором OpenAI. Она занижает количество токенов для Claude примерно на 15–20% для обычного текста и еще сильнее для кода. Единственный надежный способ подсчета — это эндпоинт count_tokens, который описан ниже.
Почему сессия программирования стоит именно столько
Любой счет от Claude, будь то инвойс за API или лимит подписки, формируется на основе одного показателя: входящие и исходящие токены. На странице с ценами всё выглядит просто: фиксированная сумма за миллион входных токенов и за миллион выходных. Однако там не сказано, что в агентской сессии программирования счетчик входящих токенов растет гораздо быстрее, чем кажется, поскольку вся история диалога отправляется заново на каждом шаге. Я занимаюсь продажей инфраструктуры с тарификацией по потреблению уже 15 лет, и токены — это первый ресурс, где большинство клиентов искренне не понимают, что именно расходует лимиты. Это урок по чтению счетчиков: что считается вводом и выводом в агентской сессии, почему цикл повторной отправки так дорого стоит, как prompt caching меняет математику расчетов и какие рычаги действительно влияют на итоговую сумму.
Всё есть входные данные: что именно учитывает счетчик
Пользователи полагают, что платят за код, который пишет Claude. В агентской сессии это лишь малая часть расходов. Входные токены стоят дешевле, но их объем значительно выше, и они включают:
- Системный промпт. Инструкции для среды выполнения Claude Code, а также ваши файлы
CLAUDE.mdи файлы памяти. Они загружаются при старте сессии и присутствуют в каждом последующем запросе. - Определения инструментов. Каждая схема инструмента, который может вызвать агент. Каждый подключенный MCP-сервер увеличивает эти фиксированные накладные расходы. Claude Code теперь по умолчанию откладывает загрузку полных определений инструментов MCP, поэтому в контексте до первого использования инструмента находятся только его имя, что снижает, но не исключает затраты.
- Каждый файл, который читает агент. Команда
Readдля исходного файла помещает его содержимое целиком в контекст, где оно и остается. - Результат работы каждого инструмента. Запуски тестов, вывод grep, данные из терминала, логи сборки — всё это возвращается в виде входных токенов. Непройденный набор тестов, выводящий 8000 строк, по стоимости будет равен небольшой книге.
- Вся история диалога, отправляемая повторно на каждом шаге. Этот пункт заслуживает отдельного раздела.
Почему повторная отправка данных влияет на стоимость
Claude API является stateless-интерфейсом. Он не сохраняет состояние сессии между запросами. Поэтому на втором шаге диалога клиент отправляет историю первого шага, полученный ответ и новое сообщение. На пятидесятом шаге клиент повторно отправляет историю с первого по сорок девятый шаг, содержимое всех прочитанных файлов, результаты работы инструментов, все diff-патчи и само пятидесятое сообщение. Модель каждый раз заново считывает всю историю переписки, и каждый такой повторно прочитанный токен оплачивается как входной.
Следствие: стоимость одного шага диалога растет примерно линейно по мере увеличения длины сессии, а общая стоимость сессии растет примерно квадратично. Сообщение, которое на третьем шаге стоило полцента, на шестидесятом шаге может стоить в двадцать раз больше при том же однострочном вопросе, так как оно несет в себе «груз» из шестидесяти предыдущих шагов. Это единственный факт, объясняющий большинство обращений в поддержку с вопросом «почему мой счет такой большой». Это не особенность Claude: любой LLM-продукт, создающий иллюзию сохранения состояния, на самом деле является stateless API с циклом повторной отправки данных внутри.
Вывод: что вы видите, плюс скрытые рассуждения
Токены вывода — самые дорогие, их стоимость в пять раз превышает стоимость входных токенов во всей текущей линейке ($5/$25 для Opus 4.8, $3/$15 для Sonnet 5, $1/$5 для Haiku 4.5 по состоянию на июль 2026 года). Вывод включает текст и код, генерируемые Claude, а также токены рассуждений (thinking tokens): внутренний процесс логического вывода, который модель выполняет перед ответом. Здесь важны два факта. Рассуждения оплачиваются по тарифам вывода и учитываются в max_tokens; ответ API, который завершается с stop_reason: "max_tokens", и обрезанный ответ часто означают, что бюджет был исчерпан на рассуждения до того, как был сформирован сам ответ. В текущих моделях краткое изложение процесса рассуждений может вообще не отображаться (Opus 4.8, Sonnet 5 и Fable 5 скрывают его по умолчанию), но процесс рассуждений всё равно происходит и оплачивается. То, что вы не видите процесс, не означает, что он бесплатен.
Claude Code включает расширенные рассуждения по умолчанию, так как это заметно улучшает выполнение многоэтапных задач, при этом бюджет по умолчанию может достигать десятков тысяч токенов на запрос. Для простых задач вы можете уменьшить этот объем: снизить уровень усилий с помощью /effort или в /model, либо настроить параметры рассуждений в /config. Это реальный рычаг управления расходами, а не суеверие.
Кэширование промптов меняет экономику
Кэширование промптов — это причина, по которой цикл повторной отправки запросов не приводит к финансовым потерям. API может кэшировать стабильный префикс вашего промпта, системный промпт, определения инструментов и историю диалога, а при следующем запросе обработать его за малую часть стоимости. По состоянию на июль 2026 года множители следующие: запись в кэш стоит 1.25× от базовой стоимости входных данных (2× для варианта с хранением 1 час), а чтение из кэша — 0.1×. Запись стоит дороже, а чтение дает скидку 90%. Одно чтение уже окупает наценку за 5-минутную запись.
Claude Code управляет кэшированием за вас, и при активной сессии почти весь объем повторно отправляемых данных считывается из кэша. Однако кэш по умолчанию живет пять минут с момента последнего использования. Если вы отлучились на долгий перерыв, вернулись и отправили сообщение, кэш успел истечь, и весь накопленный префикс будет записан заново по цене 1.25× вместо чтения за 0.1×. Для сессии объемом 150K токенов один такой «холодный» запрос стоит дороже, чем десяток «теплых». Это контринтуитивный результат, который важно усвоить: ритм «простой — возобновление» может стоить дороже, чем непрерывная работа, так как каждый перерыв, превышающий TTL, превращает ваш следующий запрос из дешевого чтения в дорогую перезапись. Работайте сессиями; не отправляйте сообщения в огромную сессию по одному разу в десять минут.
Если вы обращаетесь к API из вашего собственного приложения на VPS, вы не получаете эти преимущества автоматически. Типичная ошибка — вставка временной метки или ID запроса в системный промпт. Это меняет байты префикса в каждом запросе и незаметно отключает кэширование. Признак проблемы — usage.cache_read_input_tokens, значение которого остается нулевым при внешне идентичных вызовах.
Формула и пример расчета
Не доверяйте заявлениям о том, что «сессия стоит X долларов». Стоимость сессий различается на два порядка. Верной является следующая формула:
turn cost = (uncached input x base input price)
+ (cache writes x 1.25 x base input price)
+ (cache reads x 0.10 x base input price)
+ (output incl. thinking x output price)
session cost = sum over all turnsПример расчета для Claude Opus 4.8, стоимость которого по состоянию на июль 2026 года составляет 5 долларов за миллион входных токенов и 25 долларов за миллион выходных. Рассмотрим шаг сессии с накопленным контекстом в 80 000 токенов: 75 000 прочитано из кэша, 3 000 записано в кэш, 2 000 — новые входные данные без кэширования, 1 500 — выходные токены, включая процесс «мышления».
- Чтение из кэша: 75 000 × 0,50 долл./млн = 0,0375 долл.
- Запись в кэш: 3 000 × 6,25 долл./млн = 0,019 долл.
- Входные данные без кэширования: 2 000 × 5 долл./млн = 0,010 долл.
- Выходные данные: 1 500 × 25 долл./млн = 0,0375 долл.
Итого около 0,10 долл. за один шаг; пятьдесят таких шагов обойдутся примерно в 5 долларов. Теперь рассмотрим тот же шаг после истечения срока действия кэша: все 80 000 токенов перезаписываются по цене 6,25 долл./млн, что составляет 0,50 долл. до учета выходных токенов — это примерно в пять раз дороже, чем при «разогретом» кэше, при идентичном объеме работы. Эта разница и есть суть кэширования в одном числе. Эти четыре строки — единственный честный способ сравнения поставщиков, так как базовые тарифы полностью игнорируют чтение из кэша и затраты на «мышление», а их применение к трем реальным задачам показывает в каких случаях счет от Claude оказывается выше или ниже счета от OpenAI.
Если вам нужно понять суть единицы тарификации, а не стоимость одного шага, то в разделе во что превращается миллион токенов в страницах, файлах и долларах приведена та же арифметика на уровень выше. Для калибровки, а не прогнозирования: опубликованные Anthropic данные по корпоративным внедрениям Claude Code на июль 2026 года показывают средний расход около 13 долларов на разработчика в активный день, или 150–250 долларов в месяц, при этом 90% пользователей тратят менее 30 долларов в день. Итоговая сумма зависит от выбора модели, гигиены сессий и размера кодовой базы — именно поэтому важны рычаги управления, описанные ниже.
Просмотр статистики использования
В Claude Code используется команда /usage (/cost также работает, это псевдоним). Блок Session в верхней части экрана отображает статистику токенов и локально рассчитанную стоимость текущей сессии. При наличии подписки на этом же экране отображаются индикаторы лимитов вашего тарифного плана, а также детализация использования, распределенная по навыкам, субагентам, плагинам и отдельным MCP-серверам. Для получения точных данных о биллинге в аккаунтах API используйте страницу использования в Claude Console — она является единственным достоверным источником, тогда как данные в CLI — это лишь оценка. Команда /context выводит цветную сетку того, что занимает контекстное окно: системный промпт, инструменты, определения MCP, файлы и историю. Это самый быстрый способ обнаружить перегруженный CLAUDE.md или слишком «разговорчивый» MCP-сервер. Используйте флаг all, чтобы развернуть полную детализацию по каждому элементу.
При работе через API каждый ответ содержит точные данные о том, что произошло:
response = client.messages.create(model="claude-sonnet-5", max_tokens=2048,
messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
f"read={u.cache_read_input_tokens} output={u.output_tokens}")Обратите внимание, что input_tokens — это только некэшированный остаток. Истинный размер промпта равен сумме всех трех полей ввода. Агент, который работал час и показал input_tokens: 4000, не является дешевым в использовании: остальные 200,000 токенов были получены из кэша. Чтобы оценить стоимость перед отправкой запроса, используйте эндпоинт для подсчета токенов. Его вызов бесплатен, он имеет собственный лимит запросов и выполняет подсчет с использованием токенизатора выбранной вами модели (считайте результат близкой оценкой; биллинг основывается на реальном запросе):
count = client.messages.count_tokens(model="claude-sonnet-5",
messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)Никогда не используйте tiktoken по указанной выше причине.
Подписочные планы против оплаты по факту использования
Механика работы в этом руководстве везде одинакова; различается только порядок расчетов. При использовании API key компания Anthropic выставляет счета по факту использования, за каждый токен, по опубликованным тарифам; все приведенные выше цифры — это реальные деньги. Тарификация начинается раньше, чем ожидает большинство пользователей, так как бесплатного уровня (free tier) не существует. Есть только небольшой кредит при регистрации и несколько эндпоинтов, которые не тарифицируются — это то, что получает новый аккаунт API до привязки банковской карты. При наличии подписки Claude (Pro, Max, Team, Enterprise) использование Claude Code расходуется из включенного в ваш план лимита: по состоянию на июль 2026 года это скользящее пятичасовое окно сессии плюс недельное окно, общие для всех моделей и чата claude.ai, а сумма в /usage носит информационный характер, а не является счетом к оплате. Если окно исчерпано, вы увидите сообщение "You've hit your session limit" или "You've hit your weekly limit" с указанием времени сброса, и переключение моделей с помощью /model не восстановит доступ, так как окна общие для всех моделей. Эти окна привязаны к аккаунту, а не к клиенту, в котором вы работаете; это стоит учитывать, если вы еще разбираетесь, что работает на Linux нативно и какой план покрывает каждую из платформ. То, какое именно из двух окон вы исчерпали, определяет длительность ожидания и то, чем стоит заняться в это время, поэтому полезно знать ваши варианты действий при достижении лимита в процессе работы. В планах можно опционально включить использование кредитов, управляемых через /usage-credits, для оплаты использования сверх установленного лимита. Я намеренно не привожу квоты для планов: это самые изменчивые цифры во всей теме, поэтому проверяйте claude.com/pricing и свои собственные индикаторы /usage. Механика токенов важна и при подписке: неэффективная сессия расходует ваше окно точно так же, как она расходовала бы доллары. Информацию о подписках см. в какой план Claude соответствует вашему уровню использования.
Действенные рычаги управления
- Ограничивайте область чтения агента. Запрос «исправь ошибку валидации в
auth.py» затрагивает один файл, а «улучши эту кодовую базу» — сорок. ПоддерживайтеCLAUDE.mdв компактном состоянии: этот файл загружается в каждую сессию, поэтому оставляйте в нем только самое важное, а специфические для рабочих процессов инструкции выносите в навыки, которые загружаются по требованию. - Соблюдайте чистоту и лаконичность.
/clearмежду несвязанными задачами: устаревший контекст повторно отправляется и оплачивается при каждом последующем сообщении. В рамках одной длительной задачи используйте/compact Focus on the failing tests and the diffдля обобщения истории, чтобы избежать квадратичного роста потребления токенов. - Выбирайте модель подходящего размера. Sonnet справляется с большинством задач программирования по цене $2/$10 за миллион токенов согласно вводным тарифам на июль 2026 года ($3/$15 по прайс-листу, в сравнении с $5/$25 у Opus), а Haiku по цене $1/$5 — подходящий инструмент для механической работы агентов, например, для сортировки логов. Fable 5 находится на другом конце спектра с ценой $10/$50, что вдвое дороже Opus, поэтому стоит понимать, какие задачи действительно оправдывают такую стоимость, прежде чем оставлять эту модель для рутинной работы.
/modelпозволяет переключать модели прямо во время сессии. - Предварительно фильтруйте объемный вывод. Хук, который с помощью grep оставляет в результатах тестирования только ошибки перед тем, как их увидит Claude, превращает 20000 токенов вывода инструментов в 300. Это экономит токены при каждой последующей отправке этого этапа диалога.
- Пакетная обработка для неинтерактивных задач. Для собственных API-конвейеров, классификации, массовой проверки или ночных заданий используйте Batches API: он предоставляет доступ к тем же моделям со скидкой 50% в обмен на асинхронную доставку результатов.
- Учитывайте время жизни кэша. Работайте непрерывными сессиями. Запущенная сессия Claude Code в tmux на VPS ничего не стоит в режиме ожидания, токены расходуются только при выполнении запроса. Однако при простое «теплый» кэш теряется, и следующий запрос потребует его повторной записи, что приведет к дополнительным расходам.
FAQ
Сколько токенов расходует сессия программирования в Claude Code?
Фиксированного числа нет. Один запрос в середине сессии часто содержит десятки тысяч токенов промпта по мере накопления файлов и истории, а рабочая сессия в целом может достигать миллионов токенов. Большая их часть обрабатывается из кэша по цене, составляющей одну десятую от базового тарифа. Для ориентира: опубликованные Anthropic корпоративные показатели на июль 2026 года составляют в среднем около $13 на разработчика в день активной работы, при этом у 90% пользователей затраты не превышают $30. Запустите /usage в своей сессии; пять минут наблюдения за этим показателем дадут больше информации, чем любые опубликованные средние значения.
Платные ли токены «мышления» (thinking tokens), если я их не вижу?
Да. Токены «мышления» тарифицируются как выходные токены (по более высокой ставке) и учитываются в лимитах max_tokens. Текущие модели выставляют за них счет, даже если интерфейс скрывает процесс рассуждения от пользователя. Если ответ прерывается сообщением stop_reason: "max_tokens" до завершения видимой части, значит, бюджет был исчерпан процессом «мышления». В Claude Code снизьте уровень усилий с помощью /effort для задач, не требующих глубоких рассуждений.
Почему длинная сессия Claude Code становится дороже с каждым сообщением?
Потому что API не сохраняет состояние: каждый запрос повторно отправляет всю историю диалога, все прочитанные файлы, результаты работы инструментов и предыдущие обмены данными. В результате 50-й запрос несет в себе «груз» всех предыдущих 49 запросов. Кэширование промптов позволяет обрабатывать повторяющийся префикс примерно за одну десятую от базовой стоимости входных токенов, но сам префикс постоянно растет. Любая пауза, превышающая время жизни кэша (TTL), приводит к тому, что следующий запрос оплачивается по полной стоимости как новый. Команда /compact сокращает историю, а /clear сбрасывает её.
Как проверить использование токенов и расходы в Claude Code?
В Claude Code команда /usage выводит статистику токенов сессии, локальную оценку стоимости и индикаторы лимитов подписки (/cost является псевдонимом этой команды). Команда /context показывает, что именно заполняет контекстное окно. Для получения официальных данных о биллинге API используйте страницу использования в консоли Claude Console. В собственном коде считывайте response.usage: суммирование input_tokens, cache_creation_input_tokens и cache_read_input_tokens дает точный размер промпта. Оценивайте объем заранее с помощью эндпоинта count_tokens, никогда не используйте для этого tiktoken.