Что такое токены и как их считать?
Токен — единица, которой модель меряет текст. Почему русский дороже английского, что входит в счёт и как посмотреть расход.
Модель не считает буквы или слова — она считает токены. От них зависит и сколько влезет в контекст-окно, и сколько ты заплатишь. Разберёмся, что это и как прикинуть расход.
Что такое токен
Токен — это кусочек текста: часть слова, целое слово, знак препинания или пробел. Модель режет любой текст на токены и работает с ними.
Грубые ориентиры для английского:
- ~4 символа ≈ 1 токен;
- ~750 слов ≈ 1000 токенов;
- короткое слово — 1 токен, длинное — 2–3.
Русский текст дороже английского. Токенизатор заточен под английский, поэтому кириллица режется на более мелкие куски — тот же по смыслу текст на русском съедает заметно больше токенов, чем на английском. Это одна из причин, почему англоязычные промпты экономнее.
Два вида токенов: вход и выход
Это ключевое для понимания цены. Токенов две породы, и считаются они отдельно друг от друга:
- Входные (input) — всё, что ты отдаёшь модели: твой промпт, прочитанные файлы, история диалога,
CLAUDE.md, описания MCP-инструментов. Это то, что модель читает. - Выходные (output) — то, что модель генерирует в ответ: текст, код, объяснения. Это то, что она пишет.
ТЫ ──[ входные токены: промпт + файлы + история ]──▶ МОДЕЛЬ
ТЫ ◀──[ выходные токены: ответ модели ]────────────── МОДЕЛЬЦены на них РАЗНЫЕ
И это не мелочь: выход стоит в несколько раз дороже входа — обычно в ~5 раз. Генерировать ответ модели «тяжелее», чем читать ввод, поэтому за выходной токен берут больше.
Практический вывод: длинный «простынный» ответ бьёт по кошельку сильнее, чем длинный ввод. Поэтому просьба «отвечай кратко» и caveman-режим (режут именно выход) дают ощутимую экономию.
Контекст-окно меряется во входных токенах — это всё, что модель держит «в голове» за сессию. Выход в окно не копится, но каждый ответ модели в следующем сообщении становится частью истории — то есть превращается во вход.
Сколько это стоит
Цены считают за миллион токенов (MTok), и — как разобрались — отдельно за вход и выход. Порядок величин:
| Модель | Вход / 1M | Выход / 1M |
|---|---|---|
| Claude Haiku (быстрая) | ~$1 | ~$5 |
| Claude Sonnet (сбалансированная) | ~$3 | ~$15 |
| Claude Opus (мощная) | ~$5 | ~$25 |
Видно ту самую разницу: в каждой строке выход примерно в 5 раз дороже входа. И чем мощнее модель, тем дороже обе колонки.
Цифры — на момент написания и для ориентира. Точные тарифы и актуальные модели — на официальной странице цен. Логика везде одна: выход дороже входа, мощная модель дороже быстрой.
Прикинем на пальцах
Спросил модель Sonnet, скормив ей файл на ~10 000 входных токенов, и получил ответ на ~2 000 выходных:
- вход: 10 000 × ($3 / 1 000 000) = $0,03
- выход: 2 000 × ($15 / 1 000 000) = $0,03
Итого ~$0,06 за один запрос. Обрати внимание: выхода было в 5 раз меньше, а стоил он столько же, сколько вход, — ровно из-за разницы в цене.
Как посчитать
- В Claude Code — команда
/context: показывает, чем занято окно и сколько токенов уходит на память, MCP, историю. - Точный подсчёт текста — токенайзер Anthropic (эндпоинт
count_tokens). Счёт зависит от модели — у разных моделей он немного разный. - Не используй
tiktokenи прочие счётчики «для GPT» — это токенайзер OpenAI, для Claude он врёт (занижает на ~15–20%, на коде и кириллице сильнее).
На практике точные числа нужны редко. Достаточно понимать порядок: «большой файл + длинная история = много токенов», и при необходимости заглянуть в /context. Дальше — про то, как тратить меньше.
Проверь себя
1. Что такое токен?
2. Почему русский текст обычно дороже английского по токенам?
3. Чем входные токены отличаются от выходных по цене?
4. Чем посчитать токены для Claude?