Extended thinking

Чему научитесь

Видео 7:01 и текст урока

К концу урока вы сможете:

Видео и текст урока.

Смотреть урок на Skilljar Extended thinking · 7:01

Важно: extended thinking несовместим с некоторыми другими возможностями, в частности с prefill сообщения и с temperature. Полный список ограничений: https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#feature-compatibility

Extended thinking — режим продвинутых рассуждений Claude: модель получает время продумать сложную задачу, прежде чем дать итоговый ответ. Это как «черновик» Claude: виден ход рассуждений, который ведёт к ответу, — это даёт прозрачность и часто повышает качество ответа.

Как работает extended thinking

Когда режим включён, ответ Claude из одного текстового блока превращается в структурированный ответ из двух частей:

Сервер отправляет «Write a short guide on recursion», сообщение ассистента содержит блок thinking, затем блок text.
На запрос «Write a short guide on recursion» приходит сообщение с блоком thinking, а за ним — блок text.

С включёнными рассуждениями вы получаете и процесс рассуждения, и итоговый ответ:

JSON сообщения ассистента: блок thinking с полем signature, затем блок text «A Guide to Recursion».
JSON ответа: блок thinking (с полем signature) и блок text «A Guide to Recursion».

Главные преимущества:

Но есть важные компромиссы:

Когда использовать extended thinking

Решение простое — опирайтесь на оценку промптов. Сначала прогоните промпты без рассуждений, и если точность не дотягивает до требований даже после того, как вы оптимизировали промпт, — подумайте о включении extended thinking. Это инструмент на случай, когда обычного промптинга не хватает.

Структура ответа и безопасность

У ответов с рассуждениями есть специальная система подписи для безопасности:

The Signature: криптографический токен, привязанный к тексту рассуждения; подтверждает, что текст сгенерирован Claude и не менялся.
Signature — криптографический токен, привязанный к тексту рассуждения: подтверждает, что текст сгенерировал Claude и его не меняли.

Подпись (signature) — криптографический токен, который гарантирует, что вы не меняли текст рассуждения. Это не даёт разработчикам вмешиваться в процесс рассуждения Claude, что потенциально могло бы увести модель в небезопасном направлении.

Redacted thinking

Иногда вместо читаемого текста рассуждения приходит скрытый (redacted) блок рассуждения:

Функция chat в ноутбуке 001_thinking.ipynb без параметров thinking: params с max_tokens 1000, temperature и stop_sequences.
На этом месте в оригинале — скриншот функции chat из ноутбука 001_thinking.ipynb до добавления параметров рассуждений.

Так бывает, когда внутренние системы безопасности помечают процесс рассуждения Claude. Скрытый блок содержит само рассуждение в зашифрованном виде, так что сообщение целиком можно передать обратно Claude в следующих запросах, не теряя контекста.

Реализация

Чтобы включить extended thinking в коде, добавьте в функцию chat два параметра:

def chat(
    messages,
    system=None,
    temperature=1.0,
    stop_sequences=[],
    tools=None,
    thinking=False,
    thinking_budget=1024
):

Бюджет рассуждений задаёт максимум токенов, которые Claude может потратить на рассуждение. Минимум — 1024 токена, а max_tokens должен быть больше бюджета рассуждений.

Добавьте настройку рассуждений в параметры API:

if thinking:
    params["thinking"] = {
        "type": "enabled",
        "budget": thinking_budget
    }

И вызовите с включёнными рассуждениями:

chat(messages, thinking=True)

Проверка скрытых ответов

Для тестирования можно заставить Claude вернуть скрытый блок рассуждения, отправив специальную строку-триггер. Так вы убедитесь, что приложение корректно обрабатывает скрытые ответы и не падает.

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

Дальше

Следующий урок — работа с изображениями.

Оригинал урока: Extended thinking.