Токен — это минимальный кусок текста, которым языковая модель оперирует на самом деле: не буква, не слово, а фрагмент между ними. Частое английское слово обычно занимает один токен целиком, редкое разваливается на два-три, знак препинания и пробел тоже стоят своих долей токена. Модель не видит букв: на вход ей приходит последовательность номеров токенов, и на выход она выдаёт номера токенов, по одному за шаг.
#Ориентир, от которого можно считать
Практическое правило для английского текста: один токен — примерно 4 символа, или примерно 0,75 слова. Для русского текста то же правило не работает. Словари большинства моделей собраны на корпусе, где английского в разы больше, поэтому кириллица режется мельче — нередко на куски по одному-три символа, а редкие словоформы и вовсе по букве.
Следствие, которое видно на счёте: одна и та же мысль на русском стоит заметно дороже, чем на английском — обычно в полтора-три раза по числу токенов, и точный множитель зависит от модели. Проверять его нужно тем токенизатором, которым пользуется ваш провайдер, а не общим правилом.
Ту же арифметику стоит держать в голове, когда речь о длине диалога. Окно в 32 000 токенов — это порядка 100–120 тысяч символов английского текста, но для русского оценка ближе к 50–70 тысячам, то есть к 25–35 страницам. Как устроено само окно — в справке про контекстное окно.
#Что считается в токенах, а что нет
| Что | Считается | Примечание |
|---|---|---|
| Ваш вопрос | ✓ | вместе с пробелами и переносами строк |
| Системный промпт | ✓ | каждый запрос заново |
| Вся история диалога | ✓ | заново при каждой реплике |
| Подмешанная память, файлы | ✓ | часто это самая большая доля |
| Ответ модели | ✓ | у провайдеров считается отдельно и дороже входа |
| Имя модели, параметры запроса | ✗ | служебные поля |
Главное здесь — предпоследняя строка: ответ тоже состоит из токенов, и у большинства облачных провайдеров выходные токены стоят дороже входных. Расчёт — в разборе того, как считать стоимость токенов.
#Где путают
Заблуждение первое: токен — это слово. Отсюда берётся ошибка в оценке лимитов: человек читает «контекст 8 000 токенов», мысленно переводит в 8 000 слов и удивляется, почему договор на 15 страниц не влез.
Заблуждение второе: токенов уходит одинаково на любом языке. Именно из-за разницы в разбиении русскоязычный диалог упирается в лимит раньше и обходится дороже при тех же тарифах. Что с этим делать при выборе модели — в тексте про ИИ-ассистента на русском языке.
Заблуждение третье: длинное слово — это много токенов. Зависимость не от длины, а от частоты в корпусе. Английское unbelievable бывает одним токеном, а короткое русское «ёж» — двумя, потому что буква «ё» редка.
#Частые вопросы
#Сколько символов русского текста в одном токене?
Устойчивого числа нет: обычно от одного до трёх символов, в зависимости от модели и от того, насколько частотна словоформа. Правило «четыре символа на токен» выведено для английского и к русскому напрямую не применяется.
#Пробелы и знаки препинания считаются?
Да. В большинстве современных токенизаторов пробел приклеивается к следующему слову и входит в его токен, а знаки препинания чаще всего становятся отдельными токенами. Переносы строк тоже занимают токены, поэтому пустые строки в длинном промпте не бесплатны.
#Можно ли посчитать токены заранее, до отправки запроса?
Да, если у вас есть тот же токенизатор, что и у модели. Локально это делает движок запуска, у облачных провайдеров есть отдельный метод подсчёта или публичная библиотека токенизатора.
#Почему модель иногда путается в буквах внутри слова?
Потому что она не видит букв — она видит номера токенов. Задачи вида «посчитай, сколько букв „о“ в этом слове» или «переверни слово задом наперёд» для неё неестественны, и ошибки в них не говорят ничего о её способности рассуждать.
Как именно текст режется на эти куски и почему у разных моделей получается по-разному — в справке про токенизацию. Остальные термины из этого ряда собраны в глоссарии терминов ИИ.