TL;DR
Если попросить модель играть терапевта, коуча или консультанта без ограничений, она скатывается в один паттерн — бесконечные уточняющие вопросы, даже когда собеседник уже всё рассказал. Исследователи выяснили: если дать модели явный список из 10 конкретных типов действий с описанием, когда каждое уместно, и попросить выбирать нужное перед каждым ответом — поведение модели резко становится разнообразнее и ближе к человеческому.
Модели в роли терапевта задают вопросы до трёх раз чаще, чем настоящие психологи — они буквально не могут остановиться копать детали, вместо перехода к сути или действию. Хуже того: они почти никогда не объясняют механизмы происходящего (почему тревога усиливается, откуда берётся паттерн) и практически не инициируют полезные техники сами — они лишь продолжают то, что начал человек в предыдущих репликах, но сами с нуля эти техники не запускают.
Решение простое: явно перечислить в промпте набор возможных "ходов" (например, "задать вопрос", "объяснить механизм", "поставить цель", "предложить план") с описанием, когда каждый уместен, и попросить модель осознанно выбирать нужный перед ответом. Это без всякого дообучения вдвое снижает отклонение поведения модели от человеческого и повышает совпадение с реальными решениями терапевта на 7–9 процентных пунктов.
Схема метода
ШАГ 1: Составить список из N типов действий (ходов) с чёткой формулировкой "когда применять каждый" → список-меню
ШАГ 2: Вставить этот список в системный промпт как набор доступных "инструментов" → модель видит все варианты сразу
ШАГ 3: Перед каждым ответом модель явно выбирает один или несколько подходящих ходов из списка, затем формулирует ответ → структурированный вывод + текст
Все три шага выполняются в одном промпте, без отдельных запросов.
Пример применения
Задача: Вы используете ChatGPT как карьерного коуча, чтобы разобраться, стоит ли уходить с текущей работы в свой проект. Без структуры модель обычно превращается в "машину вопросов": "А что вы чувствуете по этому поводу? А что для вас важно?" — и разговор буксует.
Промпт:
Ты выступаешь в роли карьерного коуча.
Перед каждым ответом выбери один или несколько подходящих "ходов" из списка ниже.
Укажи выбранный ход в квадратных скобках перед ответом, затем дай сам ответ.
Доступные ходы:
- [уточнение_процесса] — синхронизировать темп и формат разговора. Используй когда: чувствуешь несовпадение ожиданий.
- [постановка_цели] — прояснить, чего хочет клиент. Используй когда: цель размыта.
- [расспрос] — задать вопрос для получения недостающих деталей. Используй когда: без этой информации невозможен следующий шаг.
- [отражение] — обобщить и показать, что услышал клиента, без новой интерпретации.
- [поддержка_мотивации] — усилить уверенность и готовность к изменениям.
- [интерпретация] — предложить гипотезу о скрытой причине или паттерне.
- [вызов_убеждению] — поставить под вопрос ограничивающее убеждение клиента.
- [объяснение] — объяснить механизм происходящего, теорию, "почему так".
- [план_действий] — перевести инсайт в конкретный проверяемый шаг.
- [обучение_навыку] — показать и потренировать конкретный навык прямо в разговоре.
Не используй [расспрос] больше двух раз подряд без другого хода между ними.
Клиент говорит: "Я работаю в найме уже 6 лет, но последний год постоянно думаю об уходе в свой проект. Боюсь, что не готов и подведу семью."
Результат: Модель сначала явно обозначит выбранный ход (например, [отражение]), затем ответит по существу — без скатывания в цепочку из пяти уточняющих вопросов подряд. В следующих репликах вы увидите смену ходов: где-то [объяснение] (почему страх неопределённости усиливается), где-то [план_действий] (конкретный маленький шаг на неделю).
Почему это работает
Модели обучены через RLHF быть "безопасными помощниками" — а самый безопасный ответ, не требующий брать на себя ответственность за интерпретацию или совет, это очередной уточняющий вопрос. Отсюда — зацикливание на расспросах, даже когда информации уже достаточно.
При этом современные модели отлично умеют работать с явным меню вариантов — это тот же навык, что используется при выборе инструментов (tool calling) в агентных задачах. Модель хорошо читает описание "когда применять" и делает осознанный выбор, если ей дать выбирать явно, а не генерировать свободно.
Метод переключает модель из режима "генерируй что угодно" в режим "выбери из конкретного списка с критериями" — это снимает default-паттерн (вопросы) и заставляет рассмотреть весь спектр вариантов.
Рычаги управления: - Список ходов — можно полностью заменить под свою задачу (продажи, менторство, редактура текста, разбор бизнес-идеи) - Правило "не больше двух [расспрос] подряд" — можно усилить или ослабить для более/менее директивного стиля - Требование показывать выбранный ход в квадратных скобках — можно убрать, если не хочется видеть "внутреннюю кухню", оставив только чистый ответ
Шаблон промпта
Ты выступаешь в роли {роль: коуч / консультант / наставник}.
Перед каждым ответом выбери один или несколько подходящих "ходов" из списка ниже.
Укажи выбранный ход в квадратных скобках перед ответом, затем дай сам ответ.
Доступные ходы:
- [{ход_1}] — {что делает}. Используй когда: {условие}.
- [{ход_2}] — {что делает}. Используй когда: {условие}.
... (добавь столько ходов, сколько нужно под задачу)
Правило: не используй один и тот же ход больше {N} раз подряд без другого между ними.
Диалог: {текст_диалога_или_первая_реплика_собеседника}
Подставь в {роль} — кем должна выступать модель. В список ходов — конкретные типы действий, уместные для твоей задачи (не обязательно 10, можно меньше). В {N} — сколько повторов одного типа действия допустимо перед тем, как модель обязана переключиться.
🚀 Быстрый старт — вставь в чат:
Вот шаблон Move Framing — техники, которая заставляет модель разнообразно вести диалог
вместо зацикливания на одном типе реплик. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие конкретно типы действий уместны в твоей ситуации (вопросы, объяснения, планы, поддержка и т.д.) — потому что без конкретного списка "ходов" метод не работает, ей нужно из чего выбирать.
Ограничения
⚠️ Не устраняет проблему полностью: метод сужает разрыв с человеческим поведением примерно вдвое, но не закрывает его. Некоторые типы действий (например, объяснение механизмов) модели почти игнорируют даже при явном списке — похоже, это связано с тем, как модель обучали, а не с тем, как её просят.
⚠️ Модель не инициирует новое сама: если вести диалог с чистого листа, модель редко сама начинает использовать более "продвинутые" ходы (например, обучение навыку) — она их подхватывает только если увидела пример от собеседника раньше в разговоре. Список ходов в промпте частично компенсирует это, но не убирает полностью.
⚠️ Проверено только на диалоговых ролях типа "советчик/терапевт": неизвестно, работает ли тот же принцип для задач без ролевой игры (анализ текста, написание кода).
Как исследовали
Исследователи взяли реальные транскрипты психотерапевтических сессий (когнитивно-поведенческая терапия) и попросили пять лицензированных психологов вручную разметить каждую реплику терапевта по 10 категориям действий — от "постановка цели" до "обучение навыку". Чтобы масштабировать разметку на тысячи реплик, обучили LLM-судью, который классифицировал каждую реплику пять раз и брал большинство голосов — и показали, что судья согласуется с людьми примерно так же, как люди друг с другом.
Затем протестировали три топовых модели (Claude Sonnet, GLM, GPT) в роли терапевта в двух режимах: свободная генерация против явного списка из 10 ходов, поданного как инструменты. Чтобы убрать искажение от того, что модель просто "подражает" стилю настоящего человека-терапевта в контексте, построили ещё и полностью синтетические диалоги, где LLM играет и терапевта, и пациента одновременно.
Самое неожиданное открытие: разница между моделью и человеком не в том, что модель не умеет использовать редкие техники — она отлично их продолжает, если их начал человек. Проблема в том, что модель не решается начать сама. Это меняет взгляд на "слабость" LLM в диалоговых ролях: дело не в отсутствии навыка, а в отсутствии инициативы, и явный список опций частично решает именно эту проблему.
