Назад до блогу

Оптимізація витратРозбір

Як оцінити вартість AI-агента

Чому рахунки за агентів переважно складаються з вхідних токенів, формула, яку можна застосувати до запуску агента, приклад із 30 кроками та сім способів зменшити вартість.

Автор: CheapTokens TeamОпубліковано 3 хв читання

Графік зростання вхідних токенів крок за кроком у сесії агента поруч із формулою вартості
На цій сторінці
  1. Формула
  2. Чому агенти споживають багато входу
  3. Приклад із розрахунком
  4. Оцініть це в коді
  5. Вимірюйте, а не вгадуйте
  6. Сім способів зменшити вартість

AI-агент не робить один запит — він робить десятки, і кожен крок повторно надсилає зростаючу розмову. Ось чому рахунки за агентів переважно складаються з вхідних токенів, і чому інтуїція «ціна за відповідь» з чат-додатків тут не працює. Ось як оцінити вартість до запуску агента і куди насправді йдуть гроші.

Формула#

Вартість одного запиту — це вхідні токени, помножені на ціну входу, плюс вихідні токени, помножені на ціну виходу. Ціни вказуються за мільйон токенів:

text
request_cost = input_tokens / 1,000,000 × input_price
             + output_tokens / 1,000,000 × output_price

Вартість завдання — це сума за всіма запитами, які агент робить під час його виконання.

Чому агенти споживають багато входу#

На кожному кроці агент надсилає моделі:

  • системний промпт і визначення інструментів;
  • усю історію на цей момент — попередні повідомлення, попередні відповіді моделі та результати інструментів (вміст файлів, вивід команд, результати пошуку);
  • нову інструкцію.

Модель зазвичай відповідає коротким повідомленням або викликом інструменту. Потім результат інструменту додається до історії, і наступний крок знову надсилає все. Тож вхід на кожному кроці зростає, а вихід залишається малим.

Приклад із розрахунком#

Умови (припущення — замініть їх числами з вашого агента):

  • системний промпт і визначення інструментів: 6 000 токенів;
  • кожен крок додає 1 500 токенів результатів інструментів і 500 токенів виходу моделі до історії;
  • завдання виконується за 30 кроків;
  • модель: DeepSeek-V4-Flash за $0.0221 за 1M вхідних токенів і $0.10 за 1M вихідних токенів (поточні ціни).

Вхід кроку n становить 6 000 + (n − 1) × 2 000 токенів. За 30 кроків:

  • загальний вхід: 30 × 6 000 + 2 000 × (0 + 1 + … + 29) = 180 000 + 870 000 = 1 050 000 токенів;
  • загальний вихід: 30 × 500 = 15 000 токенів;
  • вартість: 1.05 × $0.0221 + 0.015 × $0.10 ≈ $0.0247 за завдання.

Вхід становить 98.6% токенів і майже всю вартість. Наскільки домінує вхід, залежить від сценарію: довгі відповіді, згенеровані файли та reasoning-моделі збільшують частку виходу, тоді як скорочена історія та короткий вивід інструментів зменшують частку входу.

Те саме завдання на кожній моделі за поточними цінами, з довідковими цінами OpenRouter для порівняння:

Модель Вартість OpenRouter
GLM-5.3-Flash $0.0296 $0.0534
DeepSeek-V4-Flash $0.0247 $0.0264
MiniMax-M2.7 $0.0548 $0.333

1 050 000 вхідних і 15 000 вихідних токенів загалом. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.

Оцініть це в коді#

Той самий розрахунок у вигляді функції — змініть припущення та ціни:

python
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
    """Token totals and cost of one agent task. Prices: $ per 1M tokens."""
    grow = tool_tokens + out_tokens            # what each step adds to the history
    total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
    total_out = steps * out_tokens
    cost = (total_in * price_in + total_out * price_out) / 1_000_000
    return total_in, total_out, round(cost, 5)

# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)

Зверніть увагу на квадратичний член: подвоєння кількості кроків приблизно вчетверо збільшує вхід. Довгі сесії стають дорогими не через якийсь окремий крок, а через те, що кожен крок несе всю історію.

Вимірюйте, а не вгадуйте#

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

Поточні тарифи — ті самі дані, що й на сторінці цін:

Модель Контекст Вхід $/1М Вихід $/1М OpenRouter вхід OpenRouter вихід
GLM-5.3-Flash reasoning 390K $0.027 $0.08 $0.048 $0.20
DeepSeek-V4-Flash 380K $0.0221 $0.10 $0.016 $0.64
MiniMax-M2.7 200K $0.05 $0.15 $0.30 $1.20

Ціни в USD за 1 млн токенів. Показники OpenRouter наведено для порівняння, вони можуть змінюватися.

Сім способів зменшити вартість#

  1. Починайте нове завдання для не пов'язаної роботи. Нова сесія не несе історію попередньої.
  2. Давайте агенту фрагменти, а не цілі файли. Функцію та її виклики замість модуля на 3 000 рядків.
  3. Скорочуйте вивід інструментів. Довгі логи та вивід команд залишаються в історії до кінця сесії — обмежуйте їх, наприклад за допомогою | tail -n 50.
  4. Підсумовуйте довгі сесії. Багато агентів уміють стискати історію; використовуйте це, перш ніж контекст стане довгим.
  5. Обмежуйте довжину відповіді за допомогою max_tokens там, де довгі відповіді не потрібні.
  6. Використовуйте відповідну модель для кроку. Рутинні кроки не потребують reasoning-моделі.
  7. Тримайте передплачений бюджет. Баланс передплачений: коли він вичерпується, запити зупиняються з HTTP 402, а не накопичують відкритий рахунок.

Щоб побачити, як те саме навантаження порівнюється між моделями та з OpenRouter, скористайтеся порівнянням вартості на головній сторінці.