Що таке токени в Claude та як вони рахуються
Дізнайтеся, чому 1 токен Claude дорівнює 3.5 символам і як Claude Code може витратити 80,000 токенів за один крок через особливості контексту.
Що таке токени в Claude?
Токен — це одиниця тексту, яку Claude зчитує та записує: фрагмент слова, приблизно 3.5 символи англійської мови. Це значення взято з глосарію Anthropic. З урахуванням пробілів та розділових знаків кількість токенів на одне слово значно перевищує одиницю, тому тисяча слів тексту — це понад 1,300 токенів. Код споживає більше токенів на рядок: фігурні дужки, оператори, підкреслення та відступи створюють більше токенів на символ, ніж англійська мова. Джерельний файл на кілька сотень рядків зазвичай становить кілька тисяч токенів. Якщо агент вирішить прочитати файл на 2,000 рядків, це коштуватиме п'ятизначну суму токенів ще до написання жодного нового рядка коду.
Два аспекти роботи токенізаторів часто вводять користувачів в оману. По-перше, вони залежать від конкретної моделі. Станом на July 2026, моделі Opus 4.7 і пізніші, Sonnet 5 та Fable 5 використовують новий токенізатор. Він створює приблизно на 30% більше токенів для того самого тексту, ніж попередні моделі Claude (точне значення залежить від контенту). Це змінює вартість при розрахунках у токенах, хоча ціна за один токен не зросла. По-друге, tiktoken, бібліотека, яку часто використовують у статтях, — це токенізатор від OpenAI. Він недооцінює кількість токенів для Claude приблизно на 15–20% для звичайного тексту і ще більше для коду. Єдиний надійний спосіб підрахунку — це endpoint count_tokens, описаний нижче.
Чому ваші сесії програмування коштують саме стільки
Будь-який рахунок Claude, незалежно від того, чи це інвойс за API, чи ліміт підписки, залежить від одного показника: вхідних та вихідних токенів. На сторінці з цінами все виглядає просто: стільки-то доларів за мільйон вхідних токенів, стільки-то за мільйон вихідних. Проте не сказано, що в сесії з використанням агентів показник вхідних даних зростає набагато швидше, ніж можна очікувати. Це відбувається тому, що на кожному кроці пересилається весь текст розмови. Я займаюся продажем інфраструктури з оплатою за споживання протягом п'ятнадцяти років, і токени — це перший показник, де більшість клієнтів не можуть точно сказати, що саме збільшує витрати. Цей урок присвячений аналізу показників: що саме вважається вхідними та вихідними даними в агентській сесії, чому цикл повторного надсилання коштує так дорого, як кешування промптів змінює розрахунки та які фактори реально впливають на фінальну суму.
Все є вхідними даними: що саме враховує лічильник
Користувачі вважають, що платять за код, який пише Claude. У сесії з агентом це лише незначна частина витрат. Вхідні токени (input tokens) мають нижчу вартість за одиницю, але мають набагато більший обсяг. До них належать:
- Системний промпт (system prompt). Інструкції самого Claude Code, а також ваші
CLAUDE.mdта файли пам'яті, які завантажуються на початку сесії та додаються до кожного наступного запиту. - Визначення інструментів (tool definitions). Кожна схема інструменту, який може викликати агент. Кожен підключений MCP server збільшує ці постійні витрати. Хоча Claude Code тепер за замовчуванням відкладає повні визначення MCP інструментів, тому в контексті залишаються лише назви інструментів до моменту їх першого використання, що зменшує, але не скасовує витрати.
- Кожен файл, який читає агент. Використання
Readвихідного файлу додає весь файл у контекст, і він залишається там. - Кожен результат роботи інструменту. Запуск тестів, вивід grep, текст із термінала, логи збірки — усе це повертається як вхідні токени. Тестовий набір, що видає 8,000 рядків помилок, коштує як невелика книга.
- Весь попередній діалог, що надсилається знову на кожному кроці. Цей пункт потребує окремого розділу.
Чому ціни зростають при повторному надсиланні
Claude API є stateless (без збереження стану). Він не пам'ятає вашу сесію між запитами — нічого не зберігається. Тому на кроці 2 клієнт надсилає крок 1, його відповідь та ваше нове повідомлення. На кроці 50 він повторно надсилає кроки з 1 по 49 — кожне прочитане файли, кожен результат роботи інструментів, кожен diff — плюс крок 50. Модель щоразу перечитує весь транскрипт, і кожен такий токен враховується як input.
Наслідок: вартість одного кроку зростає приблизно лінійно залежно від довжини сесії, а загальна вартість сесії зростає приблизно квадратично. Повідомлення, яке коштувало пів цента на кроці 3, може коштувати у 20 разів більше на кроці 60 за те саме однорядкове питання, оскільки воно містить дані за шістьдесят попередніх кроків. Це основна причина більшості запитів на тему "чому мій рахунок такий високий". Це не особливість Claude — кожен продукт на базі LLM, що імітує наявність стану, є stateless API з циклом повторного надсилання даних.
Output: те, що ви бачите, плюс те, що ви не бачите
Токени output є найдорожчими — їхня вартість у п'ять разів вища за input у поточному лінійці ($5/$25 на Opus 4.8, $3/$15 на Sonnet 5, $1/$5 на Haiku 4.5 станом на липня 2026). Output включає текст і код, які генерує Claude, а також thinking tokens: внутрішні міркування моделі перед наданням відповіді. Тут важливі два факти. За thinking нараховується та ж вартість, що й за output, і він враховується в межах max_tokens — якщо API-відповідь переривається через stop_reason: "max_tokens", це часто означає, що бюджет був вичерпаний на процес міркування ще до отримання відповіді. Також на поточних моделях резюме міркувань може взагалі не відображатися — Opus 4.8, Sonnet 5 та Fable 5 вимикають його за замовчуванням — але процес міркування все одно відбувається і оплачується. Невидиме не є безкоштовним.
Claude Code за замовчуванням вмикає розширене міркування (extended thinking), оскільки це помітно покращує виконання багатоетапних завдань; стандартний бюджет може становити десятки тисяч токенів за один запит. Для простих завдань можна зменшити навантаження: знизьте рівень зусиль за допомогою /effort або в /model, або змініть налаштування міркування в /config. Це реальний інструмент контролю витрат, а не просто припущення.
Prompt caching змінює математику витрат
Prompt caching дозволяє уникнути величезних витрат при повторних запитах. API може кешувати стабільний префікс вашого промпту — системний промпт, визначення інструментів (tool definitions) або історію розмови — і при наступному запиті надавати його за значно нижчою ціною. Станом на липня 2026 року діють такі коефіцієнти: запис у кеш коштує 1.25× від базової вартості вводу (2× для варіанта з терміном дії 1 годину), а читання з кешу коштує 0.1×. Запис є дорожчим; читання дає знижку 90%. Одне читання вже повністю окупає переплату за 5-хвилинний запис.
Claude Code керує кешуванням автоматично, і у стабільній сесії майже всі повторні запити обробляються з кешу. Однак за замовчуванням кеш зберігається протягом п'яти хвилин після останнього використання. Якщо ви відійдете на довгу перерву і після повернення надішлете повідомлення, термін дії кешу вичерпається. Весь накопичений префікс буде перезаписаний за ціною 1.25× замість читання за 0.1×. Для сесії обсягом 150K-token один такий "холодний" запит коштуватиме дорожче, ніж десяток "теплих". Це контрінтуїтивний висновок, який важливо розуміти: режим "пауза — відновлення" може коштувати дорожче, ніж безперервна робота, оскільки кожен період простою після TTL перетворює наступний запит із дешевого читання на дорогий перезапис. Працюйте інтенсивно; не надсилайте повідомлення у великій сесії кожні десять хвилин.
Якщо ви викликаєте API з власної програми на VPS, ви не отримуєте цих переваг автоматично. Класичною помилкою є вставка мітки часу (timestamp) або request ID у системний промпт. Це змінює байти префікса при кожному запиті та фактично вимикає кешування. Ознакою такої проблеми є usage.cache_read_input_tokens, що дорівнює нулю при ідентичних на вигляд запитах.
Формула з прикладом розрахунку
Не звертайте уваги на твердження на кшталт «сесія коштує $X». Вартість сесій відрізняється на два порядки. Правильним є використання формули:
turn cost = (uncached input x base input price)
+ (cache writes x 1.25 x base input price)
+ (cache reads x 0.10 x base input price)
+ (output incl. thinking x output price)
session cost = sum over all turnsПриклад розрахунку для Claude Opus 4.8. Станом на липень 2026 року вартість становить $5 за мільйон вхідних токенів та $25 за мільйон вихідних. Один крок у середині сесії з 80,000 токенів накопиченого контексту: 75,000 зчитано з кешу, 3,000 нової записи, 2,000 свіжого вхідного тексту без кешування, 1,500 вихідних токенів (включаючи процес мислення).
- Читання з кешу: 75,000 × $0.50/M = $0.0375
- Запис у кеш: 3,000 × $6.25/M = $0.019
- Вхідні дані без кешу: 2,000 × $5/M = $0.010
- Вихідні дані: 1,500 × $25/M = $0.0375
Приблизно $0.10 за крок; п'ятдесят таких кроків коштуватимуть близько $5. Тепер розрахунок для того самого кроку після закінчення терміну дії кешу: повні 80,000 токенів, переписані за $6.25/M, коштують $0.50 ще до генерації виходу — це приблизно в п'ять разів більше, ніж весь «теплий» крок, за той самий обсяг роботи. Ця різниця і пояснює суть кешування одним числом.
Для калібрування, а не прогнозування: опубліковані дані Anthropic для корпоративного розгортання Claude Code станом на липень 2026 року показують середню вартість близько $13 на одного розробника за активний день — $150–250 на місяць. При цьому 90% користувачів витрачають менше $30 на день. Ваші витрати залежать від обраної моделі, чистоти сесій та розміру кодової бази, саме тому наведені нижче параметри є критичними.
Перегляд власного споживання
У Claude Code для цього використовується команда /usage (/cost все ще працює — це аліас). Блок Session у верхній частині відображає статистику токенів та локально розраховану оцінку вартості поточної сесії; на підписках на цьому ж екрані відображаються індикатори лімітів вашого плану та деталізація використання за навичками (skills), субагентами (subagents), плагінами (plugins) та окремими MCP серверами. Для отримання точних даних про оплату на API-акаунтах використовуйте сторінку usage в Claude Console — це першоджерело; дані CLI є лише оцінкою. Команда /context створює кольорову сітку що займає контекстне вікно — системний промпт, інструменти (tools), визначення MCP, файли, історія — це найшвидший спосіб виявити переповнений CLAUDE.md або надто активний MCP сервер; використовуйте прапорець all для отримання повного розширеного звіту по кожному елементу.
Через API кожна відповідь точно вказує на те, що відбулося:
response = client.messages.create(model="claude-sonnet-5", max_tokens=2048,
messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
f"read={u.cache_read_input_tokens} output={u.output_tokens}")Майте на увазі, що input_tokens — це лише залишок без кешування — реальний розмір промпту є сумою всіх трьох полів вводу. Якщо агент працював годину і показав input_tokens: 4000, це не означає, що це було дешево; інші 200,000 токенів були взяті з кешу. Щоб зробити оцінку перед відправкою, використовуйте endpoint для підрахунку токенів — він безкоштовний, має окремий ліміт запитів (rate limit) і підраховує токени за допомогою токенізатора вказаної вами моделі (вважайте результат приблизною оцінкою; фактична оплата базується на реальному запиті):
count = client.messages.count_tokens(model="claude-sonnet-5",
messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)Ніколи не використовуйте tiktoken з вищезазначеної причини.
Тарифні плани проти оплати за фактичне використання
Механізми в цьому посібнику однакові всюди; відрізняється лише порядок розрахунків. При використанні API key Anthropic виставляє рахунки за фактичне використання (pay-as-you-go) за кожен токен за публічними тарифами — кожне наведене вище число означає реальні гроші. При підписці на Claude (Pro, Max, Team, Enterprise) використання Claude Code списується з ліміту, включеного у ваш план: станом на липня 2026 року це скользяче п'ятигодинне вікно сесії плюс щоденне вікно, які є спільними для всіх моделей та чату claude.ai; показник /usage доларів є інформаційним, а не сумою в рахунку. Якщо ліміт вікна вичерпано, ви побачите повідомлення "You've hit your session limit" або "You've hit your weekly limit" із часом скидання — перемикання моделей за допомогою /model не відновить доступ, оскільки вікна є спільними для всіх моделей. Плани можуть опціонально дозволяти використання кредитів (usage credits), якими можна керувати через /usage-credits, щоб купувати додатковий обсяг використання після досягнення ліміту. Я навмисно не вказую квоти планів: це найбільш мінливі показники в цій темі, тому перевіряйте claude.com/pricing та свої власні індикатори /usage. Механіка токенів залишається важливою і при підписці — неефективна сесія витрачає ваш ліміт так само, як витрачала б реальні гроші. Щодо підписки, див. який план Claude підходить для вашого використання.
Ефективні методи керування
- Обмежуйте область зчитування агента. Команда "Fix the validation bug in
auth.py" зчитує один файл; "improve this codebase" зчитує сорок. ТримайтеCLAUDE.mdу мінімальному обсязі — цей контекст завантажується у кожну сесію, тому залишайте лише необхідне. Переносьте інструкції для конкретних робочих процесів у skills, які завантажуються лише за потреби. - Будьте лаконічними та чіткими. Використовуйте
/clearміж несв'язаними завданнями — застарілий контекст повторно надсилається і повторно тарифікується в кожному наступному повідомленні. У межах одного тривалого завдання/compact Focus on the failing tests and the diffузагальнює історію, щоб уникнути квадратичного зростання витрат. - Обирайте модель відповідного розміру. Sonnet підходить для більшості завдань з програмування за ціною $2/$10 за мільйон токенів (при вступній ціні станом на липень 2026 року: $3/$15, порівняно з Opus за $5/$25). Модель Haiku за $1/$5 є оптимальним інструментом для механічної роботи субагентів, наприклад, для сортування логів.
/modelдозволяє перемикати моделі під час сесії. - Попередньо фільтруйте розлогі виводи. Використання hook, який за допомогою grep залишає у результатах тесту тільки помилки перед відправкою в Claude, перетворює 20,000 токенів результату інструменту на 300 токенів. Це виконується під час кожного наступного повторного надсилання цього ходу.
- Використовуйте пакетну обробку для неінтерактивних завдань. Для власних API-конвеєрів — класифікації, масового перегляду або нічних завдань — Batches API пропонує ті самі моделі зі знижкою 50% в обмін на асинхронне виконання.
- Враховуйте час кешування. Працюйте безперервними сесіями. Сесія Claude Code у tmux на VPS не коштує нічого під час простою — токени витрачаються лише під час виконання ходу. Проте під час простою втрачається теплий кеш, і наступний хід потребуватиме повторного запису контексту.
FAQ
Скільки токенів використовує сесія програмування в Claude Code?
Фіксованого числа не існує. Один середній крок сесії зазвичай містить десятки тисяч токенів запиту після накопичення файлів та історії. Повна робоча сесія може досягати мільйонів токенів, більшість з яких обробляється з кешу за ціною у десяту частину від базової. Для орієнтиру: опубліковані Anthropic дані для підприємств станом на липня 2026 року показують середню вартість близько $13 на одного розробника за активний день, при цьому 90% користувачів витрачають менше $30. Запустіть /usage у своїй сесії; п'ять хвилин спостереження дадуть точніший результат, ніж будь-який опублікований середній показник.
Чи оплачуються токени роздумів (thinking tokens), навіть якщо я їх не бачу?
Так. Токени роздумів тарифікуються як токени виводу (output tokens) — за найвищим тарифом — і враховуються в max_tokens. Поточні моделі тарифікують їх, навіть якщо інтерфейс не відображає резюме логічних міркувань. Якщо відповідь переривається через stop_reason: "max_tokens" до завершення видимого тексту, ймовірно, бюджет був вичерпано через токени роздумів. У Claude Code знижуйте рівень зусиль за допомогою /effort для завдань, які не потребують глибокого аналізу.
Чому довга сесія Claude Code стає дорожчою за кожне повідомлення?
Це відбувається через те, що API є stateless (без збереження стану): кожен крок повторно надсилає всю розмову — кожен прочитаний файл, результат роботи інструментів та попередні обмін повідомленнями — як платний вхідний трафік. Отже, 50-й крок містить у собі дані з кроків з 1 по 49. Кешування запитів (prompt caching) дозволяє обробляти повторюваний префікс приблизно за десяту частину базової ціни входу, але сам префікс постійно зростає. Будь-яка пауза, що перевищує TTL кешу, перетворює наступний крок на повне повторне читання за повною ціною. /compact скорочує історію; /clear скидає її.
Як перевірити використання токенів Claude та витрати?
У Claude Code команда /usage відображає статистику токенів сесії, локальну оцінку вартості та індикатори лімітів плану для підписок (/cost є аліасом); /context показує вміст вікна. Для отримання офіційних даних про білінг API використовуйте сторінку usage в Claude Console. У власному коді використовуйте response.usage — сума input_tokens, cache_creation_input_tokens та cache_read_input_tokens дає реальний розмір запиту — та робіть попередню оцінку за допомогою ендпоінту count_tokens, а не tiktoken.