• Сообщения
  • Управляемые агенты
  • Администрирование
Search...
⌘K
Первые шаги
Знакомство с ClaudeБыстрый старт
Разработка с Claude
Обзор возможностейИспользование Messages APIПричины остановки и резервный вариантОтказы и резервный вариантРезервный кредит
Возможности модели
Расширенное мышлениеАдаптивное мышлениеУсилиеБюджеты задач (бета)Быстрый режим (исследовательская предварительная версия)Структурированные выходные данныеЦитированиеПотоковая передача сообщенийПакетная обработкаРезультаты поискаПотоковая передача отказовМногоязычная поддержкаЭмбеддинги
Инструменты
ОбзорКак работает использование инструментовРуководство: создание агента с использованием инструментовОпределение инструментовОбработка вызовов инструментовПараллельное использование инструментовTool Runner (SDK)Строгое использование инструментовИспользование инструментов с кэшированием подсказокСерверные инструментыУстранение неполадокИнструмент веб-поискаИнструмент загрузки веб-страницИнструмент выполнения кодаИнструмент советникаИнструмент памятиИнструмент BashИнструмент использования компьютераИнструмент текстового редактора
Инфраструктура инструментов
Справочник по инструментамУправление контекстом инструментовКомбинации инструментовПоиск инструментовПрограммный вызов инструментовДетальная потоковая передача инструментов
Управление контекстом
Контекстные окнаСжатиеРедактирование контекстаКэширование подсказокСистемные сообщения в середине разговораСоздание режима оркестрацииДиагностика кэша (бета)Подсчёт токенов
Работа с файлами
Files APIПоддержка PDFИзображения и компьютерное зрение
Навыки
ОбзорБыстрый стартРекомендацииНавыки для предприятийНавыки в API
MCP
Удалённые серверы MCPКоннектор MCP
Claude на облачных платформах
Amazon BedrockAmazon Bedrock (устаревшая версия)Claude Platform на AWSMicrosoft FoundryVertex AI
Log in
Резервный кредит
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Сообщения/Разработка с Claude

Кредит на резервный запрос

Избегайте двойной оплаты стоимости кэширования подсказок при повторной отправке отклонённого запроса Claude Fable 5 на другую модель.

Кэши подсказок привязаны к конкретной модели. Когда Claude Fable 5 отклоняет запрос и вы повторяете его на другой модели, префикс разговора, который уже был закэширован для Claude Fable 5, должен быть записан в кэш новой модели с нуля, а запись в кэш стоит дороже, чем чтение из кэша. «Fallback credit» (кредит на резервный запрос) устраняет эту дополнительную стоимость: отказ содержит токен кредита, вы передаёте этот токен при повторной попытке, и повторный запрос тарифицируется так, как если бы разговор с самого начала вёлся на новой модели.

Эта страница нужна вам только в том случае, если вы реализуете повторную попытку самостоятельно: на Ruby или PHP SDK, через необработанный HTTP или с помощью собственной логики повторных попыток. Резервный запрос на стороне сервера и промежуточное ПО SDK применяют кредит на резервный запрос автоматически. Если вы используете один из этих вариантов, пропустите эту страницу.

Страница Отказы и резервные запросы описывает обнаружение отказов и выбор подхода к резервному запросу. Страница Кэширование подсказок объясняет чтение из кэша и запись в кэш, если эти термины вам незнакомы.

Базовый процесс

  1. 1

    Включите функцию с помощью бета-заголовка

    Отправьте запрос, который может быть отклонён, с заголовком anthropic-beta: fallback-credit-2026-06-01. Заголовок server-side-fallback-2026-06-01 также предоставляет те же поля.

  2. 2

    Прочитайте два поля из отказа

    При отказе stop_details включает fallback_credit_token — непрозрачную строку, представляющую кредит, и fallback_has_prefill_claim — булево значение, указывающее, какую форму тела повторного запроса использовать. Оба поля равны null, если для данного отказа кредит недоступен.

  3. 3

    Сформируйте повторный запрос

    Начните с тела отклонённого запроса. Установите model на резервную модель и добавьте токен как параметр верхнего уровня fallback_credit_token. Выберите форму тела из таблицы ниже.

  4. 4

    Отправьте повторный запрос с тем же заголовком

    Отправьте повторный запрос с тем же бета-заголовком fallback-credit-2026-06-01. Повторному запросу нужен этот заголовок для погашения токена.

Поле fallback_has_prefill_claim указывает, может ли повторный запрос продолжить частичный вывод отклонённой модели вместо того, чтобы начинать заново:

fallback_has_prefill_claimТело повторного запроса
trueТело отклонённого запроса без изменений плюс одно добавленное сообщение ассистента, чьё поле content повторяет content отклонённого ответа. Модель повторного запроса продолжает ответ с того места, где остановилась отклонённая модель, а завершённые вызовы серверных инструментов не выполняются повторно.
falseТело отклонённого запроса без изменений.

Пример

Приведённый ниже пример выполняет запрос, который может быть отклонён, погашает токен кредита при повторной попытке на Claude Opus 4.8 и последовательно деградирует по лестнице отклонений, описанной в разделе Когда повторный запрос отклонён.

Где это работает

Кредит на резервный запрос находится в бета-версии на Claude API, Claude Platform на AWS, Amazon Bedrock, Vertex AI и Microsoft Foundry. Токены кредита, возвращённые в результатах Message Batches, не могут быть погашены; погашение применяется только к прямым запросам Messages API.

Модель повторного запроса должна быть одной из разрешённых резервных целей отклонённой модели. На момент запуска разрешённой целью для Claude Fable 5 является Claude Opus 4.8 (claude-opus-4-8).

Проверка применения кредита

Возврат виден в поле usage повторного запроса: значение cache_creation_input_tokens ниже, а cache_read_input_tokens выше на ту же величину, чем тот же запрос показал бы без токена. Сдвиг, равный нулю, означает, что токен был принят, но переоценивать было нечего — например, потому что кэш модели повторного запроса уже был прогрет.

Когда повторный запрос отклонён

Большинство повторных запросов погашаются с первой попытки. Если этого не происходит, API возвращает ошибку 400, которая указывает, что попробовать дальше.

  1. 1

    Продолжение отклонено: отправьте тело без изменений

    Если повторный запрос с добавленным сообщением ассистента отклонён с ошибкой 400, повторно отправьте тело отклонённого запроса без изменений, по-прежнему с токеном.

  2. 2

    Токен отклонён: уберите токен

    Если тело без изменений также отклонено с ошибкой 400, в сообщении которой упоминается fallback_credit_token, повторите запрос без токена. Кредит теряется, но сам повторный запрос проходит.

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

Справочная информация

Разделы ниже охватывают пограничные случаи и полные правила погашения. Большинству интеграций они не нужны.

Следующие шаги

Отказы и резервные запросы

Обнаруживайте отказы и выбирайте между резервным запросом на стороне сервера, промежуточным ПО SDK и ручной повторной попыткой.

Кэширование подсказок

Как тарифицируются чтение из кэша и запись в кэш.

Was this page helpful?

  • Базовый процесс
  • Пример
  • Где это работает
  • Проверка применения кредита
  • Когда повторный запрос отклонён
  • Справочная информация
  • Следующие шаги
client = Anthropic()

request = {
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Claude"}],
}


def send(model, body):
    return client.beta.messages.create(
        model=model, betas=["fallback-credit-2026-06-01"], **body
    )


response = send("claude-fable-5", request)

if (
    response.stop_reason == "refusal"
    and (details := response.stop_details)
    and (token := details.fallback_credit_token)
):
    exact_body = request | {"fallback_credit_token": token}
    # Предпочитать форму продолжения, если только утверждение не False
    if details.fallback_has_prefill_claim is not False:
        # Повторить содержимое отказа, удалив конечные пробелы из
        # последнего текстового блока (валидатор префилла отклоняет их; серверное
        # сопоставление допускает правку). Запросы с инструментами также опускают непарные
        # блоки tool_use, затем снова удаляют пробелы после всех пропусков.
        echoed = [block.model_dump() for block in response.content]
        match echoed:
            case [*_, {"type": "text"} as final_block]:
                final_block["text"] = final_block["text"].rstrip()
        attempt = exact_body | {
            "messages": [
                *request["messages"],
                {"role": "assistant", "content": echoed},
            ]
        }
    else:
        attempt = exact_body

    try:
        response = send("claude-opus-4-8", attempt)
    except BadRequestError as error:
        if "redemption temporarily unavailable" in str(error):
            raise  # Transient: retry with the token within its five-minute window
        try:
            # Откатиться к неизменённому телу, всё ещё с токеном
            response = send("claude-opus-4-8", exact_body)
        except BadRequestError as error:
            if "redemption temporarily unavailable" in str(error):
                raise  # Transient: retry with the token within its five-minute window
            # Сам токен был отклонён: отбросить его и повторить без него.
            response = send("claude-opus-4-8", request)

print(json.dumps({"stop_reason": response.stop_reason, "model": response.model}))
Причины остановки и резервные запросы

Каждое значение stop_reason и как его обрабатывать.

Промежуточное ПО SDK

Вспомогательный инструмент SDK, который применяет кредит на резервный запрос автоматически.