TL;DR
Когда вы даёте LLM неполный или противоречивый запрос, модель молча заполняет пробелы своими предположениями — не предупреждая вас. Она выдаёт красивый, уверенный ответ, который может быть полностью неверным для вашей задачи. Это не баг конкретной модели — это системная особенность всех LLM.
Молчаливые предположения (silent assumptions) — это главная находка исследования. Модели последовательно разрывают два результата: «правильный итог» и «правильный итог через диалог». Они угадывают пропущенные детали, не спрашивая. В сложных задачах это означает ответ на задачу, которую вы не имели в виду.
Решение простое: явно попросить модель работать как аналитик требований — задавать по одному уточняющему вопросу за раз, называть противоречия вслух, не исправлять молча — прежде чем давать финальный ответ. Этот режим (исследователи назвали его guided) радикально снижает количество молчаливых предположений.
Схема метода
Всё происходит в одном диалоге, несколько ходов подряд
ШАГ 0: Скажи LLM играть роль "аналитика требований"
→ инструкция: выявлять пробелы и противоречия ДО ответа
ШАГ 1: Дай свой запрос (может быть неполным или противоречивым)
→ LLM задаёт один уточняющий вопрос, НЕ отвечает сразу
ШАГ 2: Отвечаешь на вопрос
→ LLM задаёт следующий вопрос (если есть непрояснённые детали)
ШАГ N: Повторяется до полной ясности
→ LLM объявляет "все детали уточнены" → даёт финальный ответ
Пример применения
Задача: Ты хочешь попросить Claude написать оффер для найма продакт-менеджера в стартап. У тебя в голове есть что-то, но детали размытые — должность, стек, грейд, зарплата, испытательный срок. Без режима аналитика требований Claude напишет что-то правдоподобное, но с кучей предположений о том, что тебе нужно.
Промпт:
Ты — аналитик требований по HR-задачам. Твоя задача:
прежде чем писать оффер, выяснить все нужные детали.
Правила:
— Задавай ОДИН вопрос за раз, не несколько сразу
— Если видишь противоречие в моих словах — назови его явно, не исправляй молча
— Не делай предположений о деталях, которые я не назвал
— Когда всё ясно — скажи "Теперь у меня достаточно данных"
и напиши оффер
Моя задача: нужен оффер для продакт-менеджера в наш b2b SaaS стартап,
хотим нанять крутого специалиста, желательно с опытом в fintech,
зарплата около рынка, всё официально.
Начни с первого уточняющего вопроса.
Результат: Модель не начнёт писать оффер сразу. Вместо этого она задаст серию вопросов по одному: грейд, вилка зарплаты, задачи первых 90 дней, удалёнка или офис, испытательный срок, кому подчиняется. На каждый твой ответ — либо следующий вопрос, либо уточнение противоречия («вы написали "около рынка" и одновременно "крутой специалиста" — хотите нанять топ за топ-деньги или ищете рост-историю?»). В финале — оффер, написанный именно под твои требования, а не под то, что модель решила за тебя.
Почему это работает
Слабость LLM: модель обучена завершать текст, а не останавливаться и спрашивать. Когда в запросе есть пробел, ей проще подставить правдоподобное значение, чем прервать поток и попросить уточнения. Результат выглядит убедительно — просто он отвечает на другой вопрос.
Сильная сторона LLM: модель отлично следует структурированным инструкциям о роли и правилах поведения. Если явно описать роль «аналитик требований» и запретить делать предположения молча — модель переключает режим. Она начинает генерировать вопросы вместо ответов.
Как это связано: инструкция не меняет архитектуру модели — она меняет что модель оптимизирует в начале каждого хода. Вместо «как завершить этот текст красиво» модель спрашивает «что мне нужно знать, чтобы завершить задачу правильно». Это небольшое переключение даёт радикально другое поведение.
Рычаги управления промптом:
- «Один вопрос за раз» → убери, если хочешь получить все вопросы списком разом (быстрее, но менее диалогово)
- «Называй противоречия явно» → добавь «и предложи варианты разрешения», чтобы получать не просто диагноз, но и решение
- Роль «аналитика» → замени на «строгий технический редактор» или «опытный консультант Bain» — тональность вопросов изменится
- «Не делай предположений» → убери для коротких задач, оставь для сложных многокомпонентных
Шаблон промпта
Ты — аналитик требований по задачам {тип_задачи}.
Твоя цель: выяснить все нужные детали ДО того, как приступить к {итог}.
Правила поведения:
— Задавай ОДИН уточняющий вопрос за раз
— Если видишь противоречие в запросе — назови его явно, не исправляй молча
— Не делай предположений о деталях, которые я явно не назвал
— Когда все детали прояснены — скажи "{сигнал_готовности}"
и приступай к {итог}
Мой запрос: {твой_запрос}
Начни с первого уточняющего вопроса.
Плейсхолдеры:
- {тип_задачи} — «маркетинговым текстам», «юридическим документам», «техническим заданиям», «бизнес-стратегиям»
- {итог} — «написанию текста», «составлению договора», «разработке плана»
- {сигнал_готовности} — любая фраза: «Теперь у меня достаточно», «Картина ясна», «Могу приступать»
- {твой_запрос} — твой исходный запрос, пусть даже размытый
🚀 Быстрый старт — вставь в чат:
Вот шаблон "аналитик требований". Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит тип задачи и желаемый итог — потому что без этого она не знает, какие вопросы задавать и когда останавливаться. Она возьмёт паттерн из шаблона и подберёт правильные инструкции под твою ситуацию.
Ограничения
⚠️ Не для простых задач: если запрос однозначный — режим аналитика превращается в раздражающий ритуал. «Напиши список покупок» не требует уточняющих вопросов.
⚠️ Не устраняет проблему полностью: даже с явными инструкциями модели иногда делают молчаливые предположения. Исследование показало, что лучшие модели всё равно «угадывают без спроса» в ~15-20% сложных научных случаев. В бытовых задачах это меньше, но не ноль.
⚠️ Качество вопросов зависит от домена: модель хорошо спрашивает о том, что она понимает. Если задача в узкой специализированной области, вопросы могут быть поверхностными — не потому что режим сломан, а потому что модели не хватает доменных знаний, чтобы понять что именно спросить.
⚠️ Противоречия ловятся хуже пробелов: исследование обнаружило любопытный паттерн — модели гораздо хуже находят внутренние противоречия в запросах, чем пропущенную информацию. Если ты написал что-то несовместимое с собой — LLM с высокой вероятностью молча «выберет» одну из версий.
Как исследовали
Исследователи из RPI, UT Arlington и двух национальных лабораторий США собрали 1142 научных задачи в четырёх областях — гидродинамика, механика твёрдого тела, материаловедение, дифференциальные уравнения. Каждую задачу они намеренно «сломали»: либо убрали ключевой параметр (число Рейнольдса, граничные условия, свойства материала), либо добавили внутреннее противоречие. Потом запустили GPT-5, Gemini 2.5 Pro, Gemini 2.5 Flash, Claude Sonnet 4.6 в режиме диалога с симулированным пользователем — и смотрели, спросят ли модели о пропуске или молча угадают.
Интересный методологический ход: они считали отдельно «правильный финальный ответ» и «правильный ответ, полученный через диалог». Разница между этими двумя числами — это и есть зона молчаливых предположений. Оказалось, что этот разрыв существует у всех моделей без исключения — в среднем 8 процентных пунктов для задач на дополнение и 15 пунктов для задач на противоречия.
Особенно красноречиво сравнение: тот же Gemini 2.5 Pro решает 86% задач на общих вопросах с неоднозначностью (бенчмарк CLAMBER) — но падает до 18% на задачах по гидродинамике из SCICONVBENCH. Это показывает, что «умение уточнять» — не универсальный навык, а сильно зависит от доменных знаний. Модель не знает, какой вопрос важен, если не понимает физику.
Адаптации и экстраполяции
🔧 Техника: Явный список предположений → прозрачность без потери скорости
Если режим «один вопрос за раз» слишком медленный (много параметров, нет времени на диалог), попроси модель сначала выписать все предположения, которые она собирается сделать — прежде чем взяться за задачу:
Прежде чем писать {итог}, выпиши список всех предположений,
которые ты делаешь о моём запросе (детали, которых я не назвал явно).
Жди моего подтверждения или правки — и только потом приступай.
Мой запрос: {запрос}
Это быстрее диалога, но даёт тот же эффект: предположения становятся видимыми, и ты можешь исправить только нужные, а не перекладывать все на модель.
Комбинация с Chain-of-Thought: попроси добавить к каждому предположению один-два слова обоснования — «почему я так решил». Это помогает поймать не только что модель угадала, но и логику, по которой она угадала — иногда именно там прячется неочевидная ошибка.
Ресурсы
SCICONVBENCH: Benchmarking LLMs on Multi-Turn Clarification for Task Formulation in Computational Science
GitHub: https://github.com/csml-rpi/SciConvBench
Авторы: Nithin Somasekharan, Shiyao Lin, Patrick Emami, Sameera Horawalavithana, Youssef Hassan, Gihan Panapitiya, Anurag Acharya, Shaowu Pan
Организации: Rensselaer Polytechnic Institute, University of Texas at Arlington, National Renewable Energy Laboratory (NREL), Pacific Northwest National Laboratory (PNNL)
