3,583 papers
arXiv:2610.19659 96 14 окт. 2026 г. FREE

Reply Requirements: как заставить агента отвечать понятно, одним сообщением в конце работы

КЛЮЧЕВАЯ СУТЬ
Больше половины финальных ответов ИИ-агентов вы просто не сможете прочитать: «результат по crn_hierbm25_L, см. R07». Метод Reply Requirements позволяет получать от агента ответ, который понятен без расшифровки: сначала вывод, потом что сделано, и никаких чужих ярлыков. Фишка: не объясняй модели, что ты не видел её работу, а дай список того, что должно быть в тексте. Одно предупреждение «ты не видел моих файлов» почти ничего не меняет. Сообщение с шестью пунктами перед финалом снижает долю непригодных ответов с 52% до 43%.
Адаптировать под запрос
⚡

TL;DR

Reply Requirements — это короткое сообщение, которое вы добавляете в момент, когда агент пишет финальный ответ. Оно не просит «писать понятнее». Оно перечисляет, что в ответе должно быть: ответ на ваш последний вопрос первым, что сделано, результат, следующий шаг, где проверить, определение каждого названия, которого вы не видели. Второй вариант: отдать черновик другой модели в новом чате. Она переписывает ответ по тем же требованиям, видя только то, что видели вы.

Главная находка: больше половины ответов агентов вы просто не сможете прочитать. Агент пишет «результат по crn_hierbm25_L, см. R07, ключ reader_size: 70B». Вы этих названий не видели. Он придумал их сам по ходу работы или взял из своих заметок и файлов памяти. Задача выполнена и факты верны, но ответ непригоден. Чем дольше агент работал с инструментами, тем хуже ответ. Просто сообщить модели «пользователь не видел твоей работы» почти не помогает. Помогает конкретный список того, что должно быть в тексте.

Метод в два варианта. Вариант 1: перед финальным ответом добавить сообщение с шестью пунктами требований. Вариант 2: дать готовый ответ и журнал работы второй модели с теми же требованиями, и она перепишет. Второй вариант в исследовании дал лучший результат.


🔬

Схема метода

ВАРИАНТ 1 (один чат, дёшево):
  Агент закончил работу → вы добавляете сообщение с требованиями
  → агент пишет ответ по 6 пунктам

ВАРИАНТ 2 (два прохода, сильнее):
  ШАГ 1: Агент пишет ответ как обычно → черновик
  ШАГ 2: Новый чат: вашa переписка + журнал работы + черновик + требования
         → переписанный ответ
  ШАГ 3: Сверка с журналом: ничего ли не потеряно и не придумано

6 пунктов требований: ответ на последнее сообщение → что сделано → результат → следующий шаг → где проверить → определения всех незнакомых названий.


🚀

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

Задача: Владелец магазина на Ozon просит Claude Code разобрать выгрузку заказов за квартал: почему просела конверсия в карточках электроники. Агент час ходил по файлам, запускал скрипты и вёл заметки. Вернулся с текстом вроде «по сегменту seg_B2 эффект в варианте v3_cut, см. таблицу из run_14». Что такое seg_B2, v3_cut и run_14, вы не знаете. Вы добавляете сообщение-требования.

Промпт (отправляется после того, как агент закончил работу, перед его финальным ответом):

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

В ответе должно быть, в таком порядке:
1. Прямой ответ на мой последний вопрос: почему просела конверсия
   в карточках электроники.
2. Что ты сделал (2–4 пункта, без внутренних названий).
3. Результат: главные цифры и вывод.
4. Следующий шаг: что я должен решить или сделать.
5. Где проверить: в каком файле, листе или отчёте лежат подтверждающие
   данные. Укажи путь и что искать.
6. Определение каждого названия, ярлыка, номера или сокращения,
   которое я не видел. Лучше замени его описанием словами.

Пиши на русском.

Результат: Агент начнёт с прямого ответа на вопрос, а не с хода работы. Вместо «seg_B2» будет описание вроде «покупатели, пришедшие с рекламы». Внутренние идентификаторы либо заменены словами, либо расшифрованы. В конце будет указано, где лежат данные для проверки. В исследовании такой приём снижал долю непригодных ответов примерно с 52% до 43%, а ошибок и пропусков в ответах становилось меньше.


🧠

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

Слабость модели. Агент пишет ответ внутри своего рабочего контекста. Там лежат его заметки, названия запусков, номера источников, выводы скриптов. Для него всё это «общеизвестное». Модель не отличает «я это знаю» от «пользователь это знает». Поэтому она продолжает говорить на своём рабочем языке. Больше половины придуманных ярлыков агент записал в свои файлы и память ещё до ответа. Каждая новая сессия подтягивает старые ярлыки заново.

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

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

Рычаги управления: - Список пунктов → добавьте свои под задачу («риски», «что осталось неизвестным»). Убирайте лишнее, если ответ должен быть коротким. - Место сообщения → ставьте его в конец, прямо перед ответом. В статье рабочим было именно сообщение в точке ответа. - Второй проход → включайте для длинных задач с большим числом вызовов инструментов, там провалов больше всего. - Журнал работы → всегда давайте переписчику, иначе он может придумать детали. Потом сверяйте текст с журналом.


📋

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

Вариант 1. Сообщение-требования (в тот же чат/сессию агента, перед финальным ответом):

Напиши итоговый ответ мне. Учти: я видел только свои сообщения
и твои прошлые ответы. Твоих файлов, заметок, памяти проекта, вывода
инструментов и названий, которые ты ввёл сам во время работы, я не видел.

В ответе должно быть, в таком порядке:
1. Прямой ответ на моё последнее сообщение: {мой_последний_вопрос}.
2. Что ты сделал.
3. Результат.
4. Следующий шаг.
5. Где проверить: путь к файлу, лист, раздел или команда, где лежат
   подтверждающие данные.
6. Определение каждого названия, ярлыка, идентификатора или сокращения,
   которого я не видел. Лучше замени его описанием словами.

Пиши на {язык}.

Вариант 2. Переписчик (новый чат, вторая модель или та же):

Ты переписываешь итоговый ответ агента для заказчика.

Заказчик видел только:
<переписка>
{мои_сообщения_и_прошлые_ответы_агента}


Заказчик НЕ видел журнал работы агента:
<журнал_работы>
{вызовы_инструментов_выводы_заметки_файлы}


Черновик ответа агента:
<черновик>
{черновик_ответа}


Перепиши ответ так, чтобы заказчик понял его из переписки и самого
текста. В ответе должно быть, в таком порядке:
1. Прямой ответ на последнее сообщение заказчика.
2. Что было сделано.
3. Результат.
4. Следующий шаг.
5. Где проверить подтверждающие данные.
6. Определение каждого названия, номера или сокращения, которых заказчик
   не видел. Или замени их описанием.

Правила: не добавляй фактов, которых нет в журнале. Не теряй ключевые
результаты из журнала. Язык ответа: {язык}.

Что подставлять: {мой_последний_вопрос} — ваша последняя реплика. {язык} — язык, на котором вы читаете. В варианте 2 подставляйте переписку, журнал (выгрузку шагов агента или его заметки) и черновик.

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

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

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

LLM спросит, что вы просили агента сделать, на каком языке читаете и что вам нужно проверять в результате. Эти данные нужны, чтобы шесть пунктов совпали с вашими реальными провалами. Она возьмёт структуру из шаблона и подгонит под вашу задачу.


⚠️

Ограничения

⚠️ Эффект умеренный: Требования снижают долю непригодных ответов с 0.52 до 0.43. Это лучше, но около сорока процентов ответов всё ещё остаются непонятными. Метод не решает проблему полностью.

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

⚠️ Переписывание может исказить факты: Исследователи сверяли каждый переписанный ответ с журналом работы. Переписчик без журнала рискует потерять результаты или добавить лишнее. Переписывать нужно с журналом и потом сверять.

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

⚠️ Лабораторные условия: Заказчика играл скрипт с короткими директивами. Читателя заменяла модель-ридер, проверенная на людях с согласием на уровне отдельного аннотатора. Реальный заказчик с другим контекстом может видеть провалы иначе.

⚠️ Неполные детали: В доступном тексте нет дословных промптов приложения, поэтому шаблоны собраны по описанию статьи.


🔍

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

Идея была простой: агент отчитывается человеку, который не видел его работу, и тот должен понять отчёт. Исследователи взяли 8 моделей из 7 семейств. Каждая прошла четыре проекта: два исследовательских и два бизнесовых, например изменение цены подписки и редизайн онбординга. Получилось 32 длинных сессии и 480 ответов. Заказчика играл сценарий: 15 коротких сообщений в трёх сессиях, между сессиями агент сохранял заметки в «память проекта».

Читать ответы поручили модели-ридеру. Она встаёт на место заказчика, задаёт вопросы к непонятным местам и ищет ответы в тексте ответа и в видимой переписке. Нет ответа — значит информационная дыра. Ридера проверили на 300 ответах: пять людей разметили их независимо, и согласие ридера с большинством (κ = 0,60) оказалось на уровне согласия самих людей (0,63).

Результат: 54% ответов непригодны, лучшая модель ошибается в 30%, худшая в 82%. Удивило, что худший результат у Claude Opus 5, а лучший у GPT-5.6 Sol: у GPT вообще не нашлось придуманных ярлыков. После трёх и более ходов с инструментами провалов 70%, а без вызовов 48%. Более 53% придуманных ярлыков агент записал в свои файлы или в память ещё до ответа. Отсюда вывод: ответ говорит на рабочем языке агента, потому что этот язык уже лежит в его контексте.

Затем на 256 точках ответа сравнили шесть способов написать ответ заново. Простое «пользователь видел только свои сообщения» дало 0.50 против 0.52 (разница в пределах шума). Сообщение с требованиями дало 0.43, а новый чат с требованиями 0.42. Новый чат без требований дал лишь 0.47. Вторая модель, переписывающая ответ по требованиям, снизила долю до 0.36, и слепое сравнение людей это подтвердило. Практический вывод: важны конкретные пункты требований, а не отдельный проход как таковой.


📄

Оригинал из исследования

Полные промпты вынесены в приложение (в доступном тексте их нет). Описание требований из основного текста:

The requirements condition appends a message at the point of the reply
that repeats this statement and specifies what the reply must contain:
an answer to the latest message first, what was done, the result,
the next step, where the evidence can be checked, and a definition
of every name the user has not seen.
Notice condition: adds to the system prompt a statement that the user
has seen only their own messages and the agent's earlier replies.

Контекст: Так исследователи сформулировали две инструкции. Работала вторая («requirements» в конце), а первая («notice» в системном промпте) не дала значимого эффекта.


💡

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

💡 Адаптация для CLAUDE.md / AGENTS.md: вынесите шесть пунктов в постоянную инструкцию агенту. Связь с выводом статьи косвенная: в исследовании требования добавляли в точке ответа, не в файле инструкций, поэтому проверьте, что агент выполняет их и в конце длинных задач.

## Финальный ответ пользователю
Пользователь не видит твои файлы, заметки, вывод инструментов
и названия, которые ты придумал сам. Каждый финальный ответ содержит
по порядку: прямой ответ на последний вопрос; что сделано; результат;
следующий шаг; где проверить (путь к файлу или команда); определение
каждого названия, которого пользователь не видел.
Не используй внутренние идентификаторы (run_14, R07, seg_B2) без расшифровки.

🔧 Техника: переименование ярлыков при записи → меньше жаргона в памяти. Из данных статьи следует, что часть ярлыков приходит из файлов и памяти. Можно добавить в инструкцию: «Когда записываешь заметки в файл, рядом с каждым ярлыком пиши расшифровку обычными словами». Это моя экстраполяция, статья такого вмешательства не проверяла.


🔗

Ресурсы

Название работы: Measuring and Reducing Unusable Replies of LLM Agents Авторы: Yilin Jiang, Fei Tan, Xuanyu Yin, Guanchu Wang, Xia Hu, Yutao Yue Организации: East China Normal University; The Hong Kong University of Science and Technology (Guangzhou); Shanghai Artificial Intelligence Laboratory; Institute of Deep Perception Technology, JITRI Связанные идеи из статьи: декontextуализация (Choi et al., 2021; Newman et al., 2023), общая основа понимания в диалоге (Clark & Brennan, 1991; Shaikh et al., 2024).


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

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

Больше половины финальных ответов ИИ-агентов вы просто не сможете прочитать: «результат по crn_hierbm25_L, см. R07». Метод Reply Requirements позволяет получать от агента ответ, который понятен без расшифровки: сначала вывод, потом что сделано, и никаких чужих ярлыков. Фишка: не объясняй модели, что ты не видел её работу, а дай список того, что должно быть в тексте. Одно предупреждение «ты не видел моих файлов» почти ничего не меняет. Сообщение с шестью пунктами перед финалом снижает долю непригодных ответов с 52% до 43%.

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

Метод в двух вариантах. Вариант 1 (один чат, дёшево): агент закончил работу → вы пишете сообщение с шестью пунктами → он выдаёт ответ по списку. Вариант 2 (два прохода, сильнее): агент пишет черновик → новый чат получает переписку, журнал работы, черновик и те же пункты → переписанный ответ → вы сверяете его с журналом. Шесть пунктов, строго в таком порядке: ответ на последний вопрос, что сделано, результат, следующий шаг, где проверить, определения незнакомых названий. Каждый пункт — проверяемое действие, а не пожелание. «Определи каждое название, которого я не видел» модель может выполнить: пройти по тексту и расшифровать. «Учитывай читателя» — не может. Это как чек-лист у пилота против напутствия «летай аккуратно». Второй проход работает ещё лучше, потому что переписчик видит только то, что видели вы. Рабочего жаргона у него просто нет.

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

Агент пишет ответ внутри своей кучи заметок: названия запусков, номера источников, вывод скриптов. Для него всё это общеизвестно. Модель не отличает «я это знаю» от «пользователь это знает». Поэтому она продолжает говорить на своём рабочем языке. Большинство придуманных ярлыков агент записал в свои файлы и память ещё до ответа. Каждая новая сессия подтягивает их заново. Чем дольше работа с инструментами, тем хуже ответ. Уведомление «пользователь не видел твою работу» дало почти ноль, а то же уведомление плюс шесть пунктов дало заметный сдвиг. Помогает не знание о проблеме, а конкретный список в точке ответа. «Где проверить» заменяет «см. R07» на путь, который вы откроете сами. «Определения» ловят ярлыки, которые агент придумал по ходу. Эффект умеренный. Около 40% ответов всё равно остаются непонятными. Проверяли на скрипте-заказчике и модели-читателе, а не на живых людях. Дословных промптов в статье нет, шаблоны собраны по описанию.

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

Агенты с инструментами (Claude Code, Cursor и подобные) → длинные задачи: разбор файлов, анализ выгрузок, исследования. Особенно когда агент сделал десятки вызовов и вернулся с ответом на своём внутреннем языке. Второй проход нужен именно там, где провалов больше всего. НЕ подходит для коротких чатов без инструментов: там нечему быть непонятным. Не ждите чуда, это снижение с 52% до 43%, а не «проблема решена». Переписчику без журнала работы тоже не доверяйте: он может потерять результаты или придумать лишнее.

Мини-рецепт

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

Примеры

[ПЛОХО] : Напиши итоговый ответ понятно, я не видел твоей работы Агент отвечает: «по сегменту seg_B2 эффект в варианте v3_cut, см. таблицу из run_14». Что это, непонятно.
[ХОРОШО] : Напиши итоговый ответ мне. Я видел только свои сообщения и твои прошлые ответы. Твоих файлов, заметок, вывода скриптов и названий, которые ты придумал по ходу работы, я не видел. В ответе должно быть, в таком порядке: 1. Прямой ответ на мой последний вопрос: почему просела конверсия в карточках электроники. 2. Что ты сделал (2-4 пункта, без внутренних названий). 3. Результат: главные цифры и вывод. 4. Следующий шаг: что мне решить или сделать. 5. Где проверить: файл, лист или отчёт и что в нём искать. 6. Определение каждого названия, ярлыка или сокращения, которых я не видел. Лучше замени их описанием словами. Пиши на русском. Агент начинает с прямого ответа. Вместо «seg_B2» пишет «покупатели, пришедшие с рекламы». В конце указывает путь к файлу с данными для проверки.
Источник: Measuring and Reducing Unusable Replies of LLM Agents
ArXiv ID: 2610.19659 | Сгенерировано: 2026-10-15 05:00

Проблемы LLM

ПроблемаСутьКак обойти
Агент после долгой работы пишет ответ на своём жаргоне, который вы не виделиАгент работает с файлами и инструментами и по ходу вводит свои названия: ярлыки запусков, номера, ключи, сокращения. В финале пишет что-то вроде «по сегменту seg_B2, вариант v3_cut, см. run_14». Факты верны, задача сделана, но вы не понимаете текст. Модель не отличает «я это знаю» от «пользователь это знает». Многие ярлыки она берёт из своих заметок и файлов памяти. Чем дольше работа, тем хуже ответ. Фраза «пользователь не видел твоей работы» почти не помогает.Перед финальным ответом отправь сообщение со списком, что должно быть в тексте (см. метод 1). Для длинных задач перепиши ответ в новом чате (см. метод 2).

Методы

МетодСуть
Список требований к ответу перед финалом: понятный итог без жаргонаКогда агент закончил работу, добавь сообщение с перечнем содержимого ответа. Не пиши «пиши понятнее». Пиши список: 1. Прямой ответ на мой последний вопрос. 2. Что сделано. 3. Результат. 4. Следующий шаг. 5. Где проверить (путь к файлу, лист, команда). 6. Определение каждого названия, которое я не видел, или замени его описанием словами. Добавь строку: «Я видел только свои сообщения и твои прошлые ответы. Файлов, заметок и вывода инструментов не видел». Почему работает: Модель хорошо выполняет конкретные проверяемые действия. Пункт «расшифруй каждое незнакомое название» — это действие: пройти по тексту и заменить. Совет «учитывай читателя» такого действия не задаёт. Сообщение стоит прямо перед ответом, поэтому модель его не забывает. Каждый пункт закрывает свой провал: «ответ первым» лечит ответы мимо вопроса, «где проверить» заменяет «см. R07» на путь, который можно открыть. Когда применять: агент работал с инструментами и файлами, вы читаете итог. Ограничение: эффект умеренный. Около сорока процентов ответов всё равно остаются непонятными. Добавляй свои пункты под задачу («риски», «что неизвестно»). Убирай лишние, если ответ должен быть коротким.
Переписчик в новом чате — ответ без чужого жаргонаОткрой новый чат. Дай модели три блока: <переписка> (что видел пользователь), <журнал_работы> (вызовы, выводы, заметки агента), <черновик> (ответ агента). Добавь те же шесть требований. Правила: «не добавляй фактов, которых нет в журнале, не теряй ключевые результаты». Почему работает: Переписчик видит только то, что видел читатель, плюс журнал для проверки фактов. Рабочий жаргон агента не лежит у него в голове как «общеизвестное». Журнал нужен, иначе он начнёт придумывать детали. После переписывания сверь текст с журналом: ничего ли не потеряно и не выдумано. Когда применять: длинные задачи с множеством вызовов инструментов. Там провалов больше всего. Когда не нужно: короткий диалог без инструментов. Хватит метода 1. Цена: нужно достать журнал из агента. В готовых агентах это ручное копирование.
📖 Простыми словами

Measuring and Reducing Unusable Replies ofLLMAgents

arXiv: 2610.19659

Когда автономный AI-агент час копается в файлах и коде, у него начисто сносит крышу от собственного контекста. Модель на базовом уровне не отличает свои внутренние черновики от того, что реально знает пользователь. Для неё служебные переменные, логи и промежуточные выгрузки — это само собой разумеющиеся вещи. В итоге вместо внятного вывода она вываливает на тебя непригодную кашу из технических ярлыков, в которой варилась всё это время.

Это как отдать машину в автосервис, а механик выходит и на полном серьёзе заявляет: «по узлу seg_B2 пробит клапан из рана номер 14». Ты стоишь и хлопаешь глазами, пытаясь понять главное: тачка вообще поедет или нет? Мастер формально проделал огромную работу, но наглухо забыл переключиться с внутреннего рабочего жаргона на нормальный человеческий язык.

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

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

Главный вывод: агенты круто копают, но катастрофически лажают на упаковке результатов. Хватит надеяться на их встроенную адекватность — внедряй жесткий протокол финального ответа или держи наготове модель-переводчика. Иначе будешь часами гадать, что за хрень скрывается за очередным победным отчётом.

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

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

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