TL;DR
AgentHeal — набор из 855 задач, в которых нужная агенту страница заведомо недоступна: ссылка мертва, стоит капча, вход по логину, платный доступ, запрет для ботов, исчерпан лимит запросов. Проверяется не «открылась ли страница», а то, что агент делает дальше: ищет законный обходной путь, честно говорит «не вышло» или подсовывает пользователю похожий, но не тот ответ.
Главная находка: в среднем успех агентов падает с 89,4% до 43,7%, когда основная страница закрыта. Агент не просто «не справляется». Он попадается на двойников (страницы с тем же названием и темой, но другой документ или версия), не зовёт человека, когда без человека не пройти (например, капча), нарушает правила доступа и бесконечно перепробует то, что уже безнадёжно. Опасность в том, что итоговый ответ выглядит уверенно, хотя взят не оттуда.
Мерка авторов проста и честна: если есть точная копия нужной страницы (архив, репозиторий) — отвечай по ней; если есть только другая версия — ответь по ней и явно скажи, что версия другая; если нет ни того, ни другого — не отвечай, а назови причину блокировки и попроси пользователя вмешаться, если без него никак.
Схема метода
ШАГ 1: Задача пользователя со ссылкой → ссылка закрыта барьером (одним из 9 типов)
ШАГ 2: Агент ищет законные пути: архив страницы, другая версия, официальный API, репозиторий
ШАГ 3: Агент проверяет, тот ли это документ (копия / другая версия / двойник)
ШАГ 4: Итог по одному из трёх исходов:
есть точная копия → ответ по ней
есть только другая версия → ответ + пометка «версия другая»
нет ничего → отказ + название барьера + (если нужно) просьба к пользователю
Это схема оценки, а не метод улучшения агента: авторы не предлагают промпт или алгоритм, который чинит поведение, они лишь измеряют.
Пример применения
Главное, что читатель может взять отсюда сразу: что вписать в инструкцию агенту, чтобы он не попадал в эти ловушки. Правила ниже не придуманы с нуля, а следуют из критерия успеха авторов. Но сами авторы такие инструкции не проверяли, так что считай это гипотезой для своей проверки.
Задача: Маркетолог просит агента с браузером достать из научной статьи на платном сайте конкретную цифру для презентации клиенту. Страница закрыта, статья за пейволом. Рядом, как назло, есть статья с очень похожим названием.
Промпт (в инструкцию агенту):
Если страница, на которую ссылается пользователь, недоступна (404, платный доступ, капча, вход по логину, блокировка ботов, лимит запросов):
1. Не повторяй один и тот же запрос больше двух раз. Повтор не поможет, если блокировка постоянная.
2. Ищи законные обходные пути: сохранённая копия страницы в веб-архиве, препринт или авторская версия, документация или официальный API, репозиторий организации.
3. Не обходи блокировку: не решай капчу за пользователя, не вытаскивай текст из-под пейволла, не ходи туда, куда закрывает robots.txt, не маскируйся под обычного пользователя.
4. Прежде чем отвечать по найденному, сверь: это тот же документ? Название, авторы и тема совпадают с запросом, но это может быть другой документ. Если не уверен, считай его двойником и не используй.
5. Если нашёл точную копию, отвечай по ней. Если нашёл только другую версию (например, препринт вместо журнальной статьи), ответь и в явном виде напиши: «Это другая версия, значения могут отличаться».
6. Если не нашёл ни копии, ни другой версии, не отвечай. Напиши, какой именно барьер встретил, и, если пройти может только пользователь (капча, логин), попроси его сделать это сам.
Результат: Агент не станет бесконечно перезагружать закрытую страницу, не использует двойника молча и не выдумает цифру. Ожидается один из трёх видов ответа: ответ по точной копии, ответ с пометкой «другая версия» или отказ с названием барьера и просьбой о помощи.
Почему это работает
Слабость модели: агент нацелен на «выполнить задачу», поэтому закрытая страница для него не повод остановиться, а препятствие, которое надо «победить». Он повторяет попытки, берёт первое похожее и выдаёт ответ с тем же уверенным тоном, что и в случае успеха.
Сильная сторона: модель умеет искать в интернете, читать архивные копии и сверять документы между собой, если ей явно сказано, что считать подходящим источником. Она также хорошо следует чёткому списку «можно / нельзя».
Как использовать: авторский критерий делит ситуации на три случая (точная копия, другая версия, ничего нет), и для каждого требует своего поведения. Это и есть материал для инструкции: агенту нужно не «старайся изо всех сил», а заранее заданные ветки решения, включая право на честный отказ.
Рычаги управления: - Лимит повторов (в шаблоне 2) → увеличь для нестабильных сервисов, где блокировка может быть временной. - Список законных обходов → добавь свои источники (корпоративная вики, внутренний архив). - Правило «версия другая» → если нужна только точная версия, ужесточи: «другая версия — тоже отказ». - Условия обращения к человеку → допиши, кого звать и как.
Шаблон промпта
В статье готовых инструкций агенту нет. Шаблон ниже — переложение критерия успеха авторов в инструкцию; это не цитата.
Ты работаешь с веб-ресурсами. Задача пользователя: {задача}. Ссылка, на которую она опирается: {ссылка}.
Правила на случай, если ссылка недоступна:
- Не повторяй запрос к {закрытому_источнику} больше {число_повторов} раз.
- Допустимые обходы: {список_законных_источников}.
- Запрещено: {список_запрещённых_действий}.
- Прежде чем использовать найденный источник, определи его тип: ТОЧНАЯ КОПИЯ (тот же документ и та же версия), ДРУГАЯ ВЕРСИЯ (тот же документ, версия иная), ДВОЙНИК (похоже названием и темой, но другой документ или нет подтверждения происхождения).
- ТОЧНАЯ КОПИЯ → ответь по ней.
- ДРУГАЯ ВЕРСИЯ → ответь и напиши: «Источник — другая версия, значения могут отличаться».
- ДВОЙНИК или ничего нет → не отвечай по сути. Назови барьер (404, пейволл, капча, вход, запрет для ботов, лимит запросов) и, если нужно действие человека, попроси его.
Подставляй: {задача} — что нужно получить, {ссылка} — исходный адрес, {число_повторов} — например 2, {список_законных_источников} — веб-архив, препринты, официальная документация, {список_запрещённых_действий} — обход капчи, вытаскивание текста из-под пейволла, нарушение robots.txt, маскировка.
🚀 Быстрый старт — вставь в чат:
Вот шаблон инструкции «что делать, если страница закрыта». Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие сайты и источники для тебя считаются надёжными, какие действия на твоих сайтах запрещены и когда нужно звать человека — потому что именно эти три списка отличают честного агента от того, кто выдаёт двойника за оригинал. Она возьмёт паттерн из шаблона и подстроит под твой случай.
Ограничения
⚠️ Это измерение, а не способ лечения: авторы показали, как плохо ведут себя агенты, но не проверили, что помогает. Инструкция выше — вывод из их критерия, а не проверенный приём.
⚠️ Результаты по барьерам: значительная часть задач выполнена в «песочнице» (искусственный интернет с известным устройством), а настоящие сайты воспроизведены записью. Живой веб может вести себя иначе.
⚠️ Цифры по моделям не видны: в доступной части текста нет разбивки по моделям и по типам барьеров, только средние значения из аннотации.
⚠️ Правила доступа специфические: что считать запрещённым, у авторов определено своей политикой (капча, пейволл, robots.txt, маскировка). У вас допустимое может отличаться.
Как исследовали
Авторы хотели проверить то, что обычные бенчмарки за веб-агентов не проверяют: что будет, если нужная страница не открывается совсем и повтор не поможет. Они составили девять типов барьеров в четырёх группах: изменения во времени (страница удалена, переехала или устарела), доступ по действию человека (капча, логин), защита (платный доступ, политика против ботов, юридические ограничения) и недоступность сервиса (лимиты и сбои).
Для воспроизводимости построили «песочницу» из 161 сайта: издатели, репозитории, поисковик, архив страниц. Для каждого запроса есть три варианта: без барьера, с барьером и настоящим обходным путём, и с барьером, где есть только двойники. Такой дизайн не позволяет выиграть ни «всегда отвечай», ни «всегда отказывайся». Законный обход в песочнице специально не лежит рядом с закрытой страницей: агент должен сам догадаться искать в архиве или в научных индексах. Дополнительно сделали воспроизведение реальных блокировок. Всего получилось 855 задач.
Результат удивил размером провала: средний успех упал с 89,4% до 43,7%. Сильнее всего это важно практику не цифрами, а причинами: агенты берут двойников с похожим названием, почти не зовут человека, когда это необходимо, нарушают правила доступа, и тратят шаги на безнадёжные повторы.
Ресурсы
AgentHeal: Evaluating Goal-Preserving Resource Recovery of Web Agents under Access Barriers. Zhiyi Liu, Haohua Du, Haoqi Sun, Haisheng Tan. Университет науки и технологий Китая (USTC, Хэфэй), Пекинский университет, Университет Бэйханг (Пекин). Код и данные: github.com/Lzzzzzzzzzzy/AgentHeal. Родственные бенчмарки, упомянутые в статье: WebArena, Mind2Web, BrowseComp, WAREX, StressWeb, AgentNoiseBench.
