jsonscraper

Как считать расход токенов Responses API: вход, выход, кэш и обдумывание

Практический учёт usage: как проверить экономию после оптимизации промпта, истории и reasoning.

После сокращения промпта проверяйте экономию по usage каждого ответа и стоимости всей задачи. Короткий ответ может сопровождаться существенным расходом на обдумывание, а продолжение разговора — повторным учётом истории. Для контроля бюджета разделите объём токенов, тарифные категории и число вызовов, потребовавшихся для результата.

Как считать расход токенов Responses API: вход, выход, кэш и обдумывание
Context: Разбираем счётчики Responses API, повторный учёт контекста и формулу стоимости. Reasoning уже включён в output_tokens; кэшированные токены входят во вход, а запись кэша может тарифицироваться отдельно.
Visual subject: Одна общая AI-обложка для русской, английской и немецкой версий. Фотореалистичный редакционный натюрморт: на рабочем столе разработчика четыре группы небольших полупрозрачных стеклянных жетонов; внутр
© jsonscraper · создано с ИИ

Четыре счётчика и их вложенность

В примере объекта usage OpenAI показывает вход, выход и детализацию обоих счётчиков. Читайте их так:

  • input_tokens — общий объём входных токенов данного вызова, включая контекст, который используется для продолжения разговора.
  • input_tokens_details.cached_tokens — часть входа, обслуженная из кэша. Она уже включена в input_tokens.
  • output_tokens — общий объём сгенерированных токенов, включая обдумывание.
  • output_tokens_details.reasoning_tokens — часть выхода, потраченная на обдумывание.

Reasoning-токены уже входят в output_tokens; прибавлять их к выходу второй раз нельзя. OpenAI учитывает их по тарифу выходных токенов. Аналогично, прибавление cached_tokens к входу повторно учитывает одну и ту же часть запроса. Для общего объёма используйте total_tokens или сумму input_tokens + output_tokens.

Стоимость: разложите вход по категориям

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

Существенная деталь текущей документации кэширования: для GPT-5.6 и более новых моделей учитывается input_tokens_details.cache_write_tokens. Если ваша схема предусматривает отдельную оплату записи кэша, вычитайте эту категорию из обычного входа и применяйте её ставку.

I = input_tokens
C = input_tokens_details.cached_tokens
W = input_tokens_details.cache_write_tokens
O = output_tokens

ordinary_input = I - C - W
cost = ((I - C - W) * P_input
        + C * P_cached
        + W * P_write
        + O * P_output) / 1_000_000
Как считать расход токенов Responses API: вход, выход, кэш и обдумывание
Context: Разбираем счётчики Responses API, повторный учёт контекста и формулу стоимости. Reasoning уже включён в output_tokens; кэшированные токены входят во вход, а запись кэша может тарифицироваться отдельно.
Visual subject: Одна общая AI-обложка для русской, английской и немецкой версий. Фотореалистичный редакционный натюрморт: на рабочем столе разработчика четыре группы небольших полупрозрачных стеклянных жетонов; внутр
© jsonscraper · создано с ИИ

Здесь цены заданы за миллион токенов; для схемы без отдельной категории записи используйте W = 0. Формула покрывает перечисленные токенные категории. Платные инструменты добавляйте отдельными строками по их условиям тарификации.

Условный пример: вход — 4000, кэшированный вход — 3000, запись кэша — 500, выход — 1000, из них reasoning — 600. Получается 500 обычных входных токенов и 5000 токенов всего. Выход оплачивается в объёме 1000; значение 600 сохраняется для диагностики.

Продолжение разговора снова расходует вход

При ручном управлении историей приложение передаёт предыдущие сообщения вместе с новым вводом. Сообщения, включённые в следующий запрос, снова становятся входным контекстом. Поэтому измерение только последней пользовательской реплики пропускает расход истории.

С previous_response_id приложение передаёт ссылку на предыдущий ответ, а API связывает контекст. Согласно правилам учёта продолжений, предыдущие входные токены цепочки снова оплачиваются как входные. Кэш может изменить тарифную категорию части этого входа; фактическое попадание смотрите в cached_tokens каждого ответа.

Как проверить результат оптимизации

  1. Сохраните базовую выборку. Сравнивайте одинаковые задачи, модель, критерий успешности и сопоставимую длину диалогов.
  2. Логируйте каждый вызов. Записывайте идентификаторы ответа и задачи, модель, настройки reasoning, статус, задержку и полный usage. Сохраняйте версию промпта и тарифной конфигурации.
  3. Суммируйте расходы задачи. Включайте все её вызовы и полученные ответы повторных попыток. Основная метрика — стоимость успешно завершённой задачи.
  4. Разделяйте причины изменения. Следите за обычным входом, чтением и записью кэша, выходом и долей reasoning. Для агрегированной доли кэша делите сумму C на сумму I.
  5. Проверяйте качество и хвост распределения. Вместе со средней стоимостью сравнивайте p95, число попыток и процент успешных задач.

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

Персоны

Для этой статьи персоны пока не указаны.

Читайте дальшеAnthropic выпустила Claude Haiku 5.5: тариф зависит от длины промпта
Читать следующую статью

Превратите прочитанное в рабочую интеграцию

Изучайте API социальных данных jsonscraper, тестируйте запросы и создавайте новые процессы.

Смотреть API