AI для початківцівПосібник
Чому AI-агенти використовують так багато токенів (приклад на 20 кроків)
AI-агент повторно надсилає свою історію, список інструментів і вивід інструментів на кожному кроці. Подивіться, куди йдуть токени, на розібраному прикладі з 20 кроків.

На цій сторінці
Ви ставите агенту одне запитання, він працює кілька хвилин, і на сторінці використання з'являються сотні тисяч токенів. Нічого не зламано. Агент — це цикл, і кожен оберт циклу надсилає все сказане досі (список інструментів, історію, усе, що повернули інструменти) як вхідні токени. Відповідь, яку він пише, крихітна. А те, що він читає знову і знову, — ні.
Що таке агент, в одній картинці#
Чат-модель відповідає один раз. Агент — це та сама модель у циклі з інструментами: прочитати файл, пошукати в мережі, виконати команду. І модель нічого не пам'ятає між викликами. Уявіть асистента, який щоразу все забуває, коли кладе слухавку: кожного разу, коли він передзвонює, ви читаєте нотатки з початку, а тоді додаєте один рядок. Саме так працює API.
Документація Anthropic про використання інструментів (перевірено 26 жовтня 2026) описує цикл так:
- Ваш застосунок надсилає повідомлення користувача та список інструментів.
- Модель відповідає
stop_і блокомreason: "tool_ use" tool_use: який інструмент, з якими аргументами. - Ваш застосунок запускає інструмент і надсилає другий запит. Він містить попередні повідомлення, виклик інструменту моделлю, блок
tool_resultі той самий список інструментів. - Модель відповідає або просить ще один інструмент, і цикл повторюється.
На тій самій сторінці сказано, що запити з використанням інструментів оплачуються за загальний надісланий вхід, включно з параметром tools, плюс вихід. Тож крок 3 ніколи не є «лише новою частиною»: це вся розмова знову.
Request 1 tools + system + task
Request 2 tools + system + task + call 1 + result 1
Request 3 tools + system + task + call 1 + result 1 + call 2 + result 2
...Це той самий механізм, що й у чому довгий чат коштує дорожче, лише швидший. Чат зростає на одне повідомлення, коли ви пишете. Агент зростає на два блоки на кожному кроці, і ніхто нічого не пише.
Три речі їдуть разом на кожному кроці#
Список інструментів. Назви, описи та схеми параметрів кожного інструменту потрапляють у кожен запит, навіть коли модель не використовує жодного з них цього оберту. Документація додає маленький бонус: коли інструменти увімкнено, API додає власний промпт для використання інструментів, 286 токенів на Claude Sonnet 5.5, Opus 5.5 і Haiku 5.5, а в інших моделей інші числа.
Історія. Ваше завдання, попередні виклики інструментів моделлю, її нотатки.
Вивід інструментів. Ось це підступне. Файл, який прочитав агент, сторінка результатів пошуку, журнал тестів: щойно він потрапляє в історію, за нього платять знову на кожному наступному кроці.
Токен — це маленький фрагмент тексту, приблизно коротке слово або частина слова, і кожна з цих трьох речей рахується в них.
Запуск на 20 кроків, порахований#
Скажімо, ви запускаєте маленького агента для кодування з трьома інструментами (прочитати файл, пошук, запуск тестів) і даєте йому завдання, яке потребує 20 кроків. Візьмімо такі припущення:
- визначення інструментів: 1 500 токенів, системний промпт: 500, ваше завдання: 200, тож кожен запит починається з 2 200 токенів;
- на кожному кроці модель пише виклик інструменту на 150 токенів, а інструмент повертає 800 токенів;
- обидва додаються до історії, тож кожен крок додає 950 токенів до наступного запиту.

Щоб отримати підсумок запуску, додайте всі 20 запитів. База з 2 200 надсилається 20 разів, а оберти переносяться наступними кроками: крок 1 не переносить жодного, крок 2 — один, і так далі до 19, що разом дає 190 обертів.
20 × 2 200 = 44 000
950 × 190 = 180 500
44 000 + 180 500 = 224 500 вхідних токенів, і 20 × 150 = 3 000 вихідних токенів.
Агент написав 3 000 токенів і прочитав 224 500. Вихідні токени коштують дорожче за кожен вхідний токен (див. вхідні проти вихідних токенів), але їх так мало, що саме вхід визначає рахунок. Ось цей запуск за поточними цінами:
| Модель | Вхід $/1М | Вихід $/1М | Вартість | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0046 | $0.0095 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0037 | $0.0111 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0117 | $0.071 |
224 500 вхідних і 3 000 вихідних токенів загалом. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.
На DeepSeek-V4-Flash один такий запуск коштує $0.0037, на GLM-5.3-Flash — $0.0046. Сто запусків — це 22 450 000 вхідних і 300 000 вихідних токенів: $0.367 на DeepSeek-V4-Flash. Таблиця вище рахує вхід і вихід разом, і загалом моделі там виходять дешевшими за OpenRouter.
Кількість кроків важить більше, ніж здається. Запуск на 5 кроків із тими самими припущеннями:
5 × 2 200 = 11 000
950 × 10 = 9 500
11 000 + 9 500 = 20 500 вхідних токенів. Учетверо більше кроків дало приблизно в одинадцять разів більше входу, бо кожен новий крок також перечитує всі старі.
Де скорочувати: чотири звички#
Результат одного інструменту — найлегше місце для економії. Скажімо, запуск тестів на кроці 3 повертає журнал на 4 000 токенів. Тоді його повторно надсилають 17 запитів, що йдуть далі:
- до: 4 000 × 17 = 68 000 вхідних токенів, які переносить цей один журнал;
- після, якщо інструмент повертає лише 40 релевантних рядків (близько 400 токенів): 400 × 17 = 6 800.
Те саме завдання, та сама відповідь, десятина входу від цього одного результату. Це дає чотири звички:
- Повертайте менше з інструментів. Рядки навколо помилки, а не весь журнал; функцію, а не весь файл. Довша розповідь — у як тримати вивід інструментів поза контекстом.
- Давайте агенту менше інструментів. Кожне визначення їде в кожному запиті.
- Обмежте кількість кроків і починайте нове завдання, коли стара історія вже не має значення.
- Додавайте використання кожного кроку, і зупиняйте запуск на бюджеті, який ви обрали заздалегідь. Щодо оцінювання див. як оцінити вартість AI-агента.
Порахуйте власний запуск#
Кожна відповідь повідомляє, скільки токенів вона прийняла і видала, у своєму полі usage. Підсумуйте їх за всіма кроками, і ви матимете справжні числа для свого агента замість моїх припущень. Начерк з OpenAI Python SDK, націленим на CheapTokens (messages і tools — власні для вашого агента):
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key="YOUR_API_KEY")
total_in = total_out = 0
for step in range(20): # your agent loop
resp = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
messages=messages,
tools=tools,
)
total_in += resp.usage.prompt_tokens
total_out += resp.usage.completion_tokens
# ...run the tool, append the result to messages
print(total_in, total_out)Обидва підсумки прямо підставляються в таблицю витрат вище. Для таких довгих історій DeepSeek-V4-Flash дає вікно контексту 380K і до 32 768 вихідних токенів на відповідь, за однією ціною в будь-яку годину; GLM-5.3-Flash має контекст 390K і до 8 192 вихідних токенів. Налаштування — у документації, поточна ціна кожної моделі — на сторінці цін, а в моделі є власна сторінка, дешевий DeepSeek.



