Если вы работали с ChatGPT или OpenAI API, вы наверняка встречали слово «токены»: в лимитах, в описании контекстного окна, в счетах за API. Токен — базовая единица, которой модель читает и пишет текст. От количества токенов зависит, поместится ли длинный документ в один запрос, почему ответ вдруг оборвался на полуслове и сколько стоит обращение к API.
Разберёмся без формул: что такое токен, почему русский текст «дороже» английского, как точно посчитать токены и что делать, когда их не хватает.
Что такое токен
Модель не видит текст как буквы или слова. Перед обработкой текст режется на фрагменты — токены. Токеном может быть целое короткое слово, часть длинного слова, знак препинания или пробел вместе со словом.
Справка OpenAI даёт ориентиры для английского текста:
- 1 токен — примерно 4 символа;
- 1 токен — примерно три четверти слова;
- 100 токенов — примерно 75 слов.
Там же отмечено, что это оценка, а в других языках соотношение символов, слов и токенов другое. Именно это важно для нас.
Сколько токенов в русском тексте
Мы проверили несколько фраз через библиотеку tiktoken с кодировкой o200k_base, которую tiktoken применяет для моделей OpenAI начиная с GPT-4o:
| Фраза | Символов | Токенов |
|---|---|---|
| «Привет! Как дела?» | 17 | 6 |
| «Hello! How are you?» | 19 | 6 |
| «Нейросеть помогает решать задачи по математике.» | 47 | 12 |
| «The neural network helps solve math problems.» | 45 | 8 |
Короткие бытовые фразы кодируются почти одинаково, а на более сложной лексике русский текст того же смысла занимает больше токенов: длинные слова с приставками и окончаниями чаще разбиваются на несколько частей.
Пример на большом тексте
Для проверки мы прогнали через ту же кодировку черновик этой статьи: около 6 700 символов и 1 000 слов дали примерно 1 800 токенов. То есть в современной кодировке на один токен русского текста приходится около 3,7–3,9 символа — почти как в английском, — но на одно слово уходит в среднем около 1,8 токена против ориентировочных 1,3 для английского.
Отсюда удобная прикидка для русского текста:
- страница A4 (около 1 800 знаков с пробелами) — порядка 450–500 токенов;
- статья на 10 000 знаков — порядка 2 500–2 700 токенов;
- книга на 400 000 знаков — около 100 000 токенов и больше.
Это ориентиры для планирования. Точные значения дают только подсчёт инструментом или поле usage в ответе API. В старых кодировках, которыми пользовались ранние модели, русский текст выходил заметно «дороже», поэтому старые советы из интернета часто завышают оценку.
Как посчитать токены
Без программирования
У OpenAI есть веб-инструмент Tokenizer: вставляете текст — видите число токенов и то, как текст разбит на части. Удобно, чтобы быстро понять, поместится ли документ в запрос.
В Python через tiktoken
Для подсчёта в программе OpenAI рекомендует библиотеку tiktoken. Установка — командой pip install tiktoken. Дальше достаточно трёх строк:
import tiktokenenc = tiktoken.get_encoding("o200k_base")print(len(enc.encode("ваш текст")))
Для конкретной модели кодировку можно получить через tiktoken.encoding_for_model(...). Учтите оговорку из справки: подсчёт «чистого» текста не равен полному числу токенов запроса — служебная структура сообщений, инструменты и вложения добавляют свои токены.
По факту в ответе API
Самый точный способ — посмотреть поле usage в ответе. В Responses API там есть input_tokens, output_tokens и total_tokens, а также детали: сколько входных токенов взято из кэша (cached_tokens) и сколько ушло на рассуждения модели (reasoning_tokens).
Токены, контекст и лимиты: в чём разница
Здесь часто путаются, поэтому разведём понятия.
- Контекстное окно — сколько токенов модель может учесть за один раз: ваш запрос, история диалога, файлы и её собственный ответ. У разных моделей оно разное, актуальные цифры — на странице модели в документации OpenAI.
- Лимит на длину ответа — в API задаётся параметром
max_output_tokens. Он ограничивает и видимый текст, и токены рассуждений. - Лимиты использования в ChatGPT — количество сообщений или квоты по тарифу. Это не то же самое, что токены, хотя длинные запросы расходуют ресурс быстрее. Подробнее о том, как устроены квоты, — в разборе лимитов ChatGPT для Free и Plus.
Почему ответ обрывается и что делать
Причина 1. Упёрлись в лимит ответа. В API это видно по ответу: статус incomplete, а в incomplete_details указана причина max_output_tokens. Решение — увеличить max_output_tokens или попросить модель отвечать частями.
Причина 2. Рассуждения съели бюджет. У моделей с рассуждениями часть выходных токенов уходит на «внутреннее мышление». Если лимит маленький, до видимого текста дело может не дойти. Оставляйте запас.
Причина 3. Переполнен контекст. В длинном чате ранние сообщения перестают учитываться полностью, и модель «забывает» условия. Начните новый чат с кратким резюме прошлого или вынесите постоянные требования в инструкции.
В интерфейсе ChatGPT часто достаточно написать «продолжи» — модель допишет ответ с места остановки.
Как экономить токены
- Убирайте лишнее из входа. Не вставляйте весь документ, если вопрос касается одного раздела.
- Просите формат заранее. «Ответь списком из 5 пунктов» короче, чем «расскажи подробно».
- Не повторяйте инструкции в каждом сообщении — используйте системные или пользовательские инструкции.
- Повторяющееся начало промпта ставьте первым. Одинаковый префикс запросов API может браться из кэша — это видно по
cached_tokens. - Для больших объёмов делите работу на части и собирайте итог отдельным запросом.
О том, как вариативность ответа зависит от температуры и других настроек генерации, мы писали в материале о настройке температуры в веб-лабораториях ИИ. А если вы работаете с действительно большими документами, посмотрите, как с этим справляются модели с очень длинным контекстом, — например, в обзоре MiniMax M3 с окном в 1 млн токенов.
Частые вопросы
Пробел и знаки препинания — тоже токены?
Да. Пробел обычно «прилипает» к следующему слову, а знаки препинания часто становятся отдельными токенами.
Один и тот же текст всегда даёт одно число токенов?
Для одной кодировки — да. В разных кодировках (у старых и новых моделей) число может отличаться.
Нужно ли считать токены обычному пользователю ChatGPT?
Чаще всего нет. Но понимание помогает: если модель «забыла» начало длинного разговора или оборвала ответ, причина почти всегда в токенах.
Как токены связаны с ценой API?
Оплата API считается за входные и выходные токены, цены различаются по моделям и указаны на официальной странице цен OpenAI. Кэшированные входные токены обычно стоят дешевле.
Где найти другие ИИ-сервисы?
В нашем каталоге нейросетей собраны сервисы для текста, изображений, видео и кода.
Токены — это «валюта» языковых моделей. Достаточно один раз разобраться, как они считаются, чтобы перестать удивляться оборванным ответам и точнее планировать работу с длинными текстами и API.