Opus 5.5 vs Fable 5.1: сравнение в Claude Code

7 минут чтения

На правке календаря рабочих дней Opus 5.5 и Fable 5.1 прошли все 57 проверок. Opus закончил за 6-7 минут, Fable за 9. Оценка по ценам API: $2,3-2,6 против $5,8 за прогон, в среднем разница в 2,4 раза.

Я сравнил модели 15 октября 2026 года в Claude Code 2.1.280: по два прогона на уровне усилий xhigh, приёмка записана заранее, плюс контрольный прогон на Sonnet 5. На этой задаче Opus оказался быстрее и дешевле по прайсу API. Ревью нашло различия в тестах и сопровождении кода; устойчивого преимущества Fable по двум попыткам не видно. Расход лимита подписки отдельно для каждой модели этот замер не определяет.

Четыре прогона одной задачи, 15.10.2026

Opus 5.5
Fable 5.1

Приёмка, 57 случаев

Opus 5.5

57 и 57

Fable 5.1

57 и 57

Время до ответа, мин:с

Opus 5.5

6:44 и 6:07

Fable 5.1

9:18 и 9:10

Оценка по ценам API

Opus 5.5

$2,59 и $2,33

Fable 5.1

$5,75 и $5,83

Задача и как я уравнял условия

Блок «Заработок в будний день» в админке сайта считал будними все дни с понедельника по пятницу. Задача из бэклога: считать рабочие дни по календарю Беларуси. Список праздников, правило «праздник на выходном не переносится» и перенос 2026 года были в задании. Самим моделям оставалось вычислить Радуницу: она идёт от православной Пасхи, а в 2100 году разница юлианского и григорианского календарей вырастает с 13 до 14 дней.

Каждый прогон шёл в своей копии репозитория с рабочим CLAUDE.md проекта, в режиме claude -p, все пять одновременно. По умолчанию у Opus 5.5 стоит уровень усилий medium, у Fable 5.1 high. Обеим задан xhigh; Anthropic калибрует эту настройку отдельно для каждой модели. Команды агента шли в песочнице: без сети, запись только в свою копию и временную папку. Субагенты выключены. Человек в прогоны не вмешивался.

Замер готовил наш конвейер статей, а он сам работает в Claude Code на Opus 5.5. Поэтому приёмку записали до прогонов, а скрипт считает календарь сам и кода агента не знает. Он проверяет все месяцы 2026, 2030, 2045 и 2100 годов, неполный апрель, Радуницу за сто лет, шесть дат расчёта блока и деньги, пришедшие в праздник. Контрольный прогон на модели подешевле, Sonnet 5, показывает, нужна ли задаче сильная модель вообще: тоже 57 из 57, за 8:28 и $1,80.

Приёмка: исходная версия и пять прогонов, 15.10.2026
base: 28/57
opus-1: 57/57
opus-2: 57/57
fable-1: 57/57
fable-2: 57/57
sonnet-c: 57/57

Чем отличались правки

Код проверял ИИ-ревьюер на Opus 5.5. Он видел изменения под буквами, без имён моделей. Все реализации совпали с независимым расчётом за каждый месяц 1900-2199 годов. Расчёт следовал заданию: переносы рабочих дней учитывались только за 2026 год.

Затем ревьюер намеренно ломал код. Все наборы тестов поймали пять подготовленных поломок. При удалении 8 марта, 9 мая или 7 ноября тесты одного прогона Opus и контрольного Sonnet оставались зелёными: в 2026 году эти праздники выпали на выходные. В 2027 году такой код уже считал бы понедельник 8 марта рабочим. Тесты второго прогона Opus и обоих прогонов Fable заметили все три удаления.

Оба прогона Opus добавили в бэклог ежегодное обновление переносов. Один прогон Fable вывел годы с учтёнными переносами в подпись блока. Его тест считал 28 апреля 2025 года рабочим, как и требовало задание для года без данных о переносах. В реальном календаре этот день перенесли. При добавлении переносов за 2025 год тест придётся обновить.

Откуда взялся расход токенов

Opus 5.5
Fable 5.1

Запросов к API

Opus 5.5

33 и 27

Fable 5.1

17 и 14

Ответ модели, тыс. токенов

Opus 5.5

41,8 и 37,9

Fable 5.1

47,1 и 47,8

Записано в кэш, тыс. токенов

Opus 5.5

133 и 131

Fable 5.1

147 и 153

Прочитано из кэша, млн токенов

Opus 5.5

3,46 и 2,63

Fable 5.1

1,84 и 1,46

Почему Fable дороже в 2,4 раза и что это значит на подписке

По прайсу Anthropic на 15.10.2026 миллион токенов Fable 5.1 дороже Opus 5.5 в 2,5 раза на входе, ответе и записи в кэш, на чтении из кэша в 1,25 раза. Объём работы вышел сопоставимым: по ценам Opus прогоны Fable стоили бы $2,49 и $2,48, в пределах самого Opus. Разницу дала цена токена, и короткие прогоны её почти не смягчили: чтение из кэша дало только 6-27% суммы. В этих прогонах Fable делала в среднем 2,8-2,9 вызова инструментов на запрос к API, Opus 1,2-1,4. Запросов у Fable было меньше, поэтому история отправлялась модели реже. Если в другой сессии основная часть расходов придётся на чтение кэша, ценовой разрыв может сократиться.

Сумму total_cost_usd Claude Code оценивает по прайс-листу API, наш пересчёт совпал до цента. Эта оценка не показывает расход лимита подписки. Прогоны шли на Max: за девять минут израсходованная доля пятичасового лимита выросла с 35 до 48%, недельного с 86 до 88%. Долю одной модели выделить нельзя: одновременно работали все пять прогонов и ещё две сессии аккаунта.

По условиям Anthropic на 15.10.2026 Fable включена в Max в пределах половины общего недельного лимита и расходует его быстрее других моделей. Дальше можно продолжить за usage credits, то есть с доплатой. На Pro Fable доступна только за эту доплату. Беларуси на эту дату нет в официальном перечне поддерживаемых регионов Anthropic.

Какую модель Claude выбрать

Про Opus 5.5 Anthropic пишет, что на большинстве задач он работает на уровне Fable 5.1, и советует начинать с него. Для сложных рассуждений, многочасовой автономной работы или задач, с которыми Opus не справился на xhigh или max, Anthropic советует Fable. Наш короткий прогон с готовыми правилами эти сценарии не проверял. Для повседневного кода с упором на скорость Anthropic называет Sonnet 5.5; ей нужен Claude Code 2.1.284, а замер шёл на 2.1.280.

Данные Anthropic на 15.10.2026

Opus 5.5
Fable 5.1

Дата выхода

Opus 5.5

22 сентября 2026

Fable 5.1

1 сентября 2026

За 1 млн токенов API: вход и ответ

Opus 5.5

$4 и $20

Fable 5.1

$10 и $50

API за 1 млн токенов: запись в кэш на час и чтение

Opus 5.5

$8 и $0,20

Fable 5.1

$20 и $0,25

В Claude Code

Opus 5.5

модель по умолчанию с версии 2.1.280

Fable 5.1

выбирается вручную

Как проверить на своей задаче

  1. Возьмите задачу с проверяемым результатом и запишите приёмку до первого запуска, лучше скриптом, который не читает код агента.
  2. Сделайте по копии проекта на прогон, например через git worktree, и запускайте с одинаковыми флагами. Меняется только модель.
  3. Минимум два прогона на модель: у нас два прогона Opus разошлись на 37 секунд и 26 центов.
  4. Проверьте каждую копию своей приёмкой и прочитайте дифф: зелёные тесты не показывают, что ещё агент поменял.
  5. Сравните время, оценку API и расход лимита в /usage до и после каждого прогона. На время замера остановите остальные сессии аккаунта.

Прогон Fable на Pro в режиме -p оплачивается из usage credits без подтверждения.

Два запуска и сводка: файл, модель, минуты, ходы, оценка API в долларах, основа расчёта
# Минимальный пример для проекта с package-lock.json и npm test.
# Из папки проекта; task.md с заданием лежит рядом с ней.
git worktree add ../copy-opus-1
git worktree add ../copy-fable-1
# Для второго прогона создайте новые копии с суффиксом -2.
# В каждой копии свои зависимости; .env, если он нужен тестам, скопируйте сами.
(cd ../copy-opus-1 && npm ci) && (cd ../copy-fable-1 && npm ci)
# acceptEdits разрешает править файлы; команды, исполняющие код, в режиме -p разрешают заранее через --allowedTools.
cd ../copy-opus-1
claude -p "$(cat ../task.md)" --model claude-opus-5-5 --effort xhigh --setting-sources project,local --strict-mcp-config --permission-mode acceptEdits --disallowedTools "WebFetch WebSearch Agent Skill" --allowedTools "Bash(npm test:*)" --output-format json > ../opus-1.json
cd ../copy-fable-1
claude -p "$(cat ../task.md)" --model claude-fable-5-1 --effort xhigh --setting-sources project,local --strict-mcp-config --permission-mode acceptEdits --disallowedTools "WebFetch WebSearch Agent Skill" --allowedTools "Bash(npm test:*)" --output-format json > ../fable-1.json
cd ..
# list означает расчёт по открытому прайсу.
jq -r 'if .is_error then error("Прогон завершился ошибкой") elif ((.modelUsage // {} | keys | length) != 1) then error("В прогоне должна быть ровно одна модель") else [(input_filename | split("/") | last), (.modelUsage | keys[0]), (.duration_ms / 60000 * 10 | round / 10), .num_turns, (.total_cost_usd * 100 | round / 100), ([.modelUsage[].costBasis][0])] | @tsv end' opus-1.json fable-1.json

Если на xhigh вашу приёмку проходит только Fable, это и есть повод на неё перейти.

Что дальше

Новые посты на почту

Без спама. Отписка в один клик в любом письме.