Opus 4.7 использует на 45% больше токенов. Реальные замеры против обещаний Anthropic. anthropic.. anthropic. claude 4.7.. anthropic. claude 4.7. claude code.. anthropic. claude 4.7. claude code. IFEval.. anthropic. claude 4.7. claude code. IFEval. instruction following.. anthropic. claude 4.7. claude code. IFEval. instruction following. prompt caching.. anthropic. claude 4.7. claude code. IFEval. instruction following. prompt caching. стоимость API.. anthropic. claude 4.7. claude code. IFEval. instruction following. prompt caching. стоимость API. токенайзер.. anthropic. claude 4.7. claude code. IFEval. instruction following. prompt caching. стоимость API. токенайзер. токены.

В гайде по миграции для Claude Opus 4.7 написано: новый токенайзер использует «примерно в 1.0–1.35 раза больше токенов», чем 4.6. Я замерил и получил 1.47x на технической документации, и 1.45x на реальном CLAUDE.md-файле.

Цены те же. Квоты те же. Токенов в промпте больше. Max-план сгорает быстрее. Кешированный префикс стоит дороже за каждую итерацию. Рейтлимит наступает раньше.

Значит, Anthropic что-то получили в обмен. Что именно — и стоит ли оно того?

Я провёл два эксперимента: первый измерил стоимость, второй проверил заявленные преимущества. Вот что получилось.

Сколько это стоит?

Для измерения я использовал POST /v1/messages/count_tokens — бесплатный счётчик токенов Anthropic без инференса. Один и тот же контент, обе модели, одно число на каждую. Разница чисто в токенайзере.

Два набора образцов.

  1. Первый: семь образцов реального контента, который пользователь Claude Code реально отправляет — CLAUDE.md-файл, пользовательский промпт, пост в блоге, git log, вывод терминала, stack trace, code diff.

  2. Второй: двенадцать синтетических образцов разных типов — английская проза, код, структурированные данные, CJK (Chinese, Japanese, Korean), emoji, математические символы — чтобы посмотреть, как соотношение меняется в зависимости от контента.

Основной цикл — три строки Python:

from anthropic import Anthropic
client = Anthropic()

for model in ["claude-opus-4-6", "claude-opus-4-7"]:
    r = client.messages.count_tokens(
        model=model,
        messages=[{"role": "user", "content": sample_text}],
    )
    print(f"{model}: {r.input_tokens} tokens")

Реальный контент Claude Code

Семь образцов из реальных файлов, которые пользователь Claude Code действительно отправляет:

Тип контента

символов

токенов 4.6

токенов 4.7

коэффициент

CLAUDE.md (реальный файл, 5 КБ)

5 000

1 399

2 021

1.445

Пользовательский промпт (типичная задача в Claude Code)

4 405

1 122

1 541

1.373

Отрывок из поста в блоге (Markdown)

5 000

1 209

1 654

1.368

Git commit log

2 853

910

1 223

1.344

Вывод терминала (запуск pytest)

2 210

652

842

1.291

Python stack trace

5 255

1 736

2 170

1.250

Code diff

4 540

1 226

1 486

1.212

Взвешенный ratio по всем семи образцам: 1.325x (8 254 → 10 937 токенов).

Базовые показатели по типам контента (12 синтетических образцов)

Тип контента

символов

4.6

4.7

ratio

Техническая документация (английский)

2 541

478

704

1.47

Shell script

2 632

1 033

1 436

1.39

TypeScript код

4 418

1 208

1 640

1.36

Испанская проза

2 529

733

986

1.35

Markdown с блоками кода

2 378

604

812

1.34

Python код

3 182

864

1 112

1.29

Английская проза

2 202

508

611

1.20

JSON (dense)

48 067

13 939

15 706

1.13

Определения инструментов (JSON Schema)

2 521

738

826

1.12

CSV (числовые данные)

9 546

5 044

5 414

1.07

Японская проза

993

856

866

1.01

Китайская проза

750

779

789

1.01

Взвешенный ratio для английского и кода: 1.345x. CJK (Chinese, Japanese, Korean): 1.01x в обоих случаях.

Если статья понравится — приглашаю в канал AI for Devs. Каждый день публикую похожие материалы: модели, агенты, практические кейсы и новости из мира AI.

Что изменилось в токенайзере

Из данных видно три паттерна.

CJK, emoji и символы сдвинулись на 1.005–1.07x. Если бы словарь был полностью новым, сдвиг был бы равномерным. Этого не произошло — значит, не-латинская часть словаря изменилась меньше.

Английский и код сдвинулись на 1.20–1.47x на естественном контенте. Это согласуется с тем, что в 4.7 используются более короткие или менее частые sub-word merges для распространённых паттернов в английском и коде.

Код пострадал сильнее, чем уникальная проза (1.29–1.39x против 1.20x). В коде больше повторяющихся высокочастотных строк — ключевые слова, импорты, идентификаторы — именно те паттерны, которые BPE, обученный на коде, сворачивает в длинные merges.

Символов на токен в английском упало с 4.33 до 3.60. В TypeScript — с 3.66 до 2.69. Словарь представляет тот же текст более мелкими кусками.

Это гипотеза, не доказательство. Подсчёт токенов не говорит о том, какие конкретно записи в проприетарном словаре Anthropic изменились.

Зачем выпускать токенайзер, который использует больше токенов

Из гайда по миграции от Anthropic: «более буквальное следование инструкциям, особенно на низких уровнях effort. Модель не будет молча обобщать инструкцию с одного элемента на другой.»

Меньшие токены заставляют attention работать над отдельными словами. Это задокументированный механизм для более точного следования инструкциям, задач на уровне символов и точности вызовов инструментов. Партнёры (Notion, Warp, Factory) сообщают о меньшем количестве ошибок в инструментах на длинных сессиях.

Токенайзер — один из возможных факторов. Веса и пост-обучение тоже изменились. Подсчёт токенов не позволяет их разделить.

Действительно ли 4.7 лучше следует инструкциям

Цену мы выяснили. Теперь вопрос: что Anthropic получили взамен?

Их заявление — «более буквальное следование инструкциям». Правдоподобно, но данные по токенам это не доказывают. Я провёл прямой тест.

IFEval (Zhou et al., Google, 2023) — бенчмарк из промптов с верифицируемыми ограничениями: «ответь ровно N слов», «включи слово X дважды», «без запятых», «всё заглавными». У каждого ограничения есть Python-грейдер. Бинарный pass/fail.

IFEval содержит 541 промпт. Я взял 20 с фиксированным seed, прогнал через обе модели и оценил с помощью официального чекера IFEval.

Метрика

4.6

4.7

Delta

Strict, prompt-level (все прошли)

17/20 (85%)

18/20 (90%)

+5pp

Strict, instruction-level

25/29 (86%)

26/29 (90%)

+4pp

Loose, prompt-level

18/20 (90%)

18/20 (90%)

0

Loose, instruction-level

26/29 (90%)

26/29 (90%)

0

Небольшое, но направленно согласованное улучшение на strict instruction following. Loose-оценка не изменилась. Обе модели уже следуют инструкциям на высоком уровне — разрыв в strict-режиме объясняется тем, что 4.6 иногда спотыкается на точном форматировании там, где 4.7 справляется.

Материально изменился только один тип инструкций: change_case:english_capital (0/1 → 1/1). Всё остальное — ничья. Промпт, который реально разделил модели — цепочка из четырёх ограничений, где 4.6 провалила одно, а 4.7 прошла все четыре.

Несколько оговорок.

N=20, тогда как в IFEval всего 541 промпт. Выборки хватает, чтобы увидеть направление, но не оценить размер эффекта. Delta +5pp при такой выборке совместима с чем угодно — от нулевой разницы до реального улучшения на +10pp.

Это суммарный эффект перехода с 4.6 на 4.7. Токенайзер, веса и пост-обучение — всё изменилось. Выделить вклад конкретно токенайзера невозможно.

По одной генерации на промпт. Несколько запусков на промпт давали бы более точную оценку.

Итог: 4.7 следует строгим инструкциям на несколько процентных пунктов лучше на этой выборке. Эффект небольшой, выборка маленькая. Не «драматическое улучшение» из цитат партнёров в анонсе — по крайней мере, не на этом бенчмарке.

Дополнительные токены принесли +5pp на strict instruction following. Немного, но как есть.

Математика для одной сессии Claude Code

Представьте длинную сессию Claude Code — 80 итераций туда-обратно на отладку или рефакторинг.

Контекст каждой итерации:

  • Статический префикс: 2K CLAUDE.md + 4K определений инструментов = 6K токенов, одинаковых каждую итерацию

  • История разговора: растёт примерно на 2K за итерацию (500-токенное сообщение пользователя + 1500-токенный ответ), к итерации №80 мы получим ~160K токенов

  • Пользовательский ввод: ~500 свежих токенов за итерацию

  • Вывод: ~1500 токенов за итерацию

  • Cache hit rate: ~95% (типично в пределах 5-минутного TTL)

Одно уточнение: средний кешированный префикс за 80 итераций — ~86K токенов, а не 6K. Статические 6K — это мелочь; история разговора в среднем по всем итерациям (0 на первой, 160K на восьмидесятой, среднее ~80K) — вот что реально влияет на стоимость. Большая часть cache-read приходится на поздние итерации с разросшейся историей, поэтому ~86K — это то, что фактически тарифицируется за итерацию.

Стоимость сессии 4.6

Статья

Расчёт

Стоимость

Итерация №1, cache-write

8K × $6.25/MTok

$0.05

Итерации 2–80, cache reads

79 × 86K × $0.50/MTok

$3.40

Свежий ввод

79 × 500 × $5/MTok

$0.20

Вывод

80 × 1 500 × $25/MTok

$3.00

Итого

~$6.65

Cache reads доминируют в стоимости ввода. Вывод доминирует в общей стоимости.

Стоимость сессии 4.7

Каждый токен в префиксе масштабируется по ratio своего типа:

  • CLAUDE.md: 1.445x → 2K становится 2.9K

  • Определения инструментов: 1.12x → 4K становится 4.5K

  • История разговора (в основном английский и код): 1.325x → 160K становится 212K к ходу 80, среднее ~106K за сессию

  • Пользовательский ввод: 1.325x → 500 становится ~660

Средний кешированный префикс в 4.7: ~115K токенов (против 86K). Токены вывода — открытый вопрос: примерно столько же, что и в 4.6, или до ~30% больше, если новый дефолт xhigh в Claude Code генерирует больше thinking-токенов.

Статья

Расчёт

Стоимость

Ход 1, cache-write

10K × $6.25/MTok

$0.06

Ходы 2–80, cache reads

79 × 115K × $0.50/MTok

$4.54

Свежий ввод

79 × 660 × $5/MTok

$0.26

Вывод

80 × 1 500–1 950 × $25/MTok

$3.00–$3.90

Итого

~$7.86–$8.76

Разница

~$6.65 → ~$7.86–$8.76. Примерно на 20–30% больше за сессию.

Цена за токен не изменилась. Стоимость сессии изменилась — потому что та же сессия включает в себя больше токенов.

Для пользователей Max-плана, которые упираются в рейтлимиты, а не в доллары: 5-часовое окно заканчивается раньше примерно в том же соотношении на англоязычном контенте. Сессия, которая на 4.6 укладывалась в окно, на 4.7 может не уложиться.

Как это влияет на prompt cache

Prompt caching — архитектура, на которой работает Claude Code.

Для тех, кто не знаком с тем, как устроен Prompt Caching крайне рекомендую следующую статью: Prompt Caching: токены LLM в 10 раз дешевле — но за счёт чего?

Изменение токенайзера затрагивает кеширование в трёх местах.

  1. Первая сессия на 4.7 стартует без кеша. Prompt cache Anthropic разделён по моделям — переход с 4.6 на 4.7 сбрасывает все кешированные префиксы, как при переключении между Opus и Sonnet. Токенайзер тут ни при чём, но он делает холодный старт дороже: префикс, который вы пишете в новый кеш, на 1.3–1.45x больше, чем аналогичный в 4.6.

  2. Объём кеша растёт пропорционально. На 1.445x больше токенов в CLAUDE.md — значит, cache-write платится один раз за 1.445x больше токенов, и cache-read каждой следующей итерации — тоже. Механизм не поменялся, просто стал дороже.

  3. Одна и та же сессия — разные числа в логах. Если вы перезапустите сессию с 4.6 на 4.7, количество токенов в логах изменится. Если биллинг или мониторинг завязаны на исторические подсчёты токенов, в день переключения model ID будет скачок.

Контраргументы

«Ввод — в основном cache reads. Изменение стоимости за токен минимально.»

Справедливо. В сессии, которая укладывается в 5-минутный TTL, 96% ввода — это cache reads по $0.50/MTok, уже со скидкой 90% от номинала. Ratio 1.325x на кешированной части — меньший долларовый эффект, чем на свежем вводе.

Но Max-планы считают все токены в рамках рейтлимитов, а не долларов. И несколько паттернов попадают в некешированную территорию: первая сессия после истечения TTL, каждый cache-bust (редактирование CLAUDE.md, изменение списка инструментов, смена модели), каждое событие компакции, перезаписывающее префикс. На этих ходах вы платите полный ratio при cache-write. Устойчивое состояние — светлая точка. Края стали шумнее.

«Anthropic задокументировали 1.0–1.35x как диапазон, а не жёсткий потолок.»

Согласен. Реальный взвешенный ratio (1.325x) попадает в верхнюю часть их диапазона. Отдельные типы файлов его превышают — CLAUDE.md на 1.445x, техническая документация на 1.473x. Это и есть полезный вывод: верхняя граница документированного диапазона — это норма для большинства контента в Claude Code, а не верхняя граница. Планируйте с расчётом на верхний диапазон, не на среднее.


Токены на английском и в коде стали дороже в 1.3–1.45x. За это Anthropic получили +5pp на strict instruction following. Цена за токен та же. Стоимость сессии — нет.

Стоит ли оно того? Зависит от того, что вы делаете. Вы платите примерно на 20–30% больше за сессию ради небольшого, но реального улучшения того, насколько буквально модель следует вашему промпту.

Русскоязычное сообщество про AI в разработке

Opus 4.7 использует на 45% больше токенов. Реальные замеры против обещаний Anthropic - 1

Друзья! Перевод этой статьи подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-агентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!

Автор: python_leader

Источник