3,583 papers
arXiv:2610.15903 72 11 окт. 2026 г. FREE

BRQGen: адаптивные уточняющие вопросы — модель сначала решает, хватает ли информации, и спрашивает только о недостающем

КЛЮЧЕВАЯ СУТЬ
Просишь модель «улучши отчёт об ошибке» — она дописывает сама. Доля неверной информации растёт с 2,9% до 13,7% (цифра из работы, на которую ссылается статья). Просишь «задай вопросы» — она спрашивает по привычке, даже когда всё ясно. BRQGen позволяет получать от LLM только нужные вопросы к автору неполного документа и вовремя останавливаться, когда информации хватает. Сначала модель составляет список пробелов, и только потом задаёт вопросы строго по этому списку. Это цикл с условием выхода: нет пробелов — нет вопросов. Фишка: у модели впервые появляется законное право сказать «достаточно». В тестах двух кругов хватает почти на все вопросы, которые удалось получить.
Адаптировать под запрос
⚡

TL;DR

BRQGen — это цикл из одного запроса к LLM на каждом шаге. Модель получает баг-репорт, перечисляет пробелы, без которых проблему не воспроизвести, и задаёт вопросы только по этим пробелам. Если пробелов нет, отчёт считается достаточным и вопросов не будет. Автор отвечает, модель проверяет достаточность каждого ответа, находит новые пробелы, которые ответы вскрыли, и спрашивает снова. Максимум пять кругов.

Главная проблема в том, что у модели два плохих режима. Если просить «улучши отчёт», она дописывает недостающее сама и выдумывает. В статье со ссылкой на другую работу: доля неверной информации выросла с 2,9% до 13,7%. Если просить «задай уточняющие вопросы», она всегда задаёт одно и то же число вопросов, даже когда всё и так ясно. Люди раздражаются, а время тратится впустую. Кроме того, чем позже у автора спрашивают, тем меньше шансов на ответ и тем он медленнее: при запросе в первый час медианный ответ приходит за 0,5–1,5 часа, после четырёх часов — за 10–13 часов.

Метод состоит из трёх ролей в одном вызове. Оценщик находит пробелы, оценщик ответов проверяет, закрыли ли их, генератор формулирует вопросы. Модель не домысливает, а возвращает вопрос человеку, и останавливается, когда пробелов не осталось. Самое полезное для практики: хватает двух кругов. Первые два раунда дают почти все вопросы, которые вообще удалось получить.

🔬

Схема метода

КРУГ 1 (один запрос):
  Роль «Оценщик отчёта»: найти пробелы, мешающие воспроизвести → список пробелов
  Пробелов нет? → СТОП, отчёт достаточен
  Роль «Генератор вопросов»: вопросы только по найденным пробелам → вопросы автору

КРУГ 2–5 (один запрос на круг, после ответов автора):
  Роль «Оценщик ответов»: для каждой пары вопрос–ответ — достаточно или нет
                          + новые пробелы, вскрытые ответами
  Роль «Генератор вопросов»: вопросы только по оставшимся пробелам

СТОП, когда:
  • все критичные поля полны и однозначны, ИЛИ
  • автор не ответил ни на один вопрос, ИЛИ
  • достигнут максимум кругов (5)

Роли выполняются в одном запросе. Следующий запрос нужен после того, как человек ответил.

🚀

Пример применения

Задача: Менеджер интернет-магазина на Битрикс24 пишет в чат разработчикам: «Оплата через СБП иногда не проходит, клиенты жалуются». Разработчик хочет не гадать, а сразу получить от ассистента список того, чего не хватает, чтобы воспроизвести проблему.

Промпт:


Ты — триаж-инженер. Твоя работа: решить, достаточно ли в баг-репорте
информации для воспроизведения, и если нет — задать автору вопросы.
Ты не дописываешь недостающее сам и ничего не додумываешь.



Заголовок: Оплата через СБП иногда не проходит
Текст: Клиенты жалуются, что оплата через СБП не проходит. Началось на этой неделе.
Магазин на Битрикс24, эквайринг — Т-Банк.



Круг 1:
1. Перечисли пробелы: что отсутствует или двусмысленно и мешает воспроизвести.
   Для каждого пробела укажи серьёзность: высокая / средняя / низкая.
2. Если пробелов нет — напиши «ДОСТАТОЧНО» и остановись.
3. Сформулируй вопросы автору ТОЛЬКО по найденным пробелам.
   Один пробел — один конкретный вопрос. Не больше 5 вопросов.

Круги 2–5 (когда я пришлю ответы):
1. По каждой паре «вопрос–ответ» реши: достаточно / недостаточно.
2. Найди новые пробелы, которые вскрыли ответы.
3. Задай вопросы только по оставшимся пробелам.
Остановись, если все критичные пробелы закрыты или я не ответил ни на один вопрос.



Пробелы: [список с серьёзностью]
Вопросы: [нумерованный список]

Результат: Модель выдаст список пробелов с серьёзностью (шаги до ошибки, текст ошибки, устройство и браузер, доля неудачных платежей, примеры заказов) и 3–5 конкретных вопросов, привязанных к пробелам. После вашего ответа она оценит каждый ответ как достаточный или нет, добавит новые вопросы по вскрывшимся деталям или напишет «ДОСТАТОЧНО». Никаких выдуманных шагов воспроизведения в выводе быть не должно.

🧠

Почему это работает

Слабость LLM. Если просить «дополни отчёт», модель выдаёт правдоподобный, но выдуманный текст. Если просить «задай вопросы», она задаёт их по привычке, даже когда всё ясно, потому что вопросы — это то, что её просили сделать. Решение «достаточно или нет» она по умолчанию не принимает.

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

Как метод это использует. Он разделяет «найди пробелы» и «сформулируй вопросы». Вопросы привязаны к списку, а не к желанию модели быть полезной. Условие «пробелов нет → стоп» даёт честный выход без обязательных вопросов. Проверка ответов на следующем круге ловит случаи вроде «не знаю» или «посмотри сам».

Рычаги управления: - Число кругов → хватает двух. Больше — рост расхода без прироста новых вопросов. - Порог серьёзности → спрашивай только о пробелах высокой серьёзности. В статье при учёте только таких пробелов решение «полно / неполно» у лучшей модели заметно точнее. - Лимит вопросов за раз → меньше вопросов — выше шанс, что человек ответит. - Условие выхода → можно заменить на «хватает данных, чтобы я начал работу».

📋

Шаблон промпта


Ты — {роль_проверяющего}. Твоя работа: решить, достаточно ли в {тип_документа}
информации для {цель}, и если нет — задать автору вопросы.
Ты не дописываешь недостающее сам и ничего не додумываешь.



{текст_документа}



{контекст_проекта_или_шаблон_полей}



Круг 1:
1. Перечисли пробелы: что отсутствует или двусмысленно и мешает {цель}.
   Для каждого укажи серьёзность: высокая / средняя / низкая.
2. Если пробелов нет — напиши «ДОСТАТОЧНО» и остановись.
3. Задай вопросы ТОЛЬКО по найденным пробелам (учитывай {порог_серьёзности}).
   Один пробел — один вопрос. Не больше {макс_вопросов} вопросов.

Круги 2–{макс_кругов} (когда пришлют ответы):
1. По каждой паре «вопрос–ответ» реши: достаточно / недостаточно.
2. Найди новые пробелы, которые вскрыли ответы.
3. Задай вопросы только по оставшимся пробелам.

Остановись, если: все критичные пробелы закрыты, ИЛИ автор не ответил
ни на один вопрос, ИЛИ достигнут круг {макс_кругов}.



Пробелы: [список с серьёзностью]
Вопросы: [нумерованный список] либо «ДОСТАТОЧНО»

Что подставлять: {роль_проверяющего} — тестировщик, аккаунт-менеджер, аналитик. {цель} — воспроизвести ошибку, оценить задачу, составить ТЗ. {порог_серьёзности} — «только высокая» или «высокая и средняя». {макс_кругов} — по статье, 2–3 достаточно.

Важно: в доступной части статьи самих промптов нет. Шаблон выше — реконструкция по описанию ролей, цикла и условий остановки.

🚀 Быстрый старт — вставь в чат:

Вот шаблон BRQGen — цикл «найди пробелы → спроси только по ним → проверь ответы».
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, что за документ проверяется, какой результат считается «достаточно информации» и какие поля обязательны. Метод держится на списке пробелов, привязанном к цели, поэтому без чёткой цели модель найдёт случайные недочёты.

⚠️

Ограничения

⚠️ Оценка полноты ненадёжна: модели часто ошибаются в самом решении «хватает данных или нет». Лучшая по этой метрике показала лишь чуть меньше половины по сбалансированной точности (macro-F1). Это решение стоит перепроверять глазами.

⚠️ Покрытие вопросов — около половины: лучшая модель задала примерно половину вопросов, которые реально задали разработчики-люди, худшая — треть. Ассистент не заменяет опытного разработчика, он снимает рутину.

⚠️ Детальные вопросы хуже: вопросы, специфичные для проекта и не вытекающие из шаблона, модель угадывает заметно реже, чем стандартные («версия, ОС, шаги»). Без контекста проекта (авторы планируют добавить поиск по документации) качество ограничено.

⚠️ Лёгкие случаи сложнее: точность определения «полно / неполно» растёт, когда пробел серьёзный. Мелкие недочёты модель путает с нормой.

⚠️ Корреляция, не причина: вывод «ранний вопрос → быстрый ответ» получен по историческим данным без эксперимента. Возможно, свою роль играют сложность задачи и вовлечённость автора.

⚠️ Тест на симуляторе: ответы авторов брались из истории, а не от живых людей. Реальные люди отвечают иначе.

⚠️ Неполный текст: в доступной части статьи нет полных промптов, нет сравнения с простыми базовыми схемами и нет разбора по числу кругов в деталях.

🔍

Как исследовали

Команда выбрала два крупных открытых проекта: Home Assistant (умный дом) и Brave Browser. В обоих мейнтейнеры ставят метку «нужно больше информации». По метке и ответу автора набрали 649 кандидатов, три разметчика вручную вытащили из них вопросы разработчиков и ответы авторов. После отсева осталось 429 неполных отчётов с 1081 вопросом. Вопросы разметили как «общие» (закрываются полями шаблона) и «детальные» (требуют вникания в суть). Для проверки решения «полно / неполно» собрали ещё 429 заведомо полных отчётов, которые были закрыты без единого уточнения.

Три современные модели «лёгкого» класса (Gemini 3 Flash Preview, DeepSeek V4.1 Flash, Qwen 3.8 Flash) прогнали по циклу. Роль пользователя играл симулятор: он сопоставлял вопрос модели с реальным вопросом разработчика и возвращал настоящий ответ автора. Покрытие реальных вопросов составило от 35% до 52%. DeepSeek лучше всего справился с общими вопросами (около 64%) и хуже с детальными (около 46%). Gemini точнее остальных решал «полно / неполно», но всё равно лишь около 49%. Если учитывать только пробелы высокой серьёзности, у Qwen точность выросла до 74%.

Отдельно исследователи проверили, зачем вообще спрашивать рано. В реальных данных запросы в первый час получали ответ заметно быстрее и чаще, чем запросы после четырёх часов. Практический вывод: спрашивай быстро, спрашивай мало, спрашивай по делу, и двух кругов достаточно.

💡

Адаптации и экстраполяции

🔧 Техника: порог серьёзности → меньше лишних вопросов

Раз модель точнее определяет полноту, когда пробел серьёзный, добавь жёсткое правило:

Задавай вопросы только по пробелам с серьёзностью «высокая».
Пробелы средней и низкой серьёзности перечисли отдельным списком
«Можно уточнить позже», но не превращай их в вопросы.
Если высоких пробелов нет — напиши «ДОСТАТОЧНО».

Эффект: человеку не приходится отвечать на мелочи, а решение «спрашивать или нет» опирается на самую надёжную часть работы модели.

Экстраполяция: сбор ТЗ от клиента

Этот же цикл подходит для брифов на сайт, ТЗ на автоматизацию или заявок в студию. Нужно заменить документ и цель:


Ты — менеджер проектов в студии. Решаешь, хватает ли в брифе клиента
информации, чтобы оценить задачу и назвать срок. Ничего не додумываешь.


{текст_брифа}


Круг 1: найди пробелы, мешающие оценить срок и стоимость (высокая / средняя / низкая серьёзность).
Если высоких пробелов нет — «ДОСТАТОЧНО, можно оценивать».
Иначе — до 4 вопросов клиенту, простым языком, без жаргона.
Круг 2: проверь ответы по каждому вопросу, найди новые пробелы.
Максимум 2 круга.

🔗

Ресурсы

  • BRQGen: Towards Adaptive Completeness Assessment and Follow-Up Question Generation for Bug Reports
  • Авторы: Tevfik Emre Sungur (Technical University of Munich), Akif Emre Köşüş, Uğurcan Doğruçam, Eray Tüzün (Bilkent University, Турция)
  • Данные: баг-репорты репозиториев home-assistant/core и brave/brave-browser; пакет для воспроизведения упомянут авторами (в доступной части текста не приведён)
  • Связанные работы из статьи: ClarifyGPT (уточняющие вопросы при неоднозначности требований), FeedAIde, ImproBR, ChatBR

📋 Дайджест исследования

Ключевая суть

Просишь модель «улучши отчёт об ошибке» — она дописывает сама. Доля неверной информации растёт с 2,9% до 13,7% (цифра из работы, на которую ссылается статья). Просишь «задай вопросы» — она спрашивает по привычке, даже когда всё ясно. BRQGen позволяет получать от LLM только нужные вопросы к автору неполного документа и вовремя останавливаться, когда информации хватает. Сначала модель составляет список пробелов, и только потом задаёт вопросы строго по этому списку. Это цикл с условием выхода: нет пробелов — нет вопросов. Фишка: у модели впервые появляется законное право сказать «достаточно». В тестах двух кругов хватает почти на все вопросы, которые удалось получить.

Принцип работы

Метод работает как процесс из трёх ролей в одном запросе. 1. Оценщик отчёта находит пробелы: что отсутствует или двусмысленно и мешает воспроизвести проблему. У каждого пробела своя серьёзность. 2. Генератор вопросов задаёт по одному вопросу на каждый пробел. 3. Оценщик ответов (со второго круга) проверяет каждую пару «вопрос–ответ» и ищет новые пробелы, которые вскрыл ответ. Нет пробелов — нет вопросов, цикл останавливается. Лимит: пять кругов. Стоп и тогда, когда автор не ответил ни на один вопрос. Это как врач на приёме. Он не назначает все анализы подряд, а сначала смотрит, чего не хватает для диагноза.

Почему работает

Модель плохо решает, хватает ли ей данных. Вопросы она задаёт по привычке, потому что её об этом попросили. Зато перечислять, чего не хватает, она умеет хорошо. Проверить, закрыл ли ответ пробел, ей тоже проще, чем сочинять содержание с нуля. Метод разделяет «найди пробелы» и «сформулируй вопросы», поэтому вопросы привязаны к списку, а не к желанию модели быть полезной. Проверка ответов на следующем круге ловит «не знаю» и «посмотри сам». Почему важно спрашивать рано. Если спросить автора в первый час, медианный ответ приходит за 0,5–1,5 часа. Если спросить после четырёх часов, ответа ждёшь 10–13 часов. Это корреляция по историческим данным, не эксперимент. Сложность задачи и вовлечённость автора тоже могли повлиять.

Когда применять

Любые документы, где человек пишет неполно, а тебе нужно довести их до рабочего состояния. Отчёты об ошибках, заявки от клиентов, черновики технических заданий, описания задач для команды. Особенно когда автор отвечает медленно и каждый лишний вопрос раздражает. НЕ подходит, если нужно заменить опытного разработчика. Лучшая модель задала лишь около половины вопросов, которые задали живые люди, худшая — треть. Решение «хватает данных или нет» тоже ненадёжно: лучший результат по сбалансированной точности (macro-F1) чуть меньше половины. Перепроверяй его глазами. Узкие вопросы по проекту модель угадывает хуже, чем стандартные вроде «версия, система, шаги». И ещё: в доступной части статьи полных промптов нет, шаблон ниже — реконструкция по описанию ролей и условий остановки.

Мини-рецепт

1. Назови цель: для чего должно хватить информации. Воспроизвести ошибку, оценить задачу, составить техническое задание.
2. Свяжи руки: напиши прямо «ты не дописываешь недостающее сам и ничего не додумываешь».
3. Потребуй список пробелов: у каждого своя серьёзность — высокая, средняя, низкая.
4. Дай выход: если пробелов нет, пусть модель напишет «ДОСТАТОЧНО» и остановится. Без этой строки вопросы пойдут по привычке.
5. Ограничь вопросы: один пробел — один вопрос, не больше 5 за раз. Чем меньше вопросов, тем выше шанс, что человек ответит.
6. Выбери порог: хочешь меньше шума — пусть спрашивает только о пробелах высокой серьёзности.
7. Пришли ответы: модель оценит каждую пару «вопрос–ответ» и найдёт новые пробелы.
8. Не гоняй долго: хватает двух-трёх кругов. Дальше растёт расход, а новых вопросов почти нет.

Примеры

[ПЛОХО] : Улучши этот отчёт об ошибке: Оплата через СБП иногда не проходит, клиенты жалуются Модель допишет шаги воспроизведения, браузер и текст ошибки, которых никто не называл. Выглядит убедительно, но всё выдумано. : Задай уточняющие вопросы по этому отчёту Модель выдаст стандартные 7–10 вопросов, даже если половина ответов уже есть в тексте.
[ХОРОШО] : Ты — тестировщик. Реши, достаточно ли в отчёте информации, чтобы воспроизвести ошибку. Ты не дописываешь недостающее сам и ничего не додумываешь. Отчёт: «Оплата через СБП (система быстрых платежей) иногда не проходит. Началось на этой неделе. Магазин на Битрикс24, эквайринг — Т-Банк». Круг 1: перечисли пробелы с серьёзностью (высокая / средняя / низкая). Если пробелов нет — напиши «ДОСТАТОЧНО» и остановись. Иначе задай вопросы только по найденным пробелам, один пробел — один вопрос, не больше 5. Когда я пришлю ответы: оцени каждую пару «вопрос–ответ» как достаточную или нет, найди новые пробелы, спроси только по оставшимся. Остановись, если критичные пробелы закрыты или я не ответил ни на один вопрос. Модель выдаст список пробелов: шаги до ошибки, текст ошибки, устройство и браузер, доля неудачных платежей, номера заказов. К нему добавит 3–5 вопросов, привязанных к пробелам. После ответов она либо спросит про вскрывшиеся детали, либо напишет «ДОСТАТОЧНО».
Источник: BRQGen: Towards Adaptive Completeness Assessment and Follow-Up Question Generation for Bug Reports
ArXiv ID: 2610.15903 | Сгенерировано: 2026-10-14 06:00

Проблемы LLM

ПроблемаСутьКак обойти
Модель не решает, нужны ли уточнения. Она либо додумывает, либо спрашивает всегдаДаёшь неполный документ: заявку, ТЗ, описание ошибки. Просишь «дополни». Модель дописывает правдоподобные детали, но выдуманные. Просишь «задай уточняющие вопросы». Модель задаёт их всегда, даже когда всё ясно. Решение «хватает данных или нет» она сама не принимает. В первом случае в текст попадает ложь. Во втором человек тратит время зря и раздражаетсяРаздели работу на два шага. Сначала пусть перечислит пробелы. Потом пусть спрашивает только по ним. Добавь явный выход: «Если пробелов нет — напиши ДОСТАТОЧНО и остановись». Запрети дописывать: «Не додумывай, верни вопрос мне»

Методы

МетодСуть
Сначала список пробелов, потом вопросы только по немуМодель играет две роли в одном запросе. Роль 1: найти, чего не хватает для цели, и дать каждому пробелу серьёзность (высокая, средняя, низкая). Роль 2: задать по одному вопросу на каждый пробел. Если пробелов нет — «ДОСТАТОЧНО». После ответов человека запусти проверку. Для каждой пары «вопрос — ответ» модель решает: достаточно или нет. Ещё она ищет новые пробелы, которые вскрыл ответ. Потом спрашивает только по оставшимся. Почему работает: вопросы привязаны к списку, а не к желанию модели быть полезной. Условие «пробелов нет» даёт честный выход без обязательных вопросов. Проверка ответов ловит «не знаю» и «посмотри сам». Рычаги: хватает 2–3 кругов, дальше новых вопросов почти нет. Порог «только высокая серьёзность» делает решение точнее. Лимит 3–5 вопросов повышает шанс, что человек ответит. Когда применять: разбор заявок, сбор требований, брифы, баг-репорты. Нужна чёткая цель, например «воспроизвести ошибку». Без цели модель найдёт случайные недочёты. Ограничения: решение «хватает или нет» модель часто путает, особенно на мелких пробелах. Вопросы, специфичные для проекта, она угадывает хуже стандартных. Передай ей контекст проекта или шаблон полей. Важное решение проверяй глазами
📖 Простыми словами

BRQGen: Towards Adaptive Completeness Assessment and Follow-Up Question Generation for Bug Reports

arXiv: 2610.15903

Обычные нейросети тупят на баг-репортах по двум сценариям: либо додумывают детали из воздуха, либо заваливают вопросами ради галочки. Метод BRQGen ломает эту фигню. Модель оценивает достаточность отчета ровно по одному критерию — хватит ли инфы, чтобы повторить ошибку. Если критических данных нет, она бьет строго в пробелы, а если всё понятно — затыкается и не мучает юзера.

Это как пригнать тачку в автосервис со словами «что-то снизу стучит». Хреновый мастер начнет наугад менять полмашины или выдаст опросник на три листа. Толковый механик задаст ровно один вопрос: «на кочках стучит или при торможении?» — и сразу полезет к стойке. Модель работает ровно так же: выкидывает белый шум и целенаправленно вытягивает только факты для воспроизведения.

Механика простая: один запрос к LLM на шаг. Модель находит дыры в репорте, формулирует вопрос и ждет ответа. Человек отвечает — система проверяет полноту каждого ответа, вскрывает новые нестыковки и снова переспрашивает. Никаких бесконечных допросов: весь цикл жестко ограничен — максимум 5 раундов, после чего отчет уходит в работу, либо процесс сворачивается за неимением инфы.

Тестировали метод на софте, когда менеджер жалуется, что «оплата через СБП не проходит», но принцип универсален. Это база для любой техподдержки, первой линии саппорта и тикетов в Jira. Везде, где клиент кидает невнятную жалобу, а инженер тратит часы на пинг-понг, адаптивный опросник экономит прорву времени: меньше пустой болтовни — быстрее фикс.

Короче: хватит заставлять LLM писать простыни текста — научи её вовремя заткнуться и задать точный вопрос. Связка из детекции пробелов и короткого диалога отсекает галлюцинации и экономит нервы разработчиков. Забирай подход в прод: получишь готовые к починке баги вместо бесконечной угадайки в рабочих чатах.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с