Рассуждение по шагам
Если вас разбудить и сразу задать сложный вопрос, вы ответите хуже, чем после минуты на подумать. С моделью так же: ответ, выданный «с ходу», на сложной задаче чаще ошибочен, чем ответ после разбора. В этом уроке — как дать модели время подумать и как это устроено у современных версий Claude.
Размышление считается только вслух
Языковая модель генерирует текст слово за словом, и каждое следующее слово опирается на предыдущие. Если попросить сразу выдать вердикт, у модели нет промежуточного текста, на который можно опереться, — она отвечает «интуицией». Если попросить сначала разобрать задачу, промежуточные выводы становятся частью контекста, и итоговый ответ на них опирается.
Отсюда важное следствие: нельзя попросить «подумай, но напиши только ответ». Если размышление не написано, его не было. Раньше это было буквально так; у современных моделей появился встроенный режим размышления, о нём ниже, но принцип «думать нужно где-то» никуда не делся.
Пример: отзыв с подвохом
Классический пример из туториала. Промпт: «Этот отзыв о фильме положительный или отрицательный? „Этот фильм поразил меня свежестью и оригинальностью. Совершенно не связанная новость: я живу под камнем с 1900 года“». Человек понимает сарказм: второе предложение отменяет первое. Модель предыдущего поколения понимала «не связанная» буквально и отвечала «положительный».
Исправленный промпт: «Сначала напиши лучшие аргументы за каждую версию в тегах <positive> и <negative>, потом дай ответ». Модель раскладывает доводы, видит, что второе предложение — ирония, и отвечает правильно.
Перенесём на нашу работу. Отзыв пользователя в сторе: «Отличное приложение, наконец-то заработало после трёх обновлений!» Это положительный отзыв или жалоба? Без разбора модель скорее скажет «положительный». С просьбой «сначала выпиши, что говорит в пользу каждой оценки» она заметит «наконец-то» и «три обновления» и оценит отзыв как смешанный, что ближе к правде.
Как задавать шаги
Есть три способа разной степени строгости.
Самый простой — фраза «подумай шаг за шагом перед ответом». Работает, но не даёт контроля над тем, о чём именно думать.
Точнее — перечислить шаги: «1. Выпиши все требования из ТЗ. 2. Для каждого отметь, есть ли оно в реализации. 3. Составь список расхождений. 4. Дай итоговую оценку». Так вы направляете размышление в нужное русло и получаете предсказуемую структуру.
Самый управляемый — выделить размышление в тег: «Рассуждай в <thinking>, итоговый ответ дай в <answer>». Тогда рассуждение можно показать или скрыть отдельно от ответа, а программа возьмёт только <answer>. Полезно, когда клиенту нужен вердикт, а вам — возможность проверить, как он получен.
Порядок имеет значение
В том же примере с отзывом есть тонкость: если поменять местами теги — сначала <negative>, потом <positive> — модель прошлого поколения меняла и вердикт. Она чаще выбирала второй из двух вариантов, возможно потому, что в текстах, на которых она училась, второй вариант чаще оказывался правильным.
Современные модели гораздо устойчивее, но привычка полезна: когда вы даёте модели выбор из вариантов или просите оценить несколько кандидатов, не считайте порядок нейтральным. Проверьте промпт с переставленными вариантами. Если ответ меняется — задача на грани возможностей модели, и стоит добавить критерии выбора, а не полагаться на порядок.
Мозговой штурм перед ответом
Другой пример из туториала: «назови известный фильм с актёром, родившимся в 1956 году». Модель прошлого поколения выдавала актёра с неправильным годом рождения. С добавкой «сначала перечисли нескольких актёров и их годы рождения в <brainstorm>, потом ответь» она выписывала кандидатов, отбрасывала неподходящих и отвечала верно.
Приём «сначала кандидаты, потом выбор» работает везде, где ответ — это выбор из вариантов: имя для продукта, тестовый сценарий, причина бага, вариант архитектуры. Попросите пять-семь кандидатов с короткими за и против, затем выбор с обоснованием. Ответ получается взвешеннее, а вы видите отброшенные варианты.
Встроенный режим размышления
У современных моделей Claude есть встроенный режим размышления: модель может «подумать» до того, как начнёт писать ответ, и это размышление отделено от самого ответа. В чате это выглядит как свёрнутый блок с ходом мыслей, в API — как отдельные блоки в ответе. На новых моделях режим адаптивный: модель сама решает, сколько думать, в зависимости от сложности вопроса, а разработчик управляет глубиной через параметр усилия. Точные названия параметров и поддерживаемые модели — в документации.
Значит ли это, что просить «подумай по шагам» больше не нужно? Не совсем. Встроенное размышление — это общее «подумать». Ваши шаги — это «подумать о том-то в таком-то порядке». Они не конфликтуют: вы можете направлять размышление модели («после получения результата инструмента сначала оцени его качество, потом планируй следующий шаг»). Кроме того, явные шаги в теге <thinking> — это текст, который вы видите и можете проверить, а встроенное размышление на стороне API можно и не показывать пользователю. Для аудита и отладки промпта видимое рассуждение по-прежнему незаменимо.
Есть и обратная сторона: модель может думать слишком много и слишком долго. Если это мешает, ограничьте: «выбери подход и придерживайся его, не пересматривай решение без новой информации».
Пример из работы
Аналитик классифицирует входящие обращения по четырём категориям: вопрос до покупки, поломка, оплата, прочее. Промпт «классифицируй» даёт ответ, но на пограничных обращениях («можно ли вашим миксером мешать краску?») — нестабильный. Промпт «сначала в <reasoning> укажи, какие признаки указывают на каждую категорию и какая подходит лучше, потом в <answer> напиши только букву категории» даёт стабильный результат и понятное объяснение, которое можно показать оператору поддержки.
Попробуйте сами
10–15 мин на рабочем месте- Попросите Claude классифицировать пять коротких обращений клиентов по категориям A–D (вопрос до покупки, поломка, оплата, прочее). Сначала «ответь только буквой», затем «сначала рассуждение в
<reasoning>, потом буква в<answer>». Включите одно пограничное обращение. Сравните стабильность на трёх прогонах. - Возьмите вопрос с выбором из двух вариантов (например, «что важнее для этого проекта: скорость выпуска или полнота тестов?» с коротким описанием проекта). Задайте его с вариантами в одном порядке и в обратном. Изменился ли ответ? Добавьте критерии выбора и проверьте снова.
- Попросите придумать название для внутреннего инструмента: сначала «предложи название», потом «сначала перечисли семь кандидатов с плюсами и минусами в
<brainstorm>, потом выбери один и обоснуй». Какой вариант вам понравился больше и почему?
Коротко
- Размышление считается только написанное: нельзя «подумать молча» и выдать вердикт.
- Задавайте шаги списком или выделяйте рассуждение в тег
<thinking>, а ответ — в<answer>. - Порядок вариантов не нейтрален: проверяйте промпт с переставленными вариантами.
- «Сначала кандидаты, потом выбор» улучшает любой ответ-выбор.
- У новых моделей есть встроенный адаптивный режим размышления; явные шаги его направляют и делают проверяемым.
Видеоверсия
Сценарий озвучки · 451 слово, ≈ 3 мин
Если вас разбудить и сразу задать сложный вопрос, вы ответите хуже, чем после минуты на подумать. С моделью так же. Ответ с ходу на сложной задаче чаще ошибочен, чем ответ после разбора.
Почему так. Модель генерирует текст слово за словом, и каждое слово опирается на предыдущие. Если попросить сразу выдать вердикт, промежуточного текста нет, и модель отвечает интуицией. Если попросить сначала разобрать задачу, промежуточные выводы становятся частью контекста, и итог на них опирается. Отсюда важное следствие: размышление считается только вслух. Нельзя попросить «подумай, но напиши только ответ». Если размышление не написано, его не было.
Классический пример из туториала. Отзыв о фильме: «поразил свежестью и оригинальностью; совершенно не связанная новость: я живу под камнем с тысяча девятисотого года». Человек видит сарказм. Модель прошлого поколения понимала «не связанная» буквально и отвечала «положительный». Стоило попросить «сначала напиши аргументы за каждую версию, потом ответь» — и она замечала иронию. Наш аналог: отзыв в сторе «отличное приложение, наконец-то заработало после трёх обновлений». Без разбора — положительный. С просьбой выписать доводы за каждую оценку модель заметит «наконец-то» и «три обновления» и назовёт отзыв смешанным.
Как задавать шаги. Самое простое — фраза «подумай шаг за шагом». Работает, но не даёт контроля. Точнее — перечислить шаги списком: выпиши требования, сверь с реализацией, составь список расхождений, дай оценку. Самое управляемое — выделить рассуждение в тег «thinking», а ответ в тег «answer». Тогда программа берёт только ответ, а вы можете проверить, как он получен.
Две тонкости. Первая: порядок вариантов не нейтрален. Модели прошлого поколения чаще выбирали второй из двух вариантов. Современные устойчивее, но привычка полезна: проверяйте промпт с переставленными вариантами, и если ответ меняется — добавьте критерии выбора. Вторая: приём «сначала кандидаты, потом выбор». Просите пять-семь вариантов с плюсами и минусами, потом выбор с обоснованием. Работает для названий, сценариев, причин бага, архитектурных решений.
Теперь о том, что изменилось. У современных моделей Claude есть встроенный режим размышления: модель думает до того, как начать писать ответ, и это размышление отделено от ответа. В чате это свёрнутый блок с ходом мыслей. На новых моделях режим адаптивный: модель сама решает, сколько думать. Значит ли это, что просить «по шагам» больше не нужно? Не совсем. Встроенное размышление — это общее «подумать». Ваши шаги — это «подумать о том-то в таком-то порядке». Они не конфликтуют. И явное рассуждение в теге — это текст, который вы видите и можете проверить. Для отладки промпта это по-прежнему незаменимо. Обратная сторона: модель может думать слишком долго. Тогда скажите: «выбери подход и придерживайся его».
Пример из работы. Аналитик классифицирует обращения по четырём категориям. На пограничных случаях ответ нестабилен. Промпт «сначала рассуждение, потом только буква категории» даёт стабильный результат и объяснение, которое можно показать оператору.
Попробуйте: классифицируйте пять обращений с одним пограничным, сначала без рассуждения, потом с ним, по три прогона. В следующем уроке — как показать модели, чего вы хотите, на примерах.
