Токен — это атомарная единица ввода и вывода для языковой модели. Модель никогда не видит «сырой» текст: любая строка сначала преобразуется в последовательность целых чисел, каждое из которых соответствует одному токену в словаре модели. GPT-4 и Claude используют словари размером 100 000–128 000 токенов; словарь определяется один раз при обучении и после не меняется.

Как текст превращается в токены: алгоритм BPE

Современные языковые модели используют алгоритм Byte Pair Encoding (BPE), предложенный в 2016 году для машинного перевода. Идея проста: начать с алфавита байтов (256 символов), затем итеративно находить наиболее частую пару соседних символов и заменять её новым токеном. Процедура повторяется до тех пор, пока словарь не достигнет заданного размера.

Результат — токены разной длины. Частые слова вроде «the», «of», «в», «и» занимают один токен. Редкие слова и термины дробятся на несколько фрагментов: «tokenization» может стать «token» + «ization», а «нейросеть» — «нейро» + «сеть» или даже тремя кусками в зависимости от конкретного словаря.

OpenAI открыто публикует инструмент Tokenizer, который показывает, как GPT-4o разбивает любую строку. Anthropic аналогичного публичного инструмента не предоставляет, однако документирует принципы токенизации в разделе о моделях. Hugging Face публикует токенизаторы всех открытых моделей в открытом доступе через библиотеку tokenizers.

Помимо BPE существуют вариации: WordPiece (используется в BERT), Unigram Language Model (SentencePiece от Google). Все они преследуют одну цель — найти компактное покрытие языкового корпуса фрагментами переменной длины. Принципиальная разница для пользователя невелика: итоговое число токенов на одинаковом тексте отличается между моделями на 5–15%.

Отдельный вопрос — обработка пробелов и пунктуации. В tiktoken (токенизаторе OpenAI) пробел перед словом, как правило, входит в состав токена: строка « hello» и «hello» дают разные токены. Это означает, что позиция слова в предложении влияет на его токенизацию. На практике это редко создаёт проблемы, но объясняет, почему наивный подсчёт «слово = токен» даёт заниженные оценки: пунктуационные знаки, числа и переносы строк добавляют дополнительные токены сверх словарного запаса текста.

Кириллица обходится дороже: сравнение русского и английского

Словари современных моделей формировались преимущественно на английском тексте. Английские слова хорошо представлены целиком или крупными фрагментами. Кириллица, занимающая меньшую долю обучающего корпуса, дробится мельче.

Практические оценки для GPT-4o (на основе публичного токенизатора OpenAI):

  • Английский текст: 1 токен ≈ 4 символа, или примерно 0,75 слова. Стандартный абзац из 100 слов — около 130–140 токенов.
  • Русский текст: 1 токен ≈ 2–3 символа. Тот же абзац из 100 русских слов — около 200–230 токенов, то есть в 1,6–1,8 раза больше, чем эквивалентный английский.
  • Технические термины транслитом: токенизируются ближе к английскому — «API», «GPU», «LLM» обычно укладываются в один токен.
  • Смешанный текст (RU + EN термины): коэффициент промежуточный, около 1,3–1,5 к английскому базису.

Причина — не в длине слов, а в охвате словаря. Исследование 2023 года на базе Common Crawl показало, что токенизаторы, обученные на корпусах с малой долей целевого языка, систематически увеличивают число токенов для этого языка на 30–200% по сравнению с языками-мажоритариями. Для Hindi, арабского и большинства африканских языков перерасход ещё выше, чем для русского.

Практическое следствие: одно и то же смысловое содержание, переданное на русском языке, стоит в API в 1,5–2 раза дороже, чем на английском, и занимает пропорционально больше места в контекстном окне.

Контекстное окно и цена: два главных следствия

Языковая модель не читает текст «целиком» — она обрабатывает ограниченное число токенов за один инференс-вызов. Это ограничение называется контекстным окном. GPT-4o поддерживает 128 000 токенов, Claude Opus 4.7 — 500 000 токенов, Gemini 2.5 Pro — до 2 000 000 токенов согласно данным Google DeepMind. В токенах измеряется сумма: промпт + история диалога + ответ модели.

Когда разговор превышает лимит, провайдер либо обрезает старые сообщения, либо возвращает ошибку. Для приложений с длинным контекстом — юридические документы, кодовые базы, книги — выбор модели с достаточным окном становится архитектурным решением, а не настройкой.

Ценообразование в API полностью завязано на токены. OpenAI взимает отдельно за входные (input) и выходные (output) токены, причём выходные дороже примерно в 3 раза: генерация требует авторегрессивного прохода через модель для каждого токена, тогда как входные токены обрабатываются параллельно. Anthropic применяет ту же схему. Таблица тарифов OpenAI и Anthropic позволяет рассчитать стоимость конкретного сценария заранее.

Для ориентира: GPT-4o по ценам середины 2026 года обходится примерно в $2,50 за миллион входных токенов и $10 за миллион выходных. Страница русского текста (~3 000 символов) — около 1 300–1 500 токенов, то есть один запрос с такой страницей в промпте стоит порядка $0,003–0,004 только за ввод. Claude Sonnet 4.5 от Anthropic на момент публикации стоит $3 за миллион входных и $15 за миллион выходных токенов. Разница в ценах между моделями порой значительная, поэтому расчёт реальной нагрузки в токенах предшествует любому выбору провайдера — абстрактные сравнения «дешевле / дороже» без конкретного числа токенов в рабочем сценарии лишены смысла.

Скорость генерации и практические оценки

Скорость языковой модели измеряется в токенах в секунду. Типичные значения для облачных API на момент середины 2026 года: 60–120 токенов/с для GPT-4o, 80–150 токенов/с для Claude Sonnet. Для русского текста субъективная скорость чтения ниже, потому что каждый токен несёт меньше смысловой нагрузки — больше токенов на то же количество слов.

При самостоятельном развёртывании открытых моделей токены в секунду зависят от железа. На одном NVIDIA A100 80GB модели класса 70B генерируют около 20–40 токенов/с при батч-размере 1. Восьмибитное квантование увеличивает скорость примерно вдвое при незначительной потере качества.

Существует ещё один нетривиальный эффект: префиксное кэширование. Если начало промпта повторяется от запроса к запросу (системный промпт, контекст документа), провайдеры вроде Anthropic предоставляют кэширование промпта со скидкой на повторно используемые входные токены. Это меняет экономику приложений с длинным фиксированным контекстом: стоимость первого запроса высокая, последующих — существенно ниже.

Токен — не абстракция документации, а операционная единица, которая определяет три конкретные переменные любого LLM-приложения: что модель видит (контекстное окно), сколько это стоит (тарификация) и как быстро приходит ответ (пропускная способность). Для русскоязычных приложений коэффициент «дороговизны» кириллицы — около 1,6–1,8 к английскому — закладывается в бюджет с самого начала проектирования.