Один и тот же текст, отправленный двум моделям, превращается в 766 токенов в одном случае и в 1170 — в другом.
Эти цифры привел Тибо, руководитель подразделения OpenAI Codex.

Его точные слова: один токен OpenAI не равен токену другой модели. Более низкая цена за отдельный токен не обязательно означает более низкий счет.
Все сравнивают цены, ориентируясь на «столько-то долларов за миллион токенов», как будто токен — это стандартная единица вроде грамма или киловатт-часа, но это не так.
Чтобы было понятнее, он привел аналогию с пиццей.
Две одинаковые пиццы.
В первой пиццерии нарезают на 8 кусков по 2 доллара каждый. Во второй — на 16 кусков по 1,25 доллара. На вывеске второй пиццерии написано «дешевле», но за целую пиццу там придется отдать 20 долларов, а в первой — всего 16.
Он добавил: ваш желудок не интересуется, сколько кусков вы только что съели.

Каждый кусок дешевле, а целая пицца дороже. Разный способ нарезки лишает цены сопоставимости.
Токен — это минимальная единица тарификации для модели. Его можно понимать как «технику нарезки» текста у модели.
Одна и та же фраза, нарезанная по-разному, дает разное количество кусков. Оплата взимается за количество кусков. Чем больше кусков, тем дороже счет.
В данном сравнении учитывались английский язык, технические тексты, многоязычный контент и цифры.
Токенизатор GPT-5.6 Sol использовал 766 токенов, а Claude Opus 5 дал оценку в 1170.
Для одного и того же текста «техника нарезки» GPT-5.6 Sol дала на 34,5% меньше кусков.
И цена на входные данные у обеих компаний составляет 5 долларов за миллион токенов.
Цена одинаковая, количество кусков меньше на треть — и стоимость ввода тоже меньше на треть.
В этом и проблема.
Если даже в вопросе «насколько велик один токен» две компании не могут прийти к согласию, то насколько актуальна та самая таблица сравнения цен API, которую все постоянно пересылают?
Почему для одного текста получается два числа?
Потому что у токена, как единицы, попросту нет единого стандарта измерения.
Каждый производитель самостоятельно обучает свой токенизатор и сам решает, на какие фрагменты нарезать текст.
Часто встречающиеся слова токенизатор заглатывает целиком, редкие слова могут быть разбиты на три-четыре части.
Проще всего проиллюстрировать это на примере английского. Такие слова, как the, and, is, встречаются каждый день, токенизатор присваивает каждому из них свой уникальный номер, одно слово — один токен.
Если же взять длинное слово, например unbelievable, его придется разбить на части вроде un, believ, able — одно слово займет три токена.
Логика проста: токенизатор обучается на статистике из тренировочного корпуса. Какие комбинации встречаются часто, те и занимают отдельное место. Остальное приходится собирать из фрагментов.
Так что вопрос «сколько токенов в этом тексте» по сути означает «насколько часто встречаются элементы этого текста в корпусе данных у этой конкретной компании».
А английская проза — как раз тот тип контента, где различия минимальны. Для кода, JSON, длинных последовательностей цифр результаты нарезки у разных компаний будут расходиться еще сильнее.
Даже у одной компании модели разных поколений считают по-разному
Это не проблема какой-то одной компании.
В документации Anthropic прямо указано: подсчет токенов — это оценочное значение; фактическое количество входных токенов, использованных при создании сообщения, может незначительно отличаться.
Там же приводится конкретная цифра.
Модели Claude 4.7 и более поздние используют новый токенизатор. Для того же входного текста они генерируют примерно на 30% больше токенов, чем ранние модели. Конкретный прирост зависит от содержимого и характера рабочей нагрузки.

Официальная документация Anthropic: Модели Claude 4.7 и новее используют новый токенизатор. Количество токенов для того же текста примерно на треть больше. Не используйте подсчеты, сделанные для старых моделей.
Одна компания, один и тот же текст, а после смены поколения моделей — на треть больше токенов.
Поэтому официальная рекомендация такова: чтобы понять, насколько ваша рабочая нагрузка отличается, отправьте один и тот же запрос в обе модели и сравните возвращенные значения input_tokens.
Не используйте для оценки стоимости подсчеты, сделанные на ранних моделях.
Подсчеты нельзя использовать даже между моделями разных поколений у одного производителя. А уж прямое сравнение «цены за миллион токенов» между разными производителями и вовсе не является стандартизированным.
Те же 5 долларов, а разница в счете — в четырех местах
Одна и та же цена за токен, одинаковый ввод — где же разница в счетах?
Во-первых, в эффективности токенизации, о чем уже говорилось. Один и тот же текст, нарезанный на разное количество токенов, умножается на одну и ту же цену — итоговая сумма к оплате, естественно, разная.
Во-вторых, кэширование.
Цена на кэшированный ввод для GPT-5.6 Sol составляет 0,50 доллара за миллион токенов, что в десять раз меньше стандартной цены на ввод. Для рабочих нагрузок с большим количеством повторяющихся префиксов этот пункт может полностью изменить структуру счета.
В-третьих, вывод.
Вывод GPT-5.6 Sol стоит 30 долларов за миллион токенов, у Claude Opus 5 — от 25 долларов.
А в реальных рабочих процессах с агентами вес токенов вывода часто оказывается серьезнее, чем у ввода.
То есть сэкономленные ранее 34,5% вполне могут быть здесь «съедены» обратно.
В-четвертых, самый легко упускаемый из виду фактор, который прямо указан на странице модели у самого OpenAI. Если ввод для GPT-5.6 Sol превышает 272 тыс. токенов, то на весь этот запрос применяется удвоенная цена за ввод и умноженная в 1,5 раза цена за вывод.

Официальная страница модели GPT-5.6 Sol: ввод — 5 долларов, кэшированный ввод — 0,50 доллара, вывод — 30 долларов. Строкой ниже мелким шрифтом указано правило повышения цены при превышении 272К.
Повышенная ставка применяется не к превысившей лимит части, а ко всему запросу целиком.
Один и тот же код, о котором вы спросите в контексте длиной 270 тыс. токенов и в контексте длиной 280 тыс. токенов, будет иметь разную цену.
Это ограничение указано на официальной странице с ценами: чем длиннее контекст, тем быстрее растут затраты на внимание и видеопамять. Длинное окно контекста никогда не бывает бесплатным.
Окно в миллион открыли, а деньги утекают потихоньку
Затем Тибо опубликовал второй пост, в котором объяснил, как вручную увеличить окно контекста в Codex до максимума.
Откройте файл ~/.codex/config.toml и добавьте три строки перед всеми заголовками секций:
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
Первая строка выбирает модель, вторая увеличивает бюджет контекста до 1 млн токенов, третья запускает автоматическое сжатие истории примерно при 900 тыс. токенов, оставляя небольшой запас.
Сохраните файл, перезапустите клиент, начните новую сессию — настройки вступят в силу.
Если не хотите менять значения по умолчанию, можно временно переопределить их только для одной сессии в CLI:
codex -m gpt-5.6-sol
-c model_context_window=1000000
-c model_auto_compact_token_limit=900000
Оба этих ключа можно найти в официальном справочнике по настройке Codex, и их назначение соответствует написанному.
model_context_window — количество токенов в контекстном окне, доступное для текущей модели.
model_auto_compact_token_limit — порог для запуска автоматического сжатия истории.
Но в документации только описывается значение ключей, а цифры «1 млн / 900 тыс.» не указаны в качестве универсальных рекомендуемых значений.
Сам Тибо в конце своего поста добавил: значения по умолчанию были тщательно настроены.
Тогда почему так много людей хотят изменить их вручную?
Причину объясняет отчет реального пользователя на GitHub.

Этот отчет из репозитория openai/codex: директория Codex ограничивает окно 372K, эффективно доступно 353,4K, тогда как в спецификациях модели указано 1,05M.
В определенных версиях клиента Codex и при использовании аккаунта ChatGPT Pro для модели gpt-5.6-sol в директории моделей указано окно в 372 тыс. токенов, что с учетом 95% составляет фактически доступные 353,4 тыс. токенов. На официальной же странице модели заявлено 1,05 млн.
Купили миллионное окно, а на практике осталась треть.
Этот отчет имеет четкие ограничения по версии и типу аккаунта, поэтому нельзя считать его отражением текущей ситуации для всех пользователей. К тому же пост Тибо с настройками был опубликован позже.
И еще один момент, который нужно прояснить: изменение конфигурации до 1 млн не приведет к немедленному списанию стоимости за 1 млн токенов. Тарификация всегда идет по фактически обработанному объему.
Но если порог сжатия поднять до 900 тыс., это означает, что длинная сессия будет тащить за собой все более длинную историю, и каждый новый запрос будет заново обрабатывать эту историю.
Чем больше окно и чем позже происходит сжатие, тем выше вероятность, что запрос наткнется на упомянутый ранее порог в 272 тыс.
В коротких диалогах различия в токенизаторе — дело десятых долей. Но когда сессия растягивается на сотни тысяч токенов, история постоянно перетягивается, и все это умножается на повышенный коэффициент — различия из десятичных долей превращаются в разницу в целых числах.
Деньги не тратятся разом, они растут запрос за запросом.
Следующая единица — «стоимость за успешный результат»
В посте Тибо была еще одна фраза, потерявшаяся среди цифр: действительно важна стоимость за успешный результат (price per successful outcome).
И он же предложил способ. Бенчмарки могут быть отправной точкой, но чтобы понять, дорого это или нет, нужно прогнать свою собственную задачу.
Эта фраза меняет точку сравнения. С «сколько стоит миллион токенов» на «сколько всего стоит выполнить одну и ту же задачу».
Хотите узнать, какая из двух компаний в вашем случае обойдется дешевле — протестируйте сами.
Возьмите один и тот же исходный текст, с тем же распределением языков, с теми же определениями инструментов, отправьте в счетные интерфейсы обеих компаний, чтобы получить фактическое количество токенов, затем учтите кэширование, длину вывода, длину рассуждений, коэффициенты для длинного контекста и, наконец, сравните, кто справился с задачей дешевле.
Эффективность токенизации — это лишь первое звено в этой цепи. Модель, которая экономичнее на токенизации, но делает многословные выводы и требует переделок, все равно может обойтись дороже.
В будущем нужно спрашивать не сколько стоит миллион токенов, а сколько стоит починить этот баг.
Источники:
https://x.com/thsottiaux/status/2089082893804896524?s=20
https://x.com/thsottiaux/status/2088866513008873560?s=20 https://github.com/openai/codex/issues/31860
Статья из WeChat Official Account «Xin Zhi Yuan», автор: ASI启示录






