← Все статьи
Guide

Как маршрутизировать Claude Fable 5, Opus 4.8 и Sonnet 4.6 по задаче и бюджету

A cream-background editorial illustration of three Claude model lanes labeled by abstract icons: a small fast lane, a ba

Anthropic повесила на передовую автономность конкретный ценник: Claude Fable 5 в Claude API стоит $10 за миллион входных токенов и $50 за миллион выходных токенов, тогда как Sonnet 4.6 стоит $3/$15, а Opus 4.8 — $5/$25 (Fable, Sonnet, Opus). Вся продуктовая развилка — в этом разбросе.

Если вы отправляете каждый промпт для кодинга в Fable, вы не становитесь “frontier”. Вы просто пропускаете архитектуру.

На 16 июня 2026 года есть еще нюанс с доступностью: на странице Fable у Anthropic сказано, что Fable 5 сейчас недоступен, а Anthropic сообщает, что 12 июня приостановила доступ после директивы правительства США, затрагивающей Fable 5 и Mythos 5 (заявление Anthropic). Это не делает слой маршрутизации менее полезным. Наоборот, делает его срочным. Ваше приложение уже должно уметь деградировать с Fable до Opus или Sonnet, не будя инженера.

В этом гайде мы соберем такой слой: Sonnet по умолчанию, Opus для критичной продакшен-работы, Fable — только для долгих агентных задач, где ценность правильного результата перекрывает счет за токены.

Обложечный график сравнения цены и возможностей с тремя вертикальными столбцами для Sonnet 4.6, Opus 4.8 и Fable 5; ось y

Правило маршрутизации: Fable — специалист, а не вариант по умолчанию

Начните с прямой таблицы.

МодельAPI model IDЦена входа / выходаДля чего использовать
Claude Sonnet 4.6claude-sonnet-4-6$3 / $15 за 1M токеноврутинный кодинг, ревью, поддержка, извлечение данных, большинство агентов
Claude Opus 4.8claude-opus-4-8$5 / $25 за 1M токеновкод продакшен-уровня, сложные ревью, агентные шаги, где нужно суждение
Claude Fable 5claude-fable-5$10 / $50 за 1M токеновдолгие, ценные агентные задачи с реальной выгодой

Позиционирование самой Anthropic хорошо ложится на это разделение. Sonnet 4.6 подается как универсальная повседневная модель для кодинга, агентов и профессиональных рабочих процессов, с контекстным окном на 1M токенов, сейчас в API beta (Anthropic Sonnet). Opus 4.8 позиционируется для серьезного кодинга, агентных workflows и критичных enterprise-задач (Anthropic Opus). Fable 5 описывается как модель уровня Mythos для амбициозных, долгих проектов и агентов, которые умеют планировать по этапам, делегировать и проверять собственную работу (Anthropic Fable).

Отсюда получается чистая политика:

  1. По умолчанию используйте Sonnet. Большинство промптов не заслуживают модель за $50/M выходных токенов.
  2. Повышайте до Opus, когда ошибка стоит дорого. Думайте о миграциях схем, security-sensitive PR review, финансовом анализе и многофайловых рефакторингах.
  3. Используйте Fable только когда задача большая, неоднозначная и стоит более высокого счета. Многодневные запуски агентов, модернизация кодовой базы, глубокие исследовательские пакеты и workflows в духе “доведи этот проект до готовности”.

Спор в сообществе в основном крутится вокруг третьей корзины. HN-тред о приостановке Anthropic от 12 июня собрал больше тысячи комментариев, судя по индексированным HN-рекапам, и дискуссия быстро распалась на безопасность, геополитику и вопрос, может ли вообще кто-то позволить себе агентное использование по таким ценам (HN thread, recap reference). Reddit-треды были прямее: разработчики жаловались на прожорливые по токенам сессии Claude Code, лимиты подписок и на то, не загоняет ли $50/M выходных токенов Fable в территорию “только для enterprise” (обсуждение ClaudeCode, обсуждение в сабреддите ChatGPT).

Практический ответ, которого не хватает в большинстве тредов: не спорьте об одной глобально “лучшей модели”. Маршрутизируйте по ожидаемой ценности.

Шаг 1: Используйте OneHop как слой доступа без лишней переделки

Если нужен самый короткий путь, используйте OneHop как provider layer и держите код приложения нейтральным к провайдеру. На странице Fable у OneHop указан anthropic/claude-fable-5, показаны официальные цены рядом с ценами OneHop, и сказано, что новые аккаунты получают $10 бесплатно без карты (OneHop Fable 5). Текущая страница указывает поддержку Anthropic Messages по адресу https://api.onehop.ai/anthropic; используйте его для Anthropic SDK.

Установите SDK:

pip install anthropic
export ONEHOP_API_KEY="your_key_here"

Минимальный вызов:

from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ["ONEHOP_API_KEY"],
    base_url="https://api.onehop.ai/anthropic",
)

message = client.messages.create(
    model="anthropic/claude-fable-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Plan a safe Rails 6 to Rails 8 migration."}],
)

print(message.content[0].text)

Это и есть точка интеграции. Ваш слой маршрутизации должен находиться над ней и решать, какую строку модели отправлять.

Ценность OneHop здесь скучная — в лучшем смысле: один аккаунт, понятная страница модели и смена base URL вместо переписывания приложения. Если Fable на паузе или недоступен, тот же router может направить дорогие задачи в Opus и сохранить продукт живым.

Начните отсюда, если вам просто нужен доступ и кредиты: Claude Fable 5 на OneHop, затем стартуйте с $10 бесплатно.

Шаг 2: Соберите router с учетом бюджета

Вот компактный Python-router, который можно запустить. Он оценивает стоимость запроса, применяет лимит на один вызов, откатывается назад, когда Fable недоступен, и держит Sonnet вариантом по умолчанию.

import os
from dataclasses import dataclass
from anthropic import Anthropic, APIError, RateLimitError

PRICES = {
    "sonnet": {"model": "claude-sonnet-4-6", "in": 3.00, "out": 15.00},
    "opus": {"model": "claude-opus-4-8", "in": 5.00, "out": 25.00},
    "fable": {"model": "anthropic/claude-fable-5", "in": 10.00, "out": 50.00},
}

@dataclass
class Task:
    kind: str
    prompt: str
    max_output_tokens: int = 2000
    budget_usd: float = 0.25
    high_value: bool = False
    long_running: bool = False
    production_risk: bool = False

def rough_tokens(text: str) -> int:
    return max(1, len(text) // 4)

def estimate_cost_usd(model_key: str, input_tokens: int, output_tokens: int) -> float:
    price = PRICES[model_key]
    return (input_tokens / 1_000_000 * price["in"]) + (output_tokens / 1_000_000 * price["out"])

def choose_model(task: Task) -> str:
    if task.high_value and task.long_running:
        return "fable"
    if task.production_risk or task.kind in {"migration", "security_review", "architecture"}:
        return "opus"
    return "sonnet"

def route_with_budget(task: Task) -> list[str]:
    first = choose_model(task)
    fallbacks = {
        "fable": ["fable", "opus", "sonnet"],
        "opus": ["opus", "sonnet"],
        "sonnet": ["sonnet"],
    }[first]

    input_tokens = rough_tokens(task.prompt)
    return [
        key for key in fallbacks
        if estimate_cost_usd(key, input_tokens, task.max_output_tokens) <= task.budget_usd
    ] or ["sonnet"]

def run(task: Task) -> str:
    client = Anthropic(
        api_key=os.environ["ONEHOP_API_KEY"],
        base_url="https://api.onehop.ai/anthropic",
    )

    last_error = None
    for key in route_with_budget(task):
        try:
            response = client.messages.create(
                model=PRICES[key]["model"],
                max_tokens=task.max_output_tokens,
                messages=[{"role": "user", "content": task.prompt}],
            )
            return response.content[0].text
        except (APIError, RateLimitError) as exc:
            last_error = exc
            continue

    raise RuntimeError(f"All model routes failed: {last_error}")

if __name__ == "__main__":
    task = Task(
        kind="migration",
        prompt="Create a step-by-step plan to migrate a 200k-line Django app from 3.2 to 5.x.",
        max_output_tokens=3000,
        budget_usd=0.20,
        production_risk=True,
    )
    print(run(task))

Главное здесь не оценщик токенов. Главное — граница политики. Вам нужно место в кодовой базе, где продукт говорит: “Этой задаче разрешено потратить больше, потому что результат важен.”

Схема архитектурного потока: запрос приложения входит в router, затем проходит проверки политики с метками тип задачи, es

Шаг 3: Добавьте лимиты, соответствующие реальному поведению агентов

Стоимость агентов скачет. Chat completion легко посчитать. Кодинговый агент может просматривать файлы, вызывать инструменты, переписывать, тестировать, повторять попытки и суммировать. В одном Reddit-треде утверждали, что запуск Fable сжег миллионы токенов за час; считайте это анекдотом, но паттерн вполне реальный: долгие агентные циклы умножают расход токенов через петли (Reddit).

Добавьте три лимита:

  • Лимит на вызов: отказывайте или понижайте модель, если оценочная стоимость превышает бюджет запроса.
  • Лимит на задачу: останавливайте агента после долларового предела, даже если отдельные вызовы валидны.
  • Лимит на пользователя или workspace: не давайте одной команде сжечь общий аккаунт.

Для продакшена храните расход в таблице базы данных с ключами workspace_id, task_id и model. Не полагайтесь только на vendor dashboards. Они нужны для сверки биллинга, а не для живого контроля продукта.

Еще активно используйте prompt caching. Anthropic говорит, что Fable сохраняет существующую скидку 90% на входные токены при prompt caching, а страницы Sonnet и Opus тоже указывают до 90% экономии с prompt caching (Fable, Sonnet, Opus). Кэшируйте стабильные части: карту репозитория, стандарты кодинга, API docs, сводки схем и длинные продуктовые спеки. Не кэшируйте изменчивые инструкции пользователя.

Хороший слой маршрутизации должен логировать эти поля для каждого вызова:

{
  "task_kind": "migration",
  "chosen_model": "opus",
  "fallback_from": "fable",
  "estimated_cost_usd": 0.18,
  "budget_usd": 0.20,
  "input_tokens": 12000,
  "max_output_tokens": 3000
}

Такой лог — ваш ответ CFO, staff engineer и пользователю, который спрашивает, почему агент остановился.

Шаг 4: Относитесь к fallback как к поведению продукта

Для Fable нужно планировать два вида fallback.

Первый — обычный инфраструктурный fallback: недоступная модель, rate limit, timeout, проблема провайдера. Текущий статус Fable доказывает, что это важно. Anthropic говорит, что доступ к другим моделям не был затронут директивой от 12 июня (Anthropic), так что хорошее приложение должно продолжать работать через Opus или Sonnet.

Второй — safety fallback. Anthropic говорит, что Fable маршрутизирует часть помеченных запросов по кибербезопасности и биологии в Opus 4.8, и что пользователи не платят цены Fable за перемаршрутизированные запросы (Anthropic Fable). В launch post сказано, что эти safeguards срабатывают в среднем менее чем в 5% сессий, при этом ожидаются некоторые false positives (Anthropic launch).

Не прячьте это от пользователей. Если ваш продукт для security review просит Fable, но получает поведение Opus, UI должен сказать что-то вроде:

“Этот запрос использовал более безопасный fallback-маршрут для помеченной части. Результаты могут быть менее исчерпывающими. Влияние на бюджет было скорректировано.”

Это лучше, чем делать вид, что каждый ответ пришел от одной и той же модели. Это также защищает ваши evals. Если вы бенчмаркаете Fable, но половина тестового набора триггерит fallback, вы измеряете путь классификатора почти так же, как саму модель.

Макет UI до и после: непрозрачный селектор модели сравнивается с прозрачной панелью статуса маршрутизации, показывающей выбранную mod

Что отправить в продакшен на этой неделе

Сначала ship router, потом feature flag для Fable.

Для большинства developer products мои рекомендуемые дефолты простые:

  • Объяснение кода, небольшие фиксы, тесты, документация: Sonnet 4.6.
  • PR review, продакшен-баги, архитектурные решения: Opus 4.8.
  • Многочасовая или многодневная агентная работа с понятной бизнес-выгодой: Fable 5, когда доступен, с fallback на Opus.
  • Все без жестких границ: никакого Fable, пока пользователь не задаст бюджет.
  • Все, что повторяется для множества пользователей: кэшируйте длинный контекст или батчите его.

Смысл не в том, чтобы поклоняться топовой модели. Смысл в том, чтобы тратить frontier-токены там, где они меняют исход.

Fable 5 может быть моделью, о которой на этой неделе спорят на HN. Sonnet все еще должен быть стартовой точкой для большей части продакшен-трафика. Opus — надежная середина. Побеждает скучная реализация: router с жесткими лимитами, честным fallback и логами, достаточно хорошими, чтобы дебажить и качество, и стоимость.

Если хотите быстрее всего протестировать настройку, откройте Claude Fable 5 на OneHop, создайте аккаунт и стартуйте с $10 бесплатно. Затем подключите router выше к одному workflow, а не ко всему продукту. Измеряйте стоимость на принятый результат. Это число важнее любого launch-week benchmark.