Как субсловная токенизация различается для английского текста, кода и CJK
Современные BPE-токенизаторы (семейство o200k_base от OpenAI, токенизатор Claude 5 от Anthropic и словари Gemini на базе SentencePiece) делят текст на байтовые или символьные субслова, а не по пробелам. Обычный английский текст содержит в среднем 3.8–4.2 символов на токен, тогда как ключи JSON, отступы, стектрейсы и URL из-за пунктуации сжимают плотность до 2.5–3.2 символов на токен.
Китайское, японское и корейское письмо обычно требует от 0.6 до 1.1 токенов на символ, а новый токенизатор Claude 5 от Anthropic на плотном коде и многоязычных текстах может давать на 25%–30% больше токенов, чем словарь Sonnet 4.6.
| Тип входного контента | Типичная плотность токенов | Рекомендация по бюджету |
|---|---|---|
| Обычный английский текст | ~0.75 токена / слово (~4 симв. / токен) | Подходит для первичной оценки; заложите запас 10% |
| TypeScript / Python / схемы JSON | 1 токен на 2.5–3.3 символов | Минимизируйте повторяющиеся схемы и удаляйте комментарии |
| Китайский / японский / корейский (CJK) | ~0.7–1.1 токена на символ | Проверьте usage.prompt_tokens на одном реальном вызове |
| Многоходовые истории агентов | Накапливается на каждом шаге инструмента | Помещайте статические инструкции в начало для чтения из кэша |