TL;DR
Исследование показывает, что один и тот же запрос, сказанный по-разному, меняет, сколько работы сделает агент. Исследователи переписывали запросы к почтовому ассистенту в разных стилях: косвенно, официально, многословно, эмоционально, с ошибками, в разных вариантах английского. Смысл, факты и ожидаемый результат при этом не менялись. Потом они смотрели, как падает качество.
Самое болезненное: агент не ошибается громко. Он молча пропускает нужные действия. Вместо «Перешли письмо Ивану и поставь встречу» ему пишут «Было бы здорово, если бы Иван узнал про это письмо». Агент отвечает бодро и вежливо, но половину работы не делает. Лишних или неверных действий при этом не прибавляется, их просто становится меньше. Официальный тон вредит агентам так же: в части задач они вообще не вызывают ни одного инструмента. Причина в том, что главный глагол просьбы прячется (в намёк или в придаточное предложение), и модель не распознаёт, что от неё требуют действия.
Метод самих авторов можно повторить для проверки своего агента: взять рабочий запрос, переписать его в нескольких стилях с жёсткой проверкой, что смысл не поплыл, и прогнать через агента. Сравните результат с базовым запросом. Так вы увидите, на каких формулировках ваш агент теряет работу.
Схема метода
ШАГ 1: Берёшь базовый запрос + эталонный результат (что агент должен сделать)
ШАГ 2: Просишь LLM переписать запрос в N стилях (косвенно / официально /
разговорно / многословно / эмоционально / с ошибками),
факты менять нельзя → список вариантов
ШАГ 3: Проверка вариантов: числа и имена на месте? Просят то же самое?
Звучит как живой человек? → отсеять плохие
ШАГ 4: Прогоняешь каждый вариант через агента → результаты
ШАГ 5: Сравниваешь с базовым запросом по двум счётчикам:
«не сделал нужное» и «сделал лишнее»
Шаги 2–3 можно выполнить в одном чате. Шаг 4 — это отдельные запуски вашего агента.
Пример применения
Задача: Вы владелец сети кофеен в Казани и настроили почтового агента (ChatGPT с доступом к почте, Claude с MCP или автоматизацию в n8n). Он должен переслать письма, поставить встречи и ответить поставщикам. Вы писали ему чётко: «Перешли письмо поставщика зерна Сергею Ильичу и поставь созвон на четверг в 15:00». Но сотрудники пишут агенту иначе, например: «Мы тут с поставщиком зерна вроде не определились по четвергу, Сергей Ильич, наверное, должен быть в курсе…». Вы хотите заранее узнать, где агент начнёт терять работу.
Промпт:
Ты генерируешь тестовые варианты запроса для проверки почтового агента.
Базовый запрос: «Перешли письмо поставщика зерна от 12 марта Сергею Ильичу
и поставь созвон с ним на четверг в 15:00».
Что должен сделать агент (эталон): 1) найти письмо поставщика от 12 марта,
2) переслать его Сергею Ильичу, 3) создать событие на четверг, 15:00.
Правила: нельзя менять факты, имена, даты, время, числа и суть просьбы.
Менять можно только манеру формулировки.
Для каждого стиля предложи 6 кандидатов, каждый с другим подходом
(например, подсказка, констатация потребности, сомнение, наблюдение).
Затем выбери по одному лучшему, который звучит как письмо живого человека.
Стили:
1. КОСВЕННЫЙ: просьба передана через намёк, потребность, сомнение или наблюдение
2. ОФИЦИАЛЬНЫЙ: полные предложения, строгая пунктуация, без сленга и сокращений
3. РАЗГОВОРНЫЙ: сокращения, строчные буквы, свободная пунктуация
4. МНОГОСЛОВНЫЙ: та же просьба внутри лишней болтовни, оговорок и постороннего контекста
5. ЭМОЦИОНАЛЬНЫЙ: раздражение, стресс, тревога или срочность
6. С ОШИБКАМИ: перестроенный порядок слов, систематические грамматические огрехи
После каждого варианта проверь себя: все ли числа и имена на месте?
Просит ли вариант ровно то же самое? Если нет — перепиши.
Результат: Модель выдаст шесть блоков по числу стилей, в каждом по 6 кандидатов с разными подходами и один выбранный вариант. Рядом будет самопроверка по сохранению фактов. Дальше вы прогоняете шесть запросов через своего агента и смотрите, сколько пунктов эталона он выполнил в каждом случае. Скорее всего, сильнее всего просядут косвенный и официальный варианты. Причём в виде пропущенных действий, а не неверных.
Почему это работает
Слабость. Модель опирается на явный сигнал «сделай вот это». Когда просьба спрятана в намёк («было бы здорово…») или в придаточное («прошу Вас учесть, что необходимо бы…»), главный глагол исчезает или уходит на второй план. Агент видит текст, понимает тему и отвечает по теме, но не распознаёт приказ к действию. Так он начинает «объяснять» вместо того, чтобы «делать». Простой общий балл успеха эту разницу не показывает.
Сильная сторона. LLM хорошо переписывает текст в заданном стиле при сохранении фактов. Она же неплохо проверяет, что смысл не потерялся. Поэтому тестовые варианты можно получить за один запрос, а не набирать вручную.
Как метод обходит слабость. Вместо одного «идеального» запроса вы получаете набор живых вариантов. Вы заранее видите, где именно ваш агент теряет работу, и закрываете дыру инструкцией: «любую просьбу, даже косвенную, трактуй как поручение и выполни все действия».
Рычаги управления в промпте: - Число стилей — оставьте только те, которые реально встречаются у ваших пользователей. - Число кандидатов (6) — больше разнообразия, но больше токенов. Для быстрой проверки хватит 3. - Правило «факты менять нельзя» — самый важный пункт. Без него модель «упрощает» задачу, и вы тестируете уже другую просьбу. - Самопроверка в конце — можно заменить отдельным вторым запросом, где другая модель проверяет, что вариант просит то же самое.
Шаблон промпта
Ты генерируешь тестовые варианты запроса для проверки агента.
Базовый запрос: «{базовый_запрос}»
Что должен сделать агент (эталон): {эталон_действий}
Правила: нельзя менять факты, имена, даты, числа, названия и суть просьбы.
Менять можно только манеру формулировки.
Для каждого стиля предложи {число_кандидатов} кандидатов, каждый с другим
подходом. Затем выбери по одному лучшему, который звучит как текст живого
человека.
Стили:
{список_стилей_с_определениями}
После каждого варианта проверь: все ли факты на месте? Просит ли вариант
ровно то же самое? Если нет — перепиши.
Что подставлять:
- {базовый_запрос} — то, как вы обычно просите агента.
- {эталон_действий} — нумерованный список того, что агент обязан сделать. Именно по нему вы потом считаете пропуски.
- {число_кандидатов} — 3–6.
- {список_стилей_с_определениями} — возьмите определения из блока «Оригинал» ниже.
🚀 Быстрый старт — вставь в чат:
Вот шаблон генератора тестовых вариантов запроса. Адаптируй под мою задачу:
{опиши, что делает твой агент и как обычно просишь}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какой запрос для вас типичный и что именно агент должен сделать в ответ. Она спросит и о том, кто пишет запросы: клиенты, сотрудники или вы сами. Это нужно, чтобы выбрать стили под реальных людей и составить список эталонных действий, по которому вы будете считать пропуски.
Ограничения
⚠️ Нет проверенного лекарства: Авторы измеряли, где ломается, но не проверяли, чинит ли это переписывание запроса или дополнительная инструкция. Совет «пиши прямо» подтверждён сравнением: прямой запрос работает лучше. Конкретный текст для системного промпта, который защитит от косвенных запросов, придётся проверять самим.
⚠️ Разные модели — разный результат: Косвенные запросы вредят почти во всех моделях и системах. Остальное зависит от модели. Официальный тон сильно бьёт по одним и почти не влияет на другие. У самой слабой модели эффект часто статистически незаметен.
⚠️ Многословность вредит не везде: Лишняя болтовня сильно ломает поиск по словам (классический лексический поиск вроде BM25) и почти не мешает современному поиску по смыслу. Если ваш агент ищет письма или документы по ключевым словам, длинный запрос «выталкивает» нужный документ. Если поиск смысловой, проблема мала.
⚠️ Диалекты — синтетика: Варианты английского созданы по правилам и показывают поведение систем, а не реальных людей. Для русского языка таких данных в статье нет.
⚠️ Только письма и английский: Всё проверено на почтовых данных и английском. Перенос на русский язык и другие задачи логичен, но не доказан.
Как исследовали
Идея была простой: не менять ничего, кроме формулировки. Команда взяла три задачи. Первая — вопросы по архиву переписки Enron (400 вопросов) с поиском письма и ответом по нему. Вторая — ToolTalk, диалоги с инструментами (50 диалогов, 194 реплики). Третья — WorkBench, офисные задачи в песочнице, где задача засчитывается только при точном совпадении итогового состояния базы (90 задач). Каждый запрос переписали в 10 стилей и 4 варианта английского: индийский, сингапурский, южноафриканский и нигерийский.
Чтобы вариант считался честным, он проходил четыре проверки. Числа и имена должны быть на месте. Судья-LLM подтверждает, что вариант просит то же самое. Другой судья подтверждает, что стиль действительно выражен. Третий проверяет, что текст звучит как написанный человеком. Для сложных стилей модель выдавала 6 кандидатов с разным подходом, чтобы варианты не слипались в одну фразу. Двое авторов отдельно проверили 120 вариантов вручную, и по смыслу запроса совпали полностью.
Результаты. Косвенные запросы вредят всем трём системам и всем моделям. В ToolTalk успешность упала более чем на 20 пунктов (с 52,7 до примерно 30), в WorkBench на 10,7. Официальный тон на ToolTalk и WorkBench снижает результат на 12–14 пунктов. В поиске по письмам он почти не вредит.
Что удивило. Агенты не стали делать больше ошибочных действий. Они стали делать меньше правильных. В WorkBench при официальном тоне доля задач, где агент не вызвал ни одного инструмента, выросла с 0,4% до 12,2%. При косвенных запросах агент действовал, но попадал в неверное итоговое состояние. Для практики это значит: оценивайте не только «верно ли», но и «всё ли сделано».
Ещё одна неожиданность: модель с лучшим базовым результатом не была самой устойчивой. Сильная модель просела в большем числе случаев, чем слабая. Но слабая и так хуже, и у неё просто меньше есть что терять.
Парный дизайн (каждый вариант сравнивается с собственным исходным запросом) убирает влияние сложности задач. Поэтому падение можно приписать именно формулировке.
Оригинал из исследования
Определения стилей (Table 1) в авторской формулировке. Их удобно вставлять в {список_стилей_с_определениями}:
Directness
direct (reference): The request is stated explicitly as a question or command.
indirect (contrastive): The request is conveyed through a hint, stated need,
uncertainty, or observation.
Formality
formal: Complete sentences, standard punctuation, no slang or contractions.
casual: Informal wording, contractions, shorthand, lowercase typing,
or loose punctuation.
Verbosity
concise (reference): The request is stated briefly, with the main ask
near the beginning.
verbose: The same request sits within added chatter, hedging,
or unrelated context.
Emotion
calm (reference): The request is presented in neutral, matter-of-fact language.
charged: The request expresses frustration, stress, anxiety, or urgency.
Grammaticality
grammatical (reference): Standard written English grammar and word order.
non-grammatical: Restructured word order with systematic grammatical slips.
Контекст: Эти определения авторы вложили в промпты переписчика (gpt-5.4-mini, температура 1.0). Полные промпты и списки подходов лежат в приложениях статьи, в доступном тексте их нет.
Адаптации и экстраполяции
💡 Адаптация для системного промпта агента (гипотеза, в статье не проверялась): Раз проблема в «спрятанной» просьбе, можно заставить агента явно извлекать её, прежде чем действовать.
Перед любым действием выпиши одной строкой: «Что от меня хотят сделать?» Любая просьба, даже в форме намёка, пожелания, вопроса или констатации проблемы, считается поручением, если из неё следует действие. Затем составь список всех действий, которые нужны для выполнения просьбы, и выполни каждое. Не завершай работу, пока не выполнены все пункты. Если не уверен, что просьба — поручение, спроси.Проверьте эффект тем же генератором вариантов: прогоните косвенный и официальный запросы с этой вставкой и без неё.
🔧 Техника: считать пропуски отдельно → видеть реальную проблему
При проверке агента ведите два счётчика: «не сделано нужное» и «сделано лишнее». Если общий результат упал, а второй счётчик не вырос, агент недоделывает. Это лечится инструкцией «выполни все пункты», а не запретами.
🔧 Техника: нормализатор запроса → прямой императив на входе
Для случая, когда запросы приходят от людей, поставьте перед агентом шаг «перепиши в прямую команду». Правило то же: факты не меняй, только вынеси действие в начало.
Перепиши запрос пользователя в одну прямую команду или список команд. Главное действие поставь в начало. Не меняй имена, даты, числа. Запрос: {текст_запроса}
Ресурсы
- Работа: Lost in the Request: How Communication Variation Disrupts Retrieval and Action in Email Agents
- Авторы: Feng Chen, Ritam Dutt, Atnaz Taheri, Alex Williams (Feng Chen: fengc9@uw.edu)
- Использованные данные и инструменты: EnronQA (Ryan et al., 2025), ToolTalk (Farn and Shin, 2023), WorkBench (Styles et al., 2024)
- Построитель диалектов: value-nlp.github.io (Ziems et al., 2023)
- Верbalized sampling (Zhang et al., 2025) — приём, когда за один вызов модель возвращает несколько кандидатов с разными подходами.
