TL;DR
Если попросить модель объяснить, почему она дала такой ответ — её объяснение может быть красивой выдумкой, не связанной с тем, что реально повлияло на решение. Проверить это можно так: попросить модель дать вердикт, затем минимально изменить текст так, чтобы её же собственный вердикт поменялся — и посмотреть, совпадают ли изменённые слова с тем, что действительно важно по смыслу.
Главная боль: вы просите модель классифицировать отзыв, резюме или договор, и она называет причину решения. Кажется логичным, но исследование показало обратный эффект: если явно попросить модель сначала назвать причину, а потом редактировать текст на основе неё — объяснение выглядит убедительнее и человечнее, но реже реально меняет вердикт модели. Модель подстраивается под структуру вопроса, а не показывает свою настоящую логику.
Метод: три шага в одном диалоге — модель даёт вердикт → минимально редактирует текст, чтобы вердикт поменялся → отредактированный текст проверяют заново тем же вопросом. Если вердикт действительно флипнулся и правка попала в смысловую часть текста — объяснение можно считать честным.
Схема метода
ШАГ 1: Модель классифицирует исходный текст → вердикт (например, "негативный отзыв")
ШАГ 2: Модель минимально редактирует текст так, чтобы её же вердикт поменялся → изменённый текст
ШАГ 3: Изменённый текст подаётся модели снова → проверка, реально ли вердикт изменился
Все три шага — в одном диалоге, без разрыва контекста. Именно это (а не явная просьба назвать причину заранее) даёт самые честные результаты.
Пример применения
Задача: Вы настроили ChatGPT/Claude автоматически классифицировать отзывы клиентов на Wildberries или Яндекс.Маркете как «негативный» или «позитивный» для приоритизации ответов поддержки. Хочется убедиться, что модель ориентируется на суть жалобы, а не на случайные слова.
Промпт (весь в одном диалоге, без пауз между шагами):
Оцени тональность этого отзыва одним словом — «Позитивный» или «Негативный»:
«Заказала платье, пришло на размер меньше, качество ткани так себе,
но менеджер быстро оформил возврат.»
[после ответа модели]
Теперь минимально измени этот отзыв — замени как можно меньше слов,
чтобы твоя оценка тональности поменялась на противоположную.
Покажи только изменённый текст, без пояснений.
[после ответа модели]
Вот изменённый текст: {вставить сюда результат}.
Оцени его тональность ещё раз.
Результат: Вы увидите, какие именно слова модель считает решающими. Если она меняет «качество так себе» на «качество отличное» — логика здорова, модель ориентируется на суть. Если она меняет несущественную деталь (например, название бренда или дату) и вердикт всё равно флипается — модель нестабильна в этой задаче, и доверять её автоклассификации рискованно.
Почему это работает
Модель умеет складывать слова в убедительное объяснение по языковому паттерну — это не значит, что объяснение отражает реальную причину её решения. У модели нет доступа к собственной «внутренней логике» в смысле рефлексии — она просто генерирует текст, который выглядит как объяснение.
Зато модель хорошо выполняет конкретное поведенческое действие — редактирование текста с заданной целью (поменять свой же вердикт). Метод обходит слабость («расскажи правду о себе») через проверку действием: не спрашивает модель, что важно, а заставляет её показать это через правку — и затем верифицирует результат повторным вопросом.
Рычаги управления: - Формулировка «минимально измени» → замени на «поменяй ровно одно слово» для более строгого теста - Не проси модель сначала назвать причину — прямой путь (вердикт → правка → проверка) честнее, чем «сначала объясни, потом редактируй» - На сложных/рискованных задачах (скоринг заявок, модерация) используйте более мощную модель — маленькие модели чаще не справляются с самим тестом
Шаблон промпта
Оцени этот текст по критерию «{критерий}» — ответь коротко: «{метка_1}» или «{метка_2}»:
«{текст}»
[дождись ответа]
Теперь минимально измени этот текст — замени как можно меньше слов,
чтобы твоя оценка изменилась на противоположную. Покажи только изменённый текст.
[дождись ответа]
Вот изменённый текст: {результат_шага_2}. Оцени его по тому же критерию ещё раз.
Подставьте свой критерий классификации ({критерий}: тональность, риск, подходит/не подходит), метки и текст, который проверяете.
🚀 Быстрый старт — вставь в чат:
Вот шаблон проверки честности самообъяснений модели. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какой именно критерий вы классифицируете и какой текст проверяете — потому что от этого зависит, что считать «минимальной правкой», меняющей вердикт.
Ограничения
⚠️ Только классификация: метод проверен на бинарных задачах (тональность, следует/не следует один вывод из другого). Для открытых генеративных ответов («напиши эссе», «дай совет») тест в таком виде не работает.
⚠️ Маленькие модели ненадёжны: модели меньше ~7-8 млрд параметров часто вообще не могут отредактировать текст так, чтобы поменять свой же вердикт — тест просто не сработает.
⚠️ Явная просьба назвать причину искажает результат: если попросить модель сначала сформулировать, что важно, а потом редактировать на основе этого — объяснение выглядит убедительнее внешне, но реже отражает реальное решение модели.
⚠️ Нужен глаз, а не только цифра: без человеческой разметки (как в исследовании) вы оцениваете совпадение правки со смыслом «на глаз» — это субъективно.
Как исследовали
Команда взяла 10 моделей открытого веса (семейства LLaMA-3 и Qwen-2.5, от 1 до 70+ миллиардов параметров) и прогнала их через две задачи: определение тональности отзывов о фильмах и логический вывод (следует ли одно утверждение из другого) — с готовой человеческой разметкой важных слов (бенчмарк ERASER).
Для каждой модели проверяли три вещи: реально ли правка меняет её собственный вердикт (честность), остаётся ли правка близкой к оригиналу (минимальность), и совпадают ли изменённые слова с тем, что люди считают важным — для этого авторы придумали свою метрику (ESMP).
Сравнивали три способа промптинга: обычный, в одном диалоге, и с явным запросом «сначала назови причину». Размер модели оказался главным фактором честности — корреляция 0.87, при удвоении размера модели честность объяснений росла на 12 процентных пунктов. Но самое неожиданное: явный запрос «сначала объясни причину» делал объяснения более человекоподобными, но менее правдивыми — модель подстраивалась под структуру запроса, а не показывала реальную логику. Это противоречит интуиции про «попроси подумать вслух — станет точнее».
