Claude Platform Docs
СообщенияУровень усилий

Уровень усилий для отдельного сообщения

Используйте системное сообщение, чтобы изменить уровень effort посреди разговора и сохранить кэш подсказок.

Изменение «effort» (уровня усилий) для отдельного сообщения задаёт новый уровень effort для последующих ходов разговора, не меняя значение верхнего уровня в запросе, поэтому кэшированный префикс по-прежнему совпадает.

Изменение уровня усилия

Чтобы изменить уровень посреди разговора:

  1. Добавьте в messages сообщение с role: "system", с пустым content и новым уровнем effort в output_config.effort.
  2. Отправьте бета-заголовок mid-conversation-output-config-2026-07-01.
  3. Оставьте значение верхнего уровня без изменений.

В следующем примере значение верхнего уровня остаётся high, а для рутинного последующего вопроса уровень снижается до low:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
        },
        {
            "role": "assistant",
            "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
        },
        # Системное сообщение только об effort: новый уровень действует со следующего хода пользователя.
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
    betas=["mid-conversation-output-config-2026-07-01"],
)

for block in response.content:
    if block.type == "text":
        print(block.text)

Позиция сообщения определяет, когда начинает действовать новый уровень:

  • Непосредственно после хода user с новыми входными данными: ответ Claude на этот ход использует новый уровень.
  • В любом другом месте, например между ходом assistant и следующим ходом user, как в предыдущем примере: новый уровень начинает действовать со следующего хода user с новыми входными данными.

Ход user, содержащий только блоки tool_result, не считается новыми входными данными.

Новый уровень остаётся в силе, пока его не изменит более позднее сообщение.

Размещайте сообщение после всего, что вы уже отправили, и сохраняйте его на том же месте в последующих запросах. Не вставляйте его перед ходами, которые вы уже отправили, и не перемещайте и не удаляйте его позже. В моделях с поддержкой «preserved thinking» (сохранённых размышлений) любое из этих изменений делает недействительными блоки размышлений в ходах assistant после этого сообщения. О том, что происходит дальше, см. в разделе Что API делает с недействительным блоком.

Если оно находится рядом с сообщением system, у которого есть содержимое, оба сообщения должны подчиняться правилам размещения системных сообщений посреди разговора.

При использовании InvokeModel API Amazon Bedrock отправляйте бета-значение в массиве anthropic_beta в теле запроса вместо заголовка. Список моделей, которые поддерживают там effort для отдельных сообщений, см. в разделе Системные сообщения посреди диалога в Bedrock.

Ошибки

  • Без бета-заголовка output_config для отдельного сообщения возвращает ошибку 400: messages.N.output_config: Extra inputs are not permitted, где N — индекс сообщения system в messages.
  • С бета-заголовком модели без поддержки effort для отдельных сообщений, например Claude Fable 5, возвращают ошибку 400: output_config.effort requires a model that supports per-turn effort; this model does not. В Amazon Bedrock эти модели и Claude Opus 5 вместо этого возвращают Extra inputs are not permitted.
  • В Claude Sonnet 5.5 с thinking: {"type": "between_tools"} и в Claude Haiku 5.5 с thinking: {"type": "disabled"} уровень effort нельзя изменить посреди разговора. В этих случаях output_config.effort для отдельного сообщения с новым уровнем возвращает ошибку 400. Чтобы менять effort для каждого хода, используйте «adaptive thinking» (адаптивные размышления).

Усилие для отдельного сообщения или усилие верхнего уровня

Предпочитайте effort для отдельных сообщений изменению значения верхнего уровня между запросами. Изменение на уровне сообщения оставляет всё, что было до него, без изменений, поэтому кэшированный префикс по-прежнему совпадает. Изменение на верхнем уровне сбрасывает кэш. В Claude Fable 5.1 изменение на верхнем уровне к тому же менее надёжно управляет моделью. Предыдущие ответы модели были написаны на прежнем уровне, и модель склонна оставаться с ними согласованной.

Доступность

Уровень усилий для отдельного сообщения
Статус
Бета
API
  • Messages API
  • Managed Agents Не поддерживается
Бета-заголовок
Требуется
Модели
  • Claude Fable 5.2, Fable 5.1
  • Claude Mythos 5.2, Mythos 5.1
  • Claude Opus 5.5, Opus 5
  • Claude Sonnet 5.5
  • Claude Haiku 5.5

Эта страница была полезной?