Градиент.

Почему ваш счётчик токенов врёт на русском тексте

Оценка «одно слово ≈ один токен» верна для английского и ломается на кириллице. Если считать бюджет по ней, контекст кончится примерно вдвое раньше, чем вы планировали.

Сколько на самом деле

На бытовом русском тексте типичная картина — 1.8–2.4 токена на слово против 1.2–1.4 на английском. Хуже всего редкие слова, аббревиатуры и смесь алфавитов: «GPT-4o» и «постобработка» могут стоить по 4–6 токенов.

500 слов, один и тот же смысл
ТекстСловТокеновКоэф.
английский, техдок5006151.23
русский, тот же смысл50010802.16
русский + код + сокращения50013702.74

Что делать

  • Считать длину реальным токенизатором той модели, которую вызываете: они различаются даже внутри одного семейства.
  • Оставлять запас: если лимит 8k, планировать 6k на вход.
  • Не обрезать по «символам» — обрезайте по токенам, иначе половина ограничения уйдёт на служебные куски.

Отдельная ловушка — кэш. Промпт, собранный из меняющихся полей, перестаёт попадать в кэш, и счёт за токены растёт тихо, без изменений в коде.

Кирилл Астахов

ML-инженер, собираю и гоняю модели в проде. Пишу о том, что проверил руками: инференс, обучение, оценка качества. Замечания и вопросы — на hello@p.my01.ru.