3,583 papers
arXiv:2606.21397 72 19 июня 2026 г. FREE

Scope-First: узкий промпт точнее широкого, а один запуск — ненадёжен

КЛЮЧЕВАЯ СУТЬ
Один и тот же промпт, одна и та же модель, один и тот же текст — и разный ответ каждый раз. Исследователи из TU Berlin обнаружили: часть топовых LLM ведёт себя как подбрасывание монеты — находит или не находит проблему с вероятностью 50/50 при повторных запросах. Это общее свойство всех протестированных моделей, включая лучшие. Метод Scope-First решает сразу две проблемы: узкий сфокусированный запрос сокращает мусор в ответе и повышает точность, а несколько повторных запусков превращают ненадёжный результат в проверяемый. Claude с широким промптом выдал 48 находок в одном отчёте — большинство галлюцинации. Тот же Claude с узким запросом — конкретные цитаты и реальные проблемы.
Адаптировать под запрос

TL;DR

Когда просишь LLM «найди проблемы» — она ищет всё сразу и находит меньше. Когда говоришь «найди конкретно вот это» — точность растёт. Исследователи из TU Berlin проверили на реальных уязвимостях WordPress-плагинов: узкий, сфокусированный промпт стабильно обходит широкий — даже если широкий формально «умнее» (подробная роль, пошаговый Chain-of-Thought).

Главная неочевидная находка: LLM непредсказуемо меняет ответ при повторных запросах. Один и тот же промпт к одному и тому же документу — результат другой. Часть моделей ведёт себя как подбрасывание монеты: найдёт / не найдёт 50/50 при повторах. Это не особенность одной модели — это общее свойство всех протестированных, включая топовые.

Следствие: одного запуска недостаточно для важного анализа. Хочешь надёжный результат — запроси 2–3 раза и сравни. И чем уже сформулирована задача — тем выше шанс попасть.


🔬

Схема метода

ШАГ 1: Сформулируй узкий запрос
        → укажи конкретный тип проблемы, а не «найди всё»

ШАГ 2: Запусти 2–3 раза с одним и тем же промптом
        → каждый запуск — отдельный запрос

ШАГ 3: Сравни ответы
        → доверяй тому, что повторяется; разовые находки — перепроверяй

Все шаги — в обычном чате, отдельными сообщениями. Никакого кода.


🚀

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

Задача: Есть договор с подрядчиком на 800 000 рублей. Хочешь проверить через Claude, нет ли там ловушек.

❌ Широкий промпт — работает хуже:

Проверь этот договор на риски и проблемы.

[текст договора]

✅ Узкий промпт — по принципу из исследования:

Ты юридический аналитик, защищающий интересы заказчика.

Задача: найди в этом договоре риски конкретно по условиям расторжения — 
кто может расторгнуть, при каких условиях, какие штрафы и для кого.

Правила:
— анализируй только то, что написано в тексте
— не предполагай намерений, которых нет в документе
— если условие неоднозначно — прямо это укажи

Финал: список рисков с цитатами из текста.

[текст договора]

Результат: Модель выдаст список конкретных рисков по расторжению с прямыми цитатами. Потому что не распыляется по всему договору — сканирует одну зону. Повтори промпт 2–3 раза и сравни ответы: стабильные находки во всех трёх — доверяй, разовые — перепроверяй вручную.


🧠

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

При широком запросе («найди все проблемы») LLM распыляет внимание — проходит поверхностно по всему и на каждую конкретную категорию тратит мало ресурса рассуждений. В результате — поверхностный анализ и много ложных находок. Любопытный факт из исследования: при широком промпте Claude выдал 48 находок в одном отчёте — большинство галлюцинации.

Узкий запрос сужает пространство поиска. Модель не думает о сотнях типов проблем — концентрируется на одном. Поэтому точность растёт, а мусора меньше.

Про непостоянство: LLM генерирует текст со встроенной случайностью. Для простых фактов это незаметно. Для сложного анализа — разница между запусками может быть огромной. Отсюда правило: несколько запусков → сравни → доверяй повторяющемуся.

Рычаги управления: - Сужай тип задачи — «условия расторжения» вместо «риски» → точнее результат - Запрет на предположения — «анализируй только текст» → меньше галлюцинаций - Формат вывода с цитатами → легче сравнивать результаты разных запусков - Число повторов — 2 запуска минимум, 3 для критичных решений


📋

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

Ты {роль: эксперт в области X}.

Задача: найди в этом {тип документа} конкретно {узкая категория проблем}.

Правила:
— анализируй только то, что есть в тексте
— не предполагай намерений или контекст, которого нет в документе
— если что-то неоднозначно — прямо укажи это

Финал: {список / таблица / краткий вывод} с цитатами.

{текст}

Что подставлять: - {роль} — юрист, редактор, ревизор, технический аналитик - {тип документа} — договор, техзадание, питч, статья, инструкция - {узкая категория} — конкретный тип проблемы: условия оплаты, фактические ошибки, риски субподряда, логические противоречия - {формат вывода} — список с цитатами удобнее всего для сравнения между запусками

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

Вот шаблон для точного анализа документов. Адаптируй под мою задачу: {опиши задачу}.
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит про тип документа и конкретную категорию проблем — потому что узкая фокусировка и есть суть метода. Она возьмёт паттерн из шаблона и настроит под твою задачу.


⚠️

Ограничения

⚠️ Поверхностно «безопасное» — слепое пятно: LLM делает вывод по паттернам, а не по цепочке следствий. Если документ или код выглядит корректно на поверхности — модель скорее всего пропустит скрытую проблему внутри. В исследовании ни одна модель за 90 попыток не нашла уязвимость, спрятанную за «безопасным» на вид кодом.

⚠️ Один запуск ненадёжен: Даже лучшая модель меняет ответы при повторах. Для важных задач — минимум 2–3 запуска.

⚠️ Широкий промпт = много мусора: Без сужения модели выдают в разы больше ложных находок. Чем шире запрос — тем выше процент галлюцинаций.

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


🔍

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

Команда из TU Berlin и Freie Universität Berlin взяла 4 реальных WordPress-плагина с официально задокументированными уязвимостями — SQL-инъекция, XSS, путевой обход, удалённое выполнение кода. Прогнала через них 6 топовых моделей (Claude, GPT-5, Gemini, MiniMax, два Qwen) с 5 разными промптами — каждую комбинацию три раза. Итого: 360 отчётов и 1600+ находок. Два автора вручную проверяли каждый отчёт.

Дизайн промптов был намеренно ступенчатым: «ленивый» (буквально «найди уязвимость»), два «общих» (с ролью и задачей — простой и с CoT), два «конкретных» (те же, но с указанием типа уязвимости). Разница между простым конкретным и сложным CoT-общим — в пользу простого конкретного. Это прямо противоречит интуиции: казалось бы, детальный Chain-of-Thought должен побеждать. Нет — что искать важнее, чем как думать.

Самый показательный результат: ни одна из 6 моделей ни разу за 90 попыток не нашла уязвимость в плагине Responsive Lightbox. Там был XSS, спрятанный за regex-манипуляцией над уже экранированным входом — все модели видели esc_attr() и решали «вход защищён, XSS невозможен». Никто не проследил, что regex дальше ломает эту защиту. Вывод: LLM останавливается на первом «безопасном» сигнале и не идёт дальше по цепочке.


💡

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

🔧 Техника: повторный запуск + консолидация → фильтрация надёжных находок

Прогони один и тот же промпт трижды. Потом попроси LLM сравнить и отфильтровать:

Вот три версии анализа одного и того же документа.

Выдели только те находки, которые присутствуют минимум в двух из трёх версий.
Остальное отметь как «требует ручной проверки».

Версия 1: [ответ первого запуска]
Версия 2: [ответ второго запуска]
Версия 3: [ответ третьего запуска]

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


🔗

Ресурсы

Evaluating LLMs for Real-World Web Vulnerability Detection Sebastian Neef, Luca Jungnickel, Antonio Benjamin Buchholz, Valene Spence, Vicente Birke Gonzalez Technische Universität Berlin / Freie Universität Berlin WPScan vulnerability database: wpscan.com — публичная база 70 000+ уязвимостей WordPress


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

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

Один и тот же промпт, одна и та же модель, один и тот же текст — и разный ответ каждый раз. Исследователи из TU Berlin обнаружили: часть топовых LLM ведёт себя как подбрасывание монеты — находит или не находит проблему с вероятностью 50/50 при повторных запросах. Это общее свойство всех протестированных моделей, включая лучшие. Метод Scope-First решает сразу две проблемы: узкий сфокусированный запрос сокращает мусор в ответе и повышает точность, а несколько повторных запусков превращают ненадёжный результат в проверяемый. Claude с широким промптом выдал 48 находок в одном отчёте — большинство галлюцинации. Тот же Claude с узким запросом — конкретные цитаты и реальные проблемы.

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

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

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

LLM не анализирует текст методично — она генерирует "правдоподобное" описание анализа. При широком запросе правдоподобный ответ выглядит как длинный список всего подряд. При узком — как конкретный разбор одной зоны. Отсюда 48 находок у Claude с широким промптом: модель заполняла пространство ответа правдоподобным содержимым, а не реальными находками. Прикол в том, что подробная роль и длинный пошаговый Chain-of-Thought не помогают при широком промпте — умный инструмент с плохим заданием всё равно плывёт. Ни одна из протестированных моделей за 90 попыток не нашла уязвимость, спрятанную за «нормально выглядящим» кодом — модель делает вывод по поверхностным паттернам, а не по цепочке следствий.

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

Проверка документов → анализ договоров, технических заданий, отчётов, особенно когда нужно найти конкретный тип риска, а не «всё сразу». Проверка кода → поиск конкретной категории уязвимостей, а не общий аудит. Редактура → фактические ошибки, логические противоречия, нарушения стиля — каждое отдельным запросом. НЕ подходит для задач, где нужен полный охват без знания конкретных категорий — модель пропустит то, о чём ты не спросишь.

Мини-рецепт

1. Сформулируй узкий запрос: вместо «найди проблемы» — «найди конкретно условия расторжения» или «найди конкретно SQL-инъекции». Одна категория на один запрос.
2. Запрети предположения: добавь в промпт «анализируй только то, что есть в тексте; если что-то неоднозначно — прямо укажи». Это режет галлюцинации.
3. Потребуй цитаты: «список рисков с прямыми цитатами из текста» — так легче сравнивать результаты разных запусков.
4. Повтори 2–3 раза: каждый запуск — отдельное сообщение с тем же промптом. Доверяй тому, что встретилось во всех трёх. Разовая находка — перепроверяй вручную.

Примеры

[ПЛОХО] : Проверь этот договор на риски и проблемы. [текст]
[ХОРОШО] : Ты юридический аналитик, защищающий интересы заказчика. Задача: найди в этом договоре риски конкретно по условиям расторжения — кто может расторгнуть, при каких условиях, какие штрафы и для кого. Правила: — анализируй только то, что написано в тексте — не предполагай намерений или контекст, которых нет в документе — если условие неоднозначно — прямо укажи Финал: список рисков с прямыми цитатами из текста. [текст договора] Потом повтори этот же запрос ещё 2 раза. Что появилось во всех трёх — реальный риск. Что только в одном — перепроверь руками.
Источник: Evaluating LLMs for Real-World Web Vulnerability Detection
ArXiv ID: 2606.21397 | Сгенерировано: 2026-06-28 20:56

Проблемы LLM

ПроблемаСутьКак обойти
Один запрос к одному документу — ненадёженОдин и тот же запрос к одному и тому же тексту даёт разный результат при повторах. Для сложного анализа разброс огромный: модель то находит проблему, то пропускает. Грубо — как монетка. Это не баг одной модели. Все ведут себя так на сложных задачахЗапусти один и тот же запрос 2–3 раза отдельными сообщениями. Сравни ответы. Доверяй тому, что повторяется во всех запусках. Разовые находки — перепроверяй вручную
Широкий запрос умножает галлюцинацииПросишь «найди все проблемы» — модель проходит по всему поверхностно. На каждую конкретную категорию тратит мало ресурса. Итог: поверхностный анализ плюс много выдуманных находок. Чем шире запрос — тем выше доля мусора в ответеСужай задачу до одного типа проблемы за запрос. Вместо «найди риски» — «найди риски по условиям расторжения». Один запрос = одна категория

Методы

МетодСуть
Несколько запусков + сравнение для надёжного анализаОтправь один и тот же запрос 2–3 раза отдельными сообщениями. Каждый раз — новый разговор или отдельное сообщение. Сравни результаты: что совпало во всех запусках — надёжно. Что появилось только раз — перепроверяй отдельно. Почему работает: модель генерирует текст со встроенной случайностью. На простых фактах незаметно. На сложном анализе — каждый запуск другой путь рассуждений. Повторяющееся = нашёл с любой стороны. Когда применять: любой важный анализ документа, кода, текста — где цена ошибки высока. Минимум 2 запуска, для критичного — 3

Тезисы

ТезисКомментарий
Узкая задача даёт меньше галлюцинаций, чем широкаяКогда модель ищет «всё сразу» — внимание делится между сотнями категорий. На каждую остаётся мало ресурса рассуждений. Модель заполняет пробелы домыслами. Когда задача узкая — всё внимание на одну категорию. Домыслов меньше потому что модель не вынуждена «угадывать» в незнакомой зоне. Применяй: разбивай анализ на отдельные узкие запросы вместо одного широкого
📖 Простыми словами

EvaluatingLLMsfor Real-World Web Vulnerability Detection

arXiv: 2606.21397

Нейросети находят дыры в коде не потому, что они «умные», а потому, что умеют сопоставлять паттерны. Но есть нюанс: когда ты просишь модель найти всё и сразу, она превращается в паникующего стажёра. Вместо глубокого анализа она начинает сканировать текст по верхам, пытаясь угодить всем критериям одновременно. В итоге внимание распыляется, и модель начинает галлюцинировать от бессилия, выдавая десятки несуществующих ошибок просто чтобы отчет выглядел солидно.

Это как дать детективу задание «раскрыть все преступления в городе за один вечер». Он либо сойдет с ума, либо начнет арестовывать случайных прохожих для статистики. Но если ты скажешь ему: «ищи только тех, кто ворует кошельки в этом конкретном автобусе», шансы на успех взлетают. С LLM та же история: узкий фокус заставляет модель тратить весь ресурс рассуждений на одну конкретную логическую цепочку, не отвлекаясь на посторонний шум.

Исследователи из Берлина прогнали этот принцип на реальных уязвимостях WordPress и выяснили, что сфокусированный промпт стабильно уделывает широкие запросы. Даже если ты распишешь модели сложную роль и заставишь её «думать по шагам», она всё равно облажается на общем задании. В одном из тестов Claude вывалил 48 находок в одном отчете, и почти всё это было полнейшей чушью. Как только задачу сузили до конкретного типа уязвимости, мусор исчез, а точность выросла.

Этот принцип работает далеко за пределами программирования. Проверяешь ли ты юридический договор на 800 тысяч или ищешь ошибки в маркетинговой стратегии — не проси «найти ловушки». Проси проверить конкретно условия расторжения, потом — сроки выплат, потом — ответственность сторон. Тестировали на плагинах, но механика универсальна: чем меньше сектор обстрела, тем выше кучность попаданий. Широкий контекст — враг точности.

Короче: если хочешь получить от нейронки результат, а не поток сознания, дроби задачу на куски. Один промпт — одна конкретная проблема. Лучше запустить пять узких проверок и получить пять четких ответов, чем один раз спросить «как дела» и утонуть в галлюцинациях. Кто продолжает пичкать модель огромными инструкциями «обо всем», тот просто тратит токены на красивую имитацию работы.

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

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

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