SSD Nodes Learn
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24

Что такое токены в Claude и сколько они стоят

Узнайте, почему 1 токен равен 3.5 символам и почему один сеанс Claude Code может стоить 80 000 токенов. Разбор стоимости при простое системы в 5 минут.

Что такое токены в Claude?

Токен — это единица текста, которую Claude считывает и записывает. Это фрагмент слова, примерно равный 3.5 символам английского алфавита. Согласно глоссарию Anthropic, при учете пробелов и знаков препинания на одно слово приходится более одного токена. Таким образом, 1000 слов текста составляют более 1300 токенов. Код расходует токены интенсивнее: скобки, операторы, нижние подчеркивания и отступы разбиваются на большее количество токенов на символ, чем английский текст. Файл с исходным кодом объемом в несколько сотен строк обычно занимает несколько тысяч токенов. Если агент решит прочитать файл в 2000 строк, это потребует расхода в десятки тысяч токенов еще до написания первой строки нового кода.

Пользователей часто вводят в заблуждение две особенности токенизаторов. Во-первых, они зависят от конкретной модели. По состоянию на июль 2026 года, модели Opus 4.7 и выше, Sonnet 5 и Fable 5 используют новый токенизатор. Он генерирует примерно на 30% больше токенов для того же текста, чем ранние модели Claude (точный показатель зависит от контента). Это меняет расчеты бюджета в токенах, хотя цена за один токен не изменилась. Во-вторых, tiktoken, библиотека, которую часто используют в статьях, является токенизатором OpenAI. Она занижает количество токенов для Claude примерно на 15–20% на обычном тексте и еще больше — на программном коде. Единственный достоверный способ подсчета — использование эндпоинта count_tokens, описание которого приведено ниже.

Почему стоимость вашей сессии программирования складывается из таких сумм

Любой счет за Claude, будь то инвойс за API или лимит подписки, зависит от одного показателя: количества входящих и исходящих токенов. На странице с тарифами всё выглядит просто: столько-то долларов за миллион входных токенов и столько-то за миллион выходных. Однако там не указано, что в сессии программирования с использованием агентов расход входных токенов значительно выше, чем можно ожидать. Это происходит потому, что при каждом новом шаге отправляется вся история переписки. Я занимаюсь продажей инфраструктуры с оплатой по мере использования 15 лет, и токены — это первый показатель, по которому большинство клиентов не могут точно определить причину роста затрат. Данный урок посвящен анализу потребления: что именно считается входом и выходом в агентской сессии, почему цикл повторной отправки данных так дорог, как кэширование промптов меняет математику расчетов и какие параметры на самом деле влияют на итоговую сумму.

Все является входными данными: что именно учитывает счетчик

Пользователи полагают, что оплачивают только сгенерированный Claude код. В сессии агента это составляет лишь малую часть затрат. Входные токены (input tokens) имеют более низкую стоимость за единицу, но их объем значительно выше. В них входят:

  • Системный промпт. Инструкции среды Claude Code, а также ваши файлы CLAUDE.md и файлы памяти. Они загружаются в начале сессии и передаются в каждом последующем запросе.
  • Определения инструментов (tool definitions). Все схемы инструментов, которые может вызвать агент. Каждый подключенный MCP server увеличивает эти фиксированные расходы. Однако Claude Code теперь по умолчанию откладывает полную передачу определений MCP инструментов. До первого использования инструмента в контексте передаются только его названия, что снижает, но не устраняет расходы.
  • Каждый файл, который читает агент. Чтение Read исходного файла помещает весь файл в контекст, где он остается.
  • Результат работы каждого инструмента. Результаты тестов, вывод grep, системные сообщения терминала, логи сборки — все это возвращается в качестве входных токенов. Неудачный запуск тестового набора, выводящий 8 000 строк, может стоить как небольшая книга.
  • Вся история текущего диалога, отправляемая заново на каждом шаге. Этот пункт заслуживает отдельного рассмотрения.

Повторная отправка данных увеличивает стоимость

Claude API является stateless (не сохраняет состояние). Он не запоминает сессию между запросами — ничего не сохраняется. Поэтому на шаге 2 клиент отправляет данные шага 1, свой ответ и ваше новое сообщение. На шаге 50 клиент повторно отправляет данные с шага 1 по шаг 49 — каждое прочитанное содержимое файла, каждый результат работы инструмента, каждый diff — плюс данные шага 50. Модель каждый раз заново считывает весь транскрипт, и каждый такой токен учитывается как входные данные (input).

Следствие: стоимость одного шага растет примерно линейно относительно длины сессии, а общая стоимость сессии растет примерно квадратично. Сообщение, которое на шаге 3 стоило полцента, может стоить в двадцать раз дороже на шаге 60 (при том же вопросе в одну строку), так как оно несет в себе данные за шестьдесят предыдущих шагов. Этот факт объясняет большинство обращений с вопросом «почему мой счет так велик». Это не особенность 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-token один такой «холодный» запрос стоит дороже, чем дюжина «теплых». Важно понимать этот парадокс: ритм «простой — возобновление работы» может стоить дороже, чем непрерывная работа, так как каждый перерыв сверх TTL превращает ваш следующий запрос из дешевого чтения в дорогую перезапись. Работайте короткими периодами; не отправляйте сообщения в огромной сессии раз в десять минут.

Если вы вызываете API из вашего собственного приложения на VPS, эти преимущества не предоставляются автоматически. Типичная ошибка — вставка временной метки или request 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 токенов — выходной текст, включая процесс рассуждения (thinking).

  • Чтение из кэша: 75 000 × $0.50/M = $0.0375
  • Запись в кэш: 3 000 × $6.25/M = $0.019
  • Входные данные без кэша: 2 000 × $5/M = $0.010
  • Выходные данные: 1 500 × $25/M = $0.0375

Итого: около $0.10 за запрос. Пятьдесят таких запросов составят примерно $5. Теперь рассмотрим тот же запрос после истечения срока действия кэша: полные 80 000 токенов будут перезаписаны по цене $6.25/M, что составит $0.50 еще до генерации ответа. Это примерно в пять раз больше, чем стоимость запроса с использованием кэша, при том же объеме работы. Эта разница и объясняет суть использования кэширования.

Для калибровки, а не для прогнозирования: согласно опубликованным данным Anthropic для корпоративного развертывания Claude Code по состоянию на июль 2026 года, средние затраты составляют около $13 на одного разработчика за активный день (от $150 до $250 в месяц), при этом 90% пользователей не превышают $30 в день. Ваши расходы зависят от выбора модели, чистоты сессий и размера кодовой базы; именно поэтому параметры, описанные ниже, имеют значение.

Просмотр текущего использования

В Claude Code для этого используется команда /usage (команда /cost также работает — это её псевдоним). Блок Session в верхней части экрана отображает статистику токенов и локальную оценку стоимости текущей сессии. На платных тарифных планах на этом же экране отображаются индикаторы лимитов вашего плана и детализация использования по навыкам (skills), субагентам (subagents), плагинам (plugins) и отдельным 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-ключа Anthropic применяет оплату по факту использования (pay-as-you-go) за каждый токен по опубликованным тарифам — каждое число выше означает реальные денежные затраты. При наличии подписки Claude (Pro, Max, Team, Enterprise) использование Claude Code расходует лимиты, включенные в ваш план: по состоянию на июль 2026 года это скользящее пятичасовое окно сессии плюс недельное окно, которые являются общими для всех моделей и чата claude.ai; сумма в /usage долларов является справочной, а не суммой в счете. Если лимит окна исчерпан, вы увидите сообщение "You've hit your session limit" или "You've hit your weekly limit" с указанием времени сброса лимита. Переключение моделей с помощью /model не восстановит доступ, так как окна лимитов являются общими для всех моделей. В планах можно опционально включить кредиты использования, которыми можно управлять через /usage-credits, чтобы оплатить использование сверх лимита. Я намеренно не указываю квоты планов: это самые изменчивые показатели в данной теме, поэтому проверяйте claude.com/pricing и свои собственные индикаторы /usage. Механика токенов по-прежнему важна и при подписке: неэффективная сессия расходует ваш лимит точно так же, как она расходовала бы реальные деньги. Информация по подпискам доступна в статье какой план Claude подходит для ваших задач.

Эффективные методы управления

  • Ограничивайте область чтения агента. Команда "Fix the validation bug in auth.py" считывает один файл; команда "improve this codebase" считывает сорок. Держите CLAUDE.md максимально компактным — он загружается в каждую сессию, поэтому используйте только самое необходимое. Переносите инструкции, специфичные для конкретного рабочего процесса, в skills, которые загружаются по требованию.
  • Будьте кратки и лаконичны. Используйте /clear между несвязанными задачами — устаревший контекст отправляется повторно, что ведет к повторным расходам. В рамках одной длинной задачи /compact Focus on the failing tests and the diff сокращает историю, чтобы избежать квадратичного роста затрат.
  • Выбирайте подходящий размер модели. Sonnet подходит для большинства задач программирования по цене $2/$10 за миллион токенов (при ознакомительных тарифах на июль 2026 года; стандартная цена $3/$15, в сравнении с Opus по $5/$25). Модель Haiku по цене $1/$5 подходит для механической работы субагентов, например, для анализа логов. /model позволяет переключать модели прямо во время сессии.
  • Фильтруйте избыточный вывод. Использование хука, который с помощью grep оставляет в результатах теста только ошибки перед отправкой в Claude, сокращает 20 000 токенов вывода инструментов до 300 токенов. Это происходит при каждой последующей переотправке этого шага.
  • Используйте пакетную обработку для неинтерактивных задач. Для собственных API-конвейеров — классификации, массовой проверки или ночных заданий — Batches API позволяет использовать те же модели со скидкой 50% в обмен на асинхронную доставку.
  • Учитывайте время кэширования. Работайте непрерывными циклами. Отдельная сессия Claude Code в tmux на VPS не стоит ничего в режиме ожидания — токены расходуются только при выполнении шага. Однако при простое теряется прогретый кэш, и за повторную запись контекста придется платить.

FAQ

Сколько токенов потребляет сессия кодинга в Claude Code?

Фиксированного числа не существует. Один средний ход сессии может содержать десятки тысяч токенов запроса по мере накопления файлов и истории. Общий объем рабочей сессии достигает миллионов токенов, большинство из которых обрабатывается из кэша по цене в 10 раз ниже базовой. Для справки: согласно опубликованным данным Anthropic на июль 2026 года, средние расходы в корпоративном сегменте составляют около $13 на одного разработчика за активный день, при этом 90% пользователей тратят менее $30. Запустите /usage в своей сессии; пять минут наблюдения дадут более точный результат, чем любые опубликованные средние показатели.

Платятся ли токены за «размышления» (thinking tokens), если я их не вижу?

Да. Токены размышлений тарифицируются как выходные токены (output tokens) по высокому тарифу и учитываются в рамках max_tokens. Текущие модели тарифицируют их, даже если интерфейс не отображает резюме рассуждений. Если ответ обрывается на stop_reason: "max_tokens" до завершения видимого текста, вероятно, бюджет был исчерпан из-за процесса размышления. В Claude Code можно снизить уровень сложности (effort level) с помощью команды /effort для задач, не требующих глубоких рассуждений.

Почему длинная сессия Claude Code становится дороже за каждое сообщение?

Это происходит из-за отсутствия состояния (stateless) у API: каждый ход повторно отправляет всю переписку — все прочитанные файлы, результаты работы инструментов и предыдущие сообщения — как входящие данные для тарификации. Таким образом, 50-й ход включает в себя содержимое ходов с 1 по 49. Кэширование запросов (prompt caching) позволяет обрабатывать повторяющийся префикс примерно за 1/10 от базовой цены входящих данных, но сам префикс постоянно растет. Если интервал бездействия превышает время жизни кэша (TTL), следующий ход будет тарифицироваться по полной цене. Команда /compact сокращает историю; /clear сбрасывает её.

Как проверить использование токенов и стоимость в Claude?

В Claude Code команда /usage отображает статистику токенов сессии, локальную оценку стоимости и индикаторы лимитов подписки (/cost является псевдонимом); команда /context показывает содержимое окна. Для получения точных данных о биллинге API используйте страницу использования (usage page) в Claude Console. В собственном коде используйте response.usage — сумма input_tokens, cache_creation_input_tokens и cache_read_input_tokens дает реальный размер запроса — и делайте предварительную оценку с помощью эндпоинта count_tokens, но никогда не используйте tiktoken.