SSD Nodes Learn 🎉 VPS от $4.99/мес
Руководства Matt ConnorАвтор: Matt Connor

Почему Claude такой дорогой: расчёт токенов

Выходные токены стоят в пять раз дороже входных, а каждый запрос повторно читает весь контекст. Разберите реальный сеанс и четыре способа снизить расходы.

Почему Claude стоит дорого? Краткий ответ

Claude стоит дорого по четырём причинам, которые складываются друг с другом. Токены вывода тарифицируются по ставке, в пять раз превышающей ставку для входных токенов. API не хранит историю разговора, поэтому при каждом запросе вся история отправляется заново и снова включается в счёт. Агент превращает один вопрос в десятки вызовов API, и каждый вызов содержит увеличивающуюся историю. Кроме того, стоимость frontier model определяется сложностью выполняемой работы, а не затратами на запуск небольшой модели.

Токен — это фрагмент текста. Для приблизительной оценки можно считать, что один токен содержит около четырёх символов или около 0.75 слова на английском языке. Тарифы указываются за миллион токенов и обозначаются как MTok (million tokens). Все приведённые ниже тарифы соответствуют опубликованным тарифам Claude API по состоянию на August 2026.

Большинство неожиданных счетов связано со второй и третьей причинами из этого списка. Обычно пользователи считают, что платят за ответы, которые создаёт Claude. В сеансе с агентом на генерацию текста часто приходится менее одной десятой общей суммы.

Опубликованные тарифы, чтобы согласовать цифры

ChartPublished Claude API rates, US dollars per million tokens, August 2026
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_usd": 1,
    "output_usd": 5,
    "cache_read_usd": "0.10"
  },
  {
    "label": "Sonnet 5, to Aug 31 2026",
    "input_usd": 2,
    "output_usd": 10,
    "cache_read_usd": "0.20"
  },
  {
    "label": "Sonnet 5, from Sep 1 2026",
    "input_usd": 3,
    "output_usd": 15,
    "cache_read_usd": "0.30"
  },
  {
    "label": "Opus 5",
    "input_usd": 5,
    "output_usd": 25,
    "cache_read_usd": "0.50"
  }
]

Смотрите на соотношение, а не на абсолютные значения. Для каждой модели обработка выходных данных стоит ровно в 5 раз дороже обработки входных данных. Для Opus 5 стоимость составляет 5 долларов за миллион входных токенов и 25 долларов за миллион выходных токенов. Для Haiku 4.5 — 1 и 5 соответственно. Таким образом, разница между самой дешёвой и самой дорогой моделью составляет 5 раз, и разница между чтением и записью также составляет 5 раз.

Для Sonnet 5 до 31 августа 2026 года действуют вводные тарифы 2 и 10 долларов за миллион токенов. С 1 сентября 2026 года они изменятся на 3 и 15. Тарифы меняются при выпуске новых версий моделей, поэтому проверьте актуальные значения перед составлением бюджета.

В последнем столбце указана стоимость чтения из cache. Она определяет большую часть расходов. Вернитесь к этому показателю после расчётов.

Почему токены вывода стоят в 5 раз дороже токенов ввода?

Чтение и запись требуют разного объёма вычислений. Входные токены обрабатываются за один проход. Модель сразу читает весь prompt, а вычисления выполняются параллельно для его частей. Поэтому prompt на 60,000 токенов не требует в 60,000 раз больше времени для чтения, чем prompt на 1,000 токенов.

Выходные токены создаются по одному. Для каждого нового токена требуется отдельный проход через модель, а также все предыдущие токены в качестве контекста. Запись 1,000 токенов означает 1,000 последовательных проходов. Распределить эту работу параллельно, как при чтении, нельзя. Поэтому каждый токен вывода дольше занимает оборудование.

Поэтому сокращение ответа даёт меньший эффект, чем обычно ожидают. Оно уменьшает только меньшую часть затрат на работу агента.

Почему весь диалог снова тарифицируется при каждом запросе?

Claude API не сохраняет состояние. На стороне Anthropic нет диалога, к которому добавляется одно новое сообщение. Каждый запрос содержит всю историю сообщений, и модель читает её целиком перед формированием ответа. Поэтому запрос на 30-м ходу тарифицируется с учётом ходов с 1-го по 29-й.

Это означает, что стоимость диалога растёт быстрее его длины. На 1-м ходу тарифицируется небольшой контекст. На 40-м ходу — большой. Если сложить все 40 ходов, получится, что вы заплатили за объём токенов, во много раз превышающий число фактически созданных токенов.

ChartContext size at each turn of a 40 turn agent session
The data behind this chart
[
  {
    "turn": 1,
    "context_tokens": "20,000"
  },
  {
    "turn": 5,
    "context_tokens": "32,000"
  },
  {
    "turn": 10,
    "context_tokens": "45,000"
  },
  {
    "turn": 15,
    "context_tokens": "55,000"
  },
  {
    "turn": 20,
    "context_tokens": "64,000"
  },
  {
    "turn": 25,
    "context_tokens": "74,000"
  },
  {
    "turn": 30,
    "context_tokens": "84,000"
  },
  {
    "turn": 35,
    "context_tokens": "92,000"
  },
  {
    "turn": 40,
    "context_tokens": "100,000"
  }
]

Приведённая выше сессия начинается с контекста объёмом 20,000 токенов. В него входят системный промпт, определения инструментов и первые файлы, открытые агентом. К ходу 40 контекст содержит 100,000 токенов. Если усреднить этот объём по всем 40 ходам, получится примерно 60,000 токенов, прочитанных за один запрос.

Почему агент стоит намного дороже, чем чат?

В чате на каждый вопрос приходится один запрос. У агента один запрос приходится на каждый шаг. Чтение файла — это шаг. Запуск теста — это шаг. Чтение вывода теста — это шаг. Редактирование файла — это шаг. Для coding agent сорок шагов на выполнение одной задачи — обычная ситуация.

Использование инструментов влечёт за собой ещё два вида расходов. Описания инструментов являются входными токенами каждого запроса, поскольку модели каждый раз нужно сообщать, какие инструменты доступны. Anthropic публикует эти накладные расходы: системный промпт для использования инструментов занимает 286 токенов в Opus 5 при значении tool_choice, равном auto, не считая токенов собственных схем инструментов. За некоторые серверные инструменты также взимается отдельная плата. Web search стоит $10 за 1,000 поисковых запросов сверх стоимости токенов, которые занимают результаты.

Результат каждого инструмента также навсегда добавляется в контекст. Команда, выводящая 3,000 строк, добавляет эти 3,000 строк в каждый последующий запрос в рамках сеанса. Отчёт Claude Code об использовании токенов за сеанс позволяет это увидеть: следите, как значение входных токенов растёт сразу после команды с большим объёмом вывода.

Расчёт для одного реального сеанса

Ниже приведён реалистичный час агентного программирования на Opus 5. Выполнено сорок API-запросов. Контекст увеличивается с 20,000 до 100,000 токенов, поэтому в среднем на один запрос приходится около 60,000 токенов. Модель записывает около 700 токенов на запрос. Это сочетание коротких вызовов инструментов и нескольких более объёмных блоков кода.

Requests in the session:      40
Average context per request:  60,000 tokens

Total input tokens billed:    40 x 60,000                    = 2,400,000
Input cost on Opus 5:         2,400,000 x $5 / 1,000,000     = $12.00

Total output tokens:          40 x 700                       =    28,000
Output cost on Opus 5:        28,000 x $25 / 1,000,000       =  $0.70

Session total                                                = $12.70
ChartWhere the money went in one 40 turn Opus 5 session, no caching
The data behind this chart
[
  {
    "label": "Input, context re-read",
    "billed_tokens": "2,400,000",
    "cost_usd": "12.00"
  },
  {
    "label": "Output, code and tool calls",
    "billed_tokens": "28,000",
    "cost_usd": "0.70"
  }
]

Обратите внимание на соотношение. Чтение стоит 12.00 долларов, а запись — 0.70 долларов, поэтому фактически читаемый вами вывод составляет около пяти процентов счёта. Модель записала 28,000 токенов, а за чтение ей начислена плата за 2,400,000 токенов. Никто не вводил 2.4 миллиона токенов. Те же 100,000 токенов перечитывались снова и снова.

Рычаг 1: кэширование промпта — самый значительный фактор

Кэширование промпта сохраняет обработанную форму стабильного префикса промпта. При следующем запросе этот префикс читается из кэша, а не обрабатывается заново. Запись в кэш стоит 1.25 от тарифа на входные токены для кэша на пять минут и 2 от этого тарифа для кэша на один час. Чтение из кэша стоит 0.1 от тарифа на входные токены. Для Opus 5 это 0.50 долларов за миллион вместо 5 долларов.

Примените это к описанной выше сессии. По мере роста диалога каждый из 100,000 токенов один раз записывается в кэш. Остальные 2,300,000 входных токенов становятся операциями чтения из кэша.

Tokens written to cache:      100,000
Cache write at 1.25x input:   100,000 x $6.25 / 1,000,000    = $0.63

Tokens read from cache:       2,300,000
Cache read at 0.1x input:     2,300,000 x $0.50 / 1,000,000  = $1.15

Output cost, unchanged                                       = $0.70

Session total                                                = $2.48

Пометьте кэшируемую часть полем cache_control. Установите точку прерывания после неизменяемого между запросами содержимого: системного промпта и определений инструментов. Длинный документ, к которому вы постоянно обращаетесь, должен находиться в том же стабильном блоке.

{
  "model": "claude-opus-5",
  "system": [
    {
      "type": "text",
      "text": "<long, stable instructions>",
      "cache_control": {"type": "ephemeral"}
    }
  ],
  "messages": [{"role": "user", "content": "..."}]
}

Теперь порядок элементов в промпте определяет расходы. Для попадания в кэш требуется точное совпадение с самого начала промпта, поэтому всё изменяющееся при каждом запросе должно находиться после неизменяемых элементов. Если поместить временную метку в начало системного промпта, кэш будет сбрасываться при каждом запросе: весь префикс не будет найден в кэше, и за его повторную запись придётся заплатить 1.25 от тарифа на входные токены.

Ответ показывает, сработало ли кэширование. Отправьте запрос и проверьте блок статистики использования.

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Каждый ответ содержит объект usage, например этот:

{
  "usage": {
    "input_tokens": 105,
    "cache_creation_input_tokens": 7345,
    "cache_read_input_tokens": 7123,
    "output_tokens": 239
  }
}

Если в повторном запросе по-прежнему отображается 0 в cache_read_input_tokens, значит, кэш не используется. Обычно это происходит потому, что перед точкой прерывания что-то изменилось. Кэш на пять минут также истекает, поэтому запрос, отправленный через шесть минут, не попадёт в кэш, после чего данные будут записаны заново.

Рычаг 2: передавайте простые операции меньшей модели

Большинство операций в сеансе агента несложные. Открыть файл, запустить форматтер, просмотреть diff. Для них не нужна передовая модель. Передача таких операций в Haiku 4.5 снижает стоимость входных данных с 5 долларов за миллион до 1.

ChartThe same 40 turn session under four setups, US dollars
The data behind this chart
[
  {
    "label": "Opus 5, no caching",
    "session_cost_usd": "12.70"
  },
  {
    "label": "Opus 5, cached",
    "session_cost_usd": "2.48"
  },
  {
    "label": "Sonnet 5, cached",
    "session_cost_usd": "0.99"
  },
  {
    "label": "Haiku 4.5, cached",
    "session_cost_usd": "0.50"
  }
]

Один и тот же сеанс стоит 12.70 долларов в Opus 5 без кэширования, 2.48 с кэшированием, 0.99 в Sonnet 5 с кэшированием и 0.50 в Haiku 4.5 с кэшированием. Одно только кэширование снижает счёт примерно на восемьдесят процентов. Выбор модели устраняет большую часть оставшихся расходов.

Есть важное ограничение. Если более дешёвая модель ошибётся, весь сеанс придётся повторить. Кроме того, вы потратите собственное время. Выбирайте модель по сложности задачи, а не по цене. В разделе Как выбрать между Opus, Sonnet и Haiku описано, с какими задачами лучше справляется каждая модель.

Рычаг 3: гигиена контекста

Каждый токен, который остаётся в контексте, оплачивается в каждом последующем запросе. Поэтому удалить токен в начале сессии намного выгоднее, чем удалить его в конце. Если файл размером 5,000 токенов добавить на 5-м ходу 40-ходовой сессии, модель прочитает его ещё 35 раз. Это 175,000 дополнительных входных токенов, что для Opus 5 составляет почти доллар из-за одной неосторожной вставки.

Четыре привычки помогают уменьшить это число:

  • Начинайте новую сессию для новой задачи, вместо того чтобы продолжать вчерашнюю.
  • Фильтруйте вывод шумных команд до его передачи модели. Для этого используйте, например, head -50, а не фильтруйте вывод после передачи.
  • Запрашивайте только нужную функцию, а не весь файл.
  • Если длинная сессия перестала продвигаться, запросите сводку и начните новую сессию с неё. Сводка занимает несколько сотен токенов. Расшифровка сессии — сто тысяч.

Подход 4: объединяйте в пакет всё, что не требует интерактивного режима

Batch API обрабатывает запросы асинхронно и снижает стоимость как входных, так и выходных данных на 50 процентов. Если задание не требует ответа в течение следующей секунды, отправляйте его в пакетной обработке. Это подходит для классификации, извлечения данных, суммирования накопившихся запросов и запусков оценки. Скидка за пакетную обработку суммируется со скидкой за кэширование промптов. Для интерактивной сессии это не применяется, поскольку ожидание в таком режиме невозможно.

Меня обманывают?

Именно этот вопрос обычно стоит за фразой «почему Claude такой дорогой», поэтому ответ будет прямым. Тарифы опубликованы, на стандартных уровнях они одинаковы для всех, а оплата рассчитывается за токены. В счёте нет произвольных начислений. Тарифная сетка не показывает только одного: получаете ли вы достаточную отдачу, потому что в ней оцениваются токены, а вас интересует результат.

Поэтому оценивайте стоимость результата. Описанная выше сессия без использования кэша стоила 12.70 долларов. Если в результате была выпущена функция, на реализацию которой у вас ушёл бы час, это недорого. Если за те же 12.70 долларов сессия потратила сорок ходов на повторение одного и того же, вы ничего не получили, и проблема была не в тарифе.

Именно это важно помнить. Счёт растёт пропорционально числу токенов, а не ценности результата. Продуктивная и бесполезная сессии одинаковой длины стоят одинаково. Поэтому четыре рычага важнее тарифной сетки: цену токена нельзя изменить, но вы определяете, сколько токенов потребуется для задачи.

Отслеживайте затраты на одну выполненную задачу, а не расходы за месяц. Если этот показатель снижается при настройке кэширования и маршрутизации, конфигурация улучшается, даже когда общая сумма за месяц растёт: рост связан с выполнением большего объёма работы.

Что не уменьшает счёт

Некоторые популярные советы почти не помогают. Указание модели «быть краткой» сокращает объём вывода, а вывод составлял пять процентов от суммы в примере. Сокращение собственного запроса экономит несколько сотен токенов из контекста размером 60,000 токенов. Отключение расширенного рассуждения помогает только тогда, когда токены рассуждения действительно занимают значительную долю вывода. Это видно в блоке статистики использования, поэтому не нужно делать предположения.

Большое контекстное окно само по себе не увеличивает стоимость. В Claude 4.6 и более поздних версиях полное окно размером один миллион токенов тарифицируется по стандартной ставке за токен. Поэтому запрос на 900,000 токенов имеет ту же стоимость одного токена, что и запрос на 9,000 токенов. Размер окна не определяет цену. Цену определяет содержимое окна.

Ещё два вопроса относятся к планированию, а не к отдельному сеансу. Если вы используете сервис ежедневно и в интерактивном режиме, сравните оплату за токены с фиксированным тарифом: в этом сравнении стоимости API и подписки приведён соответствующий расчёт. Если агент работает без присмотра на сервере, сначала установите жёсткий лимит расходов. Именно это рассматривается в материале управление расходами AI-агента на VPS. Чтобы оценить масштаб расходов, используйте материал что на самом деле можно получить за один миллион токенов Claude: он переводит тарифы в объём текста.

FAQ

Почему мой счёт за Claude резко вырос после начала использования агента?

Потому что агент отправляет много запросов на один вопрос, и каждый запрос содержит весь предыдущий контекст диалога. При обычном чате на один вопрос отправляется один запрос. Агент для работы с кодом отправляет по одному запросу на каждый шаг, а 40 шагов для одной задачи — обычная ситуация. Каждый из этих запросов тарифицируется с учётом полного контекста. Поэтому сессия, которая заканчивается на 100,000 токенах, в сумме может быть тарифицирована более чем за два миллиона входных токенов. Чтобы увидеть это непосредственно в ответе API, изучите input_tokens и cache_read_input_tokens.

Действительно ли кэширование prompt настолько снижает стоимость?

В разобранном примере стоимость сессии снизилась с 12.70 долларов до 2.48 долларов, поскольку чтение из кэша стоит одну десятую от тарифа на входные токены. Экономия полностью зависит от доли попаданий в кэш. При использовании кэша на 5 минут он окупается после одного чтения: запись стоит 1.25 от стоимости входных токенов, а чтение — 0.1. Если начало prompt меняется в каждом запросе, попаданий не будет, и вы напрасно заплатите повышенный тариф за запись. Прежде чем считать, что кэширование работает, проверьте это с помощью cache_read_input_tokens.

Стоит ли использовать Haiku для всех задач?

Нет. Haiku 4.5 стоит 1 долларов за миллион входных токенов, а Opus 5 — 5. Поэтому экономия действительно заметна для простых задач с большим объёмом, например классификации и маршрутизации. Ошибка в сложной задаче обходится дороже сэкономленной суммы: дополнительно оплачиваются повторный запрос и ваше рабочее время. На практике лучше использовать смешанный подход: небольшую модель — для механических операций, а передовую модель — для шага, требующего оценки и принятия решения.

API дешевле подписки Claude?

Это зависит от стабильности нагрузки. Подписка имеет фиксированную месячную стоимость и установленные ограничения использования. API оплачивается за токены без верхнего лимита. Поэтому он дешевле при небольшом или неравномерном использовании и дороже при интенсивной работе каждый рабочий день. Возьмите среднее количество токенов в день из блока статистики использования, умножьте его на тариф вашей модели и сравните результат со стоимостью тарифа.