Sonnet 5 или Opus 5.5? Цена в Zukko одна — как выбрать по своим задачам

В Zukko обе модели стоят одинаково, поэтому выбор — по результатам на ваших задачах. Показываем, как провести A/B-проверку и что измерять.

4 мин · · модели · сравнение

Claude Sonnet 5 или Claude Opus 5.5 — частый вопрос, и в Zukko он решается иначе, чем у вендора: обе модели стоят одинаково, $0.30 за 1 млн входных и $0.30 за 1 млн выходных токенов. Значит, выбирать нужно не по прайсу, а по тому, какая модель лучше справляется с вашими задачами. Ниже — цены для справки и пошаговый метод сравнения с кодом.

Цены: официальные и в Zukko

МодельВход (официально)Выход (официально)Вход (Zukko)Выход (Zukko)
Claude Sonnet 5$2.00$10.00$0.30$0.30
Claude Opus 5.5$4.00$20.00$0.30$0.30

Пример на месячном объёме: 10 млн входных и 2 млн выходных токенов.

Официально, Sonnet 5: 10 × $2.00 + 2 × $10.00 = $20 + $20 = $40.00 Официально, Opus 5.5: 10 × $4.00 + 2 × $20.00 = $40 + $40 = $80.00 Zukko, любая из двух: 10 × $0.30 + 2 × $0.30 = $3.00 + $0.60 = $3.60

(здесь объёмы в миллионах токенов, цены — за 1 млн.)

У вендора переход с Sonnet на Opus на этом объёме добавил бы $40 в месяц. В Zukko цена одна, поэтому Opus 5.5 не дороже за токен. Но итоговый счёт всё равно может различаться: если одна модель отвечает длиннее, она тратит больше выходных токенов.

Оговорка для агентов с большим повторяющимся контекстом: у вендора чтение из кэша промптов стоит около 10% входной цены, а в Zukko кэшированные токены оплачиваются по обычной входной цене. В таких сценариях реальная разница с официальным API меньше, чем показывает расчёт выше.

Что у моделей одинаково

  • Контекст — 1M токенов у обеих.
  • Форматы вызова — Anthropic (/v1/messages) и OpenAI (/v1/chat/completions), шлюз конвертирует.
  • Параметры запроса и обработка ошибок — одинаковые; модель меняется одной строкой.
  • Цена в Zukko — $0.30 / $0.30.

Что сравнивать на своих задачах

Мы не публикуем собственных замеров качества или скорости — данных, которые подходили бы к вашим задачам, у нас нет. Поэтому вместо общих советов вида «эта модель лучше в X» предлагаем измерить четыре вещи:

  1. Долю успешных ответов по вашему критерию.
  2. Выходные токены на ответ — от них зависит счёт.
  3. Время ответа — медиану по нескольким запросам.
  4. Число итераций в агенте, если модель работает с инструментами: больше шагов — больше токенов.

Критерий успеха зависит от типа задачи:

ЗадачаКак проверять автоматически
Классификацияответ совпадает с эталонной меткой
Извлечение данныхJSON парсится, нужные поля заполнены и совпадают с эталоном
Генерация кодакод проходит ваши тесты
Тексты, ответы клиентамслепая оценка по чек-листу из 3–5 пунктов

A/B-проверка: пошагово

  1. Возьмите 20–30 типичных запросов, которые реально проходят через вашу систему. Добавьте несколько трудных случаев — на простых модели часто отвечают одинаково.
  2. Для каждого запишите эталон или функцию проверки.
  3. Прогоните одни и те же запросы через обе модели с одинаковым промптом.
  4. Сохраните ответы, токены и время.
  5. Сравните итоговые цифры. Тексты оценивайте вслепую, не глядя на название модели.
bash
import time
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.zukko.pro",
    api_key="fetch_ваш_ключ",
)

cases = [
    {"prompt": "Определи тональность отзыва одним словом (позитив/нейтрал/негатив): "
               "'Товар пришёл, но упаковка помята, доставку переносили дважды.'",
     "check": lambda a: a.strip().lower().startswith("негатив")},
    {"prompt": "Напиши регулярное выражение Python для email с доменом .ru или .com. "
               "Выведи только выражение.",

Стоимость прогона легко посчитать заранее. 30 случаев × 2 модели, в среднем 500 входных и 500 выходных токенов на запрос:

60 запросов × (500 + 500) токенов = 60 000 токенов 60 000 × $0.30 / 1 000 000 = $0.018

Как переключаться между моделями

Вынесите название модели в переменную окружения — тогда смена модели не требует правки кода:

bash
import os

MODEL = os.getenv("CLAUDE_MODEL", "claude-sonnet-5")

response = client.messages.create(
    model=MODEL,
    max_tokens=1024,
    messages=[{"role": "user", "content": "..."}],
)

В Claude Code то же самое делает переменная ANTHROPIC_MODEL. Подробности — в инструкции по Claude Code.

Маршрутизация по результатам проверки

Если задачи в системе разнородные, разбейте A/B-набор по типам и посмотрите результаты отдельно для каждого типа. Затем закрепите выбор в коде:

bash
ROUTES = {
    "classify": "claude-sonnet-5",   # заполните по итогам своих замеров
    "extract": "claude-sonnet-5",
    "analysis": "claude-opus-5-5",
}

def model_for(task_type: str) -> str:
    return ROUTES.get(task_type, "claude-sonnet-5")

Значения в ROUTES — заготовка, а не рекомендация: проставьте их по своим цифрам. Если на каком-то типе обе модели проходят одинаково, выбирайте ту, что тратит меньше выходных токенов или отвечает быстрее по вашей медиане. Перепроверяйте маршруты, когда меняется промпт или в каталоге появляется новая модель.

Чтобы попробовать, создайте ключ в кабинете — для такого теста достаточно минимального пополнения. Набор моделей меняется: актуальный список — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Частые вопросы

Opus 5.5 всегда лучше Sonnet 5?

Общего ответа нет, и мы не будем его выдумывать. Прогоните свой набор из 20–30 задач по методу выше и сравните долю успешных ответов. Результат на ваших данных важнее любых общих рейтингов.

Я проверил обе модели и не увидел разницы. Какую выбрать?

Ту, что по вашим замерам тратит меньше выходных токенов (счёт будет меньше) или отвечает быстрее. Если и здесь паритет — любую; вернитесь к сравнению, когда изменится задача.

Можно ли работать на одной модели и переключаться на другую по ситуации?

Да. Вынесите модель в конфиг и маршрутизируйте по типу задачи, как показано выше. Главное — опираться на результаты проверки, а не на предположения.

Контекстное окно одинаковое?

Да, у обеих 1M токенов. Сколько займёт ваш текст, можно узнать через count_tokens до отправки запроса.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.