jsonscraper

Як рахувати витрати токенів Responses API: вхід, вихід, кеш і міркування

Практичний облік usage: як перевірити економію після оптимізації промпту, історії та reasoning.

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

Як рахувати витрати токенів Responses API: вхід, вихід, кеш і міркування
Контекст: Розбираємо лічильники Responses API, повторний облік контексту й формулу вартості. Reasoning уже включено до output_tokens; кешовані токени входять до вхідних, а запис кешу може тарифікуватися окремо.
Візуальний об’єкт: одна спільна обкладинка, створена ШІ, для російської, англійської та німецької версій. Фотореалістичний редакційний натюрморт: на робочому столі розробника чотири групи невеликих напівпрозорих скляних жетонів; усередині
© 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: вхід, вихід, кеш і міркування
Контекст: Розбираємо лічильники Responses API, повторний облік контексту й формулу вартості. Reasoning уже включено до output_tokens; кешовані токени входять до вхідних, а запис кешу може тарифікуватися окремо.
Візуальний об’єкт: одна спільна обкладинка, створена ШІ, для російської, англійської та німецької версій. Фотореалістичний редакційний натюрморт: на робочому столі розробника чотири групи невеликих напівпрозорих скляних жетонів; усередині
© 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, зокрема без видимого тексту, але з витратами токенів. Враховуйте такі відповіді, перевіряючи економію: оптимізація досягла мети, якщо зіставні завдання успішно завершуються з меншими сукупними витратами.

People

No people listed for this article yet.

Keep readingAnthropic випустила Claude Haiku 5.5: тариф залежить від довжини промпту
Read the next article

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

Досліджуйте API соціальних даних jsonscraper, тестуйте запити й створюйте нові процеси.

Переглянути API