Stateinik

Concept

Токен

Кусок текста, которым модель меряет вход и выход: обычно часть слова. В токенах считают и лимит контекста, и счёт от провайдера.

Как текст превращается в токены

Токенизатор режет строку на частые последовательности символов. Короткое английское слово обычно занимает один токен, длинное разбивается на два-три. Русский текст дробится мельче: в обучающих данных его было меньше, поэтому целых слов в словаре токенизатора почти нет. Пробелы, переносы строк и знаки препинания тоже занимают место.

Где это всплывает

Счёт от провайдера считается по токенам входа и выхода, и тарифы у них разные. Отсюда типичная неожиданность: диалог кажется коротким, а счёт заметно выше ожидаемого. Обычно виноват вход - вся история и приложенные файлы уезжают в каждый запрос заново.

Второе место - лимит контекстного окна. Оно измеряется в токенах, а не в символах или строках, поэтому фраза "файл на 500 строк" ничего не говорит о том, влезет он или нет. У AI-агента вход разбухает быстрее всего: каждый вызов инструмента дописывает в историю свой лог.

Практика

  • Считать заранее: у провайдеров есть эндпоинт подсчёта, есть и локальные библиотеки токенизации.
  • Держать в голове, что код и JSON дороже прозы: скобки, отступы и кавычки съедают отдельные токены.
  • Смотреть на разбивку входа и выхода в биллинге: кэшированный вход часто тарифицируется по своей ставке.

Коэффициенты вроде "столько-то символов на токен" зависят от токенизатора конкретной модели. Проверять их надо на своём тексте, а не по чужой памятке.

Related concepts