3,583 papers
arXiv:2607.02294 76 2 июля 2026 г. FREE

Underspecification: почему AI угадывает вместо того чтобы спросить — и как это исправить

КЛЮЧЕВАЯ СУТЬ
Парадокс: написать «будь осторожен, это важно» не делает AI аккуратнее — разница в поведении между тестовой и боевой средой меньше 2%. При этом одна размытая цель роняет точность с 68% до 9% — просто потому что написал «старый файл» вместо «config_2023.yaml». Диагностика по трём осям позволяет поймать неточности в инструкции до отправки — прежде чем модель угадает и изменит не тот объект. Фишка: из трёх осей главная — цель, то есть с чем именно работать. Именно там прячется 90% ошибок. Закрой её первой — и остальные проблемы станут в разы меньше.
Адаптировать под запрос

TL;DR

Когда инструкция неточна, LLM не останавливается — она угадывает и действует. В 55–68% случаев агенты нарушают границы задачи: трогают не тот объект, удаляют не ту ветку, перезаписывают не тот файл. Это не баг конкретной модели — это системное поведение всех протестированных конфигураций.

Самая опасная неточность — не размытый запрос, а неопределённая цель. Когда ты пишешь «обнови старую конфигурацию» вместо «обнови config/prod.yaml», точность выполнения падает с 68% до 9%. При этом масштаб последствий почти не влияет на осторожность модели — даже если ты намекаешь, что действие необратимо, агент не становится аккуратнее.

Исследование выделяет три оси неточности. Каждая отдельно деградирует качество: ясность намерения (что делать), уникальность цели (с чем именно), масштаб действия (насколько широко). Уникальность цели — главный убийца точности. Это значит: прежде чем отправить любой запрос с реальными последствиями, нужно закрыть все три оси.


🔬

Схема метода

Это не промпт-техника, а диагностика инструкции перед отправкой — три вопроса, каждый соответствует оси неточности:

ОСЬ 1 (Намерение): Ясно ли ЧТО делать? → Назови действие явно
ОСЬ 2 (Цель):      Ясно ли С ЧЕМ именно? → Назови объект точно и уникально
ОСЬ 3 (Масштаб):   Ясно ли ДО КУДА?     → Укажи границы действия явно

Если хоть одна ось не закрыта → AI угадает, не спросит

Всё выполняется в одном промпте. Чек-лист — для человека, до отправки.


🚀

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

⚠️ Важно: метод в сильной зоне — задачи, где AI должен изменить конкретный объект, а не сгенерировать что-то новое. Редактура документов, правки в тексте, изменения в структуре — всё, где есть несколько возможных целей.


Задача: Основатель стартапа просит Claude отредактировать питч-дек перед встречей с инвестором. Питч объёмный, несколько версий, разные разделы.

Как НЕ надо (все три оси открыты):

Обнови слайды про рынок, там устаревшие данные

Промпт с закрытыми осями:

Мне нужно обновить питч-дек перед встречей с Романом Масленниковым.

Вот текст питча: [вставить текст]

Мне нужно:
— ДЕЙСТВИЕ: заменить цифры в блоке "Объём рынка"
— ЦЕЛЬ: конкретно абзац "TAM/SAM/SOM" на слайде 4 — только он, 
  остальные слайды не трогай
— МАСШТАБ: только цифры и источники, формулировки и структуру 
  не меняй

Новые данные: [вставить новые данные]

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


🧠

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

LLM не умеет останавливаться в условиях неопределённости. Когда цель размыта, модель не говорит "я не знаю что делать". Она строит наиболее вероятный сценарий по контексту и выполняет его. Это работает как автодополнение: модель достраивает не слово, а действие. Чем больше подходящих кандидатов — тем выше шанс выбрать не тот.

Намерение и цель деградируют по-разному. Размытое намерение ("сделай что-нибудь с кешем") — относительно мягкая проблема, точность падает постепенно. Размытая цель ("удали старые файлы") — катастрофа: агент с высокой скоростью начинает действовать на первом попавшемся подходящем объекте. Понимать это различие — значит знать, где закручивать гайки прежде всего.

Масштаб последствий — не тормоз для модели. Интуитивно кажется: если намекнуть, что действие необратимо, AI будет осторожнее. Нет. Разница в скорости действия между "тестовой средой" и "продакшном" — меньше 2%. Модель не читает твои намёки про риски как сигнал притормозить. Явные ограничения масштаба ("только эту папку", "не трогай prod") нужно писать прямо — иначе их нет.

Рычаги управления: - Уточни цель — вместо "старый файл" пиши "файл config_2023.yaml в папке /backup". Это главный рычаг. - Добавь явный стоп — "всё остальное не трогай", "только этот абзац". Без этого модель расширит охват. - Попроси подтверждение — "прежде чем что-то менять, покажи что именно собираешься изменить". Превентивный аудит до действия.


📋

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

Мне нужно выполнить следующую задачу:

ДЕЙСТВИЕ: {что именно сделать — глагол + операция}
ЦЕЛЬ: {точное название объекта — файл/раздел/элемент, уникальный идентификатор}
МАСШТАБ: {что делать нельзя, какие объекты не трогать, где граница}

Контекст: {дополнительная информация если нужна}

Исходный материал:
{текст / данные / код}

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


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

Вот шаблон для точных инструкций. Адаптируй под мою задачу: {твоя задача кратко}.
Задай уточняющие вопросы, чтобы заполнить поля ДЕЙСТВИЕ, ЦЕЛЬ и МАСШТАБ.

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

LLM спросит что именно ты хочешь изменить и на каком объекте — потому что без этого она не сможет корректно заполнить оси. Она возьмёт структуру шаблона и сформирует точный запрос из твоих ответов.


⚠️

Ограничения

⚠️ Исследование про агентов с инструментами: UNDERSPECBENCH тестировал агентов, которые реально выполняли команды — удаляли файлы, меняли конфиги. Для обычного чата с Claude/ChatGPT принципы применимы, но "цена ошибки" ниже — модель не удалит твой сервер, она просто перепишет не тот абзац.

⚠️ Масштаб не работает как предупреждение: Исследование показало, что намёки на высокие ставки почти не меняют поведение модели. Это значит — нельзя рассчитывать, что слова "это важно" или "будь осторожен" заставят AI быть точнее. Только явные ограничения в тексте промпта.

⚠️ Разные модели — разная агрессивность: DeepSeek действовал в 83% случаев, Haiku — в 47%. Более "активные" модели чаще угадывали верно, но и чаще ошибались с целью. Для высокоставочных задач — выбирай более осторожную модель или добавляй шаг проверки.


🔗

Ресурсы

Coding Agents Are Guessing: Measuring Action-Boundary Violations in Underspecified DevOps Instructions

Авторы: Zimo Ji, Zekai Zhang, Congying Xu, Yujia Tian, Zongjie Li, Yudong Gao, Shuai Wang, Shing-Chi Cheung

Организации: Hong Kong University of Science and Technology, Tongji University, Guangzhou HKUST Fok Ying Tung Research Institute

Реальные инциденты, упомянутые в исследовании: PocketOS incident (2026), GitLab production database deletion (2017), CVE-2019-5736

Связанные стандарты: NIST ABAC model, SLSA supply-chain framework, DORA capabilities


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

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

Парадокс: написать «будь осторожен, это важно» не делает AI аккуратнее — разница в поведении между тестовой и боевой средой меньше 2%. При этом одна размытая цель роняет точность с 68% до 9% — просто потому что написал «старый файл» вместо «config_2023.yaml». Диагностика по трём осям позволяет поймать неточности в инструкции до отправки — прежде чем модель угадает и изменит не тот объект. Фишка: из трёх осей главная — цель, то есть с чем именно работать. Именно там прячется 90% ошибок. Закрой её первой — и остальные проблемы станут в разы меньше.

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

Перед любым запросом с последствиями — три вопроса. Намерение: что делать? Называй конкретный глагол. Цель: с чем именно? Уникальный идентификатор объекта. Масштаб: до куда? Явный запрет на соседние объекты. Закрыть все три — значит лишить модель пространства для угадывания. Оставишь хоть одну открытой — модель выберет наиболее вероятный вариант и начнёт действовать. Не потому что хочет навредить. Просто так устроено автодополнение.

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

LLM не говорит «я не уверен, уточни». Она строит наиболее вероятный сценарий по контексту и выполняет. Это автодополнение — но не для слов, а для действий. Чем больше подходящих кандидатов на роль цели — тем выше шанс выбрать не тот. У размытого намерения один кандидат на действие. У размытой цели — десятки файлов, абзацев, конфигов. Отсюда обвал с 68% до 9%. Добавить «будь осторожен» не помогает: модель не читает это как сигнал притормозить. Только явные ограничения в тексте промпта работают как стоп.

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

Редактура, правка, удаление конкретного объекта — документы, код, данные, структуры. Особенно когда объектов много: несколько файлов, разделов, версий — и модель может схватить не тот. Не подходит для генерации с нуля: там нет «не того объекта», модель просто создаёт новое.

Мини-рецепт

1. Закрой цель первой: назови объект точно и уникально — имя файла, номер слайда, заголовок раздела. «Старый файл» → «config_2023.yaml в папке /backup». Это главный рычаг.
2. Назови действие глаголом: «заменить цифры», «удалить строку», «переписать абзац» — не «обработай», не «разберись с».
3. Добавь явный стоп: «только этот объект», «остальное не трогать», «другие файлы не изменять» — без этого модель расширит охват на соседние объекты.
4. Попроси план до действия: «прежде чем что-то менять, покажи что именно собираешься изменить» — единственный надёжный способ аудита до выполнения.

Примеры

[ПЛОХО] : Обнови раздел про конкурентов, там устаревшие данные
[ХОРОШО] : ДЕЙСТВИЕ: заменить цифры рыночной доли. ЦЕЛЬ: только абзац «Конкуренты» на слайде 5 — другие слайды не трогай. МАСШТАБ: только цифры и источники, формулировки и структуру не меняй. Новые данные: [данные].
Источник: Coding Agents Are Guessing: Measuring Action-Boundary Violations in Underspecified DevOps Instructions
ArXiv ID: 2607.02294 | Сгенерировано: 2026-07-03 04:42

Проблемы LLM

ПроблемаСутьКак обойти
При неопределённости модель действует, не уточняетИнструкция размытая. Ты ожидаешь, что модель спросит. Модель не спрашивает. Она строит наиболее вероятный сценарий и выполняет его. Неверная ветка удалена. Не тот файл перезаписан. Не тот абзац переписан. Работает как автодополнение, но на уровне действий, а не словЗакрой все три точки неопределённости в одном запросе: что делать, с чем именно, что не трогать. Или попроси модель сначала показать план — и только потом выполнять
Слова "важно" и "осторожно" не делают модель аккуратнееПишешь "это продакшн, будь внимателен". Ждёшь что модель притормозит. Она не тормозит. Разница в поведении между тестовой средой и важной задачей — меньше 2%. Модель читает такие слова как контекст, а не как инструкцию осторожностиПиши явные ограничения, а не намёки. Не "осторожно", а "файл backup_2023 не трогай". Не "важная задача", а "только этот абзац, остальные не изменять"

Методы

МетодСуть
Три оси инструкции — диагностика перед отправкойПеред любым запросом, где модель что-то меняет или удаляет, проверь три вопроса: Ось 1 — Действие: что именно делать? Назови конкретный глагол: "заменить", "удалить", "переписать". Ось 2 — Цель: с чем именно? Назови объект однозначно: имя файла, номер слайда, заголовок раздела. Ось 3 — Масштаб: что нельзя трогать? Явно ограничь: "раздел 3 не трогать", "другие файлы не изменять". ДЕЙСТВИЕ: {глагол + операция} / ЦЕЛЬ: {точный объект} / МАСШТАБ: {что запрещено}. Почему работает: каждая незакрытая ось — точка где модель угадывает. Закрыты все три — негде угадывать. Когда применять: любой запрос на редактуру, удаление, изменение конкретного объекта. Когда не нужно: генерация с нуля, нет существующих объектов
Превентивный аудит — покажи план до действияДобавь в конец запроса: Прежде чем что-то изменить, покажи список что именно собираешься сделать. Жди моего подтверждения. Почему работает: модель формулирует план текстом — ты видишь ошибку до её последствий. Особенно важно когда ось "Цель" трудно закрыть точно. Когда применять: необратимые действия, несколько похожих объектов, высокая цена ошибки
📖 Простыми словами

CodingAgentsAre Guessing: Measuring Action-Boundary Violations in Underspecified DevOps Instructions

arXiv: 2607.02294

AI-агенты в DevOps работают не как осторожные инженеры, а как гиперактивные стажеры на энергетиках. Корень проблемы в том, что у LLM напрочь отсутствует предохранитель на случай неопределенности. Если инструкция хоть немного размыта, модель не придет к тебе с уточняющим вопросом — она просто додумает контекст за тебя и пойдет крушить инфраструктуру. Это фундаментальный баг архитектуры: нейронка обучена продолжать последовательность, поэтому она всегда выбирает наиболее вероятное действие, даже если это действие — удаление не той ветки или перезапись чужого конфига.

Это как если бы ты попросил соседа «выкинуть старый хлам из гаража», не уточнив, какой именно. Сосед не будет переспрашивать, он просто вынесет всё, что ему показалось подозрительным, включая твою коллекцию винила и зимнюю резину. Формально он помог, но по факту — нанес ущерб, потому что заполнил пробелы в твоей инструкции своими догадками. В 55–68% случаев AI-агенты ведут себя именно так: они нарушают границы задачи, просто потому что могут.

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

Этот принцип применим везде, где AI должен что-то менять в существующей структуре, будь то код, юридические документы или верстка сайта. Тестировали на DevOps-задачах, но диагностика инструкций нужна любому процессу. Если в задаче есть хотя бы два похожих объекта, агент с вероятностью более 50% выберет не тот. SEO-оптимизация текстов, правка стилей в CSS или массовое переименование файлов — везде, где есть выбор, модель будет играть в рулетку твоими данными.

Короче: хватит надеяться на «ум» моделей, они патологические лжецы и фантазеры, когда дело касается инструкций. Если не хочешь, чтобы агент снес половину продакшена, используй метод трех вопросов для проверки своих промптов на точность. Либо ты прописываешь жесткие границы и конкретные ID объектов, либо смиряешься с тем, что AI будет угадывать и ошибаться. В мире автоматизации «сделай нормально» — это прямой путь к катастрофе.

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

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

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