3,583 papers
arXiv:2610.26062 77 19 окт. 2026 г. FREE

Procedural Exposure Bias: чем чаще действие упомянуто в скилле, тем охотнее агент его выбирает

КЛЮЧЕВАЯ СУТЬ
Обнаружено: агент выбирает действие не только по смыслу, но и по числу упоминаний в скилле (файле с инструкциями вроде SKILL.md). Находка позволяет понять, почему агент предлагает возврат или удаление там, где они не нужны, хотя условия применимости в скилле записаны верно. Каждое повторение слова действия добавляет ему «голос» в контексте, и модель складывает эти голоса, а не взвешивает важность. Авторы меняли только число повторов (0, 1, 2, 4, 8) при той же длине текста и той же ситуации. Предпочтение действия росло вместе с числом повторов. Это находка, а не готовый метод: правки скиллов авторы не проверяли.
Адаптировать под запрос
⚡

TL;DR

Procedural Exposure Bias (PEB, «смещение от повторения процедуры») — это находка о том, как агент читает скилл (файл с инструкциями вроде SKILL.md). Чем чаще в скилле повторено слово, связанное с действием, тем сильнее модель тянется к этому действию. Это происходит даже тогда, когда в текущей ситуации оно не подходит. Авторы также показали, что тот же скилл, отрендеренный в картинку и поданный мультимодальной модели, даёт меньший перекос и чуть более высокий итоговый успех агента.

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

Суть находки в том, что частота упоминаний сама по себе работает как вес. Картинка этот вес ослабляет: сигнал остаётся читаемым, но слабее влияет на выбор действия. Практический вывод из статьи — следить за повторами ключевых слов действий в скиллах и инструкциях. Визуальная подача скиллов — вторая, менее зрелая опция.

🔬

Схема метода

Это не метод, а находка, поэтому схема описывает логику эксперимента и вывод.

ШАГ 1: Берём скилл, где слово действия-«отвлекателя» повторено k раз (0, 1, 2, 4, 8)
       Длина текста и ситуация те же, действие неприменимо
ШАГ 2: Смотрим, как растёт предпочтение этого действия → растёт с k
ШАГ 3: Тот же скилл подаём картинкой → рост заметно слабее
ШАГ 4: Прогоняем полных агентов: текстовый скилл vs картинка → картинка чуть лучше в среднем

Вывод для практики: считай упоминания действий в скиллах. Картинка — экспериментальная альтернатива.

🚀

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

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

Задача: Вы настроили агента для продавца на Wildberries. Скилл «Обработка обращений» описывает и возврат, и обмен, и отказ. Раздел про возврат подробный: слово «возврат» встречается около десяти раз, а обмен упомянут дважды. Агент всё чаще предлагает возврат там, где покупателю нужен обмен.

Промпт:

Ты — аудитор инструкций для ИИ-агента. Ниже скилл для агента поддержки продавца на Wildberries.

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

Скилл:
{текст_скилла}

Результат: Модель выдаст таблицу частот по действиям. Затем отметит перекос, например что одно действие упомянуто в разы чаще остальных. Предложит точечные правки и выдаст переписанный скилл с одним упоминанием каждого действия вместе с условием применимости. После этого прогоните агента на 10–20 типовых обращениях до и после правки и сравните, кто стал выбирать «не то» действие реже.

🧠

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

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

Что подтверждают контрольные замены. Если заменить повторяемое слово на нейтральное, перекос заметно падает. Если заменить такое же число других слов, почти ничего не меняется. Значит, эффект даёт именно повтор слова действия, а не любое изменение текста.

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

Рычаги управления: - Число упоминаний действия → меньше повторов, меньше перекос в его сторону. - Условие применимости рядом с упоминанием → один раз, но с чётким «когда». - Общие слова вместо повторов («это действие», «такой случай») → снижают лексический «вес», но проверьте, что смысл не размылся. - Формат подачи → текст или картинка, если инструмент принимает изображения.

📋

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

Проведи аудит инструкции для ИИ-агента на перекос от повторов.

Контекст агента: {что_делает_агент}
Список действий, которые агент может выбирать: {список_действий}

Шаги:
1. Для каждого действия посчитай упоминания ключевого слова и однокоренных форм в тексте.
2. Построй таблицу: действие | число упоминаний | где встречается.
3. Найди перекосы: действия, у которых упоминаний много больше, чем у остальных, хотя в работе они {критерий_редкости}.
4. Предложи правки: одно упоминание + условие применимости; убрать повторы из примеров и пояснений.
5. Выдай переписанную инструкцию. Смысл и условия применимости не меняй.

Инструкция:
{текст_инструкции}

Что подставлять: - {что_делает_агент} — роль агента, например «поддержка маркетплейса». - {список_действий} — 3–10 действий, между которыми агент выбирает. - {критерий_редкости} — например «подходят редко» или «не должны быть выбором по умолчанию». - {текст_инструкции} — скилл, CLAUDE.md, AGENTS.md или системный промпт.

⚠️

Ограничения

⚠️ Нет проверки правки: Авторы показали, что повторы вредят. Они не проверяли, что переписывание скилла без повторов улучшает результат агента. Это логичная гипотеза, но проверять её нужно на своих задачах.

⚠️ Контролируемый эксперимент узкий: Основная проба — одна модель и домашние задачи (ALFWorld). На других моделях авторы показывают то же качественно, но детали вынесены в приложение.

⚠️ Нет фронтирных закрытых моделей: Проверяли открытые модели (Qwen, Gemma, Kimi). Как это выглядит у Claude или GPT, статья не говорит.

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

⚠️ Картинки требуют инженерии: Подача скиллов картинками нужна мультимодальной модели и конвейеру рендера. Скиллы в готовых агентах (Claude Code и подобных) — текстовые файлы, так что этот путь потребует доработки.

⚠️ Внутренняя часть вам не нужна: Анализ слоёв и подмена активаций требуют доступа к весам. Для практики из них ничего не следует.

🔍

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

Авторы начали с чистого вопроса: влияет ли простое количество упоминаний действия в скилле на выбор модели, если релевантность не меняется? Они взяли 165 шагов из успешных прохождений домашних задач в ALFWorld. На каждом шаге зафиксировали историю и правильное действие, а потом добавили отвлекающее действие: оно подходит к задаче в целом, но не к текущему шагу. Ключевое слово отвлекателя вставляли в скилл 0, 1, 2, 4 или 8 раз, а остальные места заполняли нейтральным текстом. Длина текста при этом не менялась. Модель не генерировала ответ, а оценивала заранее заданные варианты действий — так сравнение чистое.

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

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

В конце прогнали полных агентов на ALFWorld, ScienceWorld и WebShop на четырёх моделях. Скилы вообще дают главный прирост: у Qwen3.5-9B общий успех вырос с 16 до 41–44. Картинка превзошла текст в среднем у всех четырёх моделей: у Qwen 9B 40,7 → 44,1, у Kimi 56,3 → 58,6, у Gemma 57,2 → 58,2, у Qwen 27B 53,1 → 53,9. Приращения скромные, и главный урок — сам факт перекоса, а не величина выигрыша от картинок.

💡

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

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

Вот CLAUDE.md моего проекта. Подсчитай, сколько раз упомянуты ключевые действия
(удалять, переписывать, запускать тесты, спрашивать подтверждение, коммитить).
Найди те, что упомянуты непропорционально часто.
Предложи, как сократить повторы, сохранив правила и их условия.

{текст_файла}

🔧 Техника: условие применимости рядом с действием. Вместо многократного напоминания «делай X» держите одно упоминание: «Делай X только если {условие}». Это моё предположение из логики находки, в статье не проверялось. Проверьте на 10–20 типовых запросах, снизилось ли число лишних вызовов X.

🔗

Ресурсы

  • Работа: Procedural Exposure Bias in Skill-Augmented Language Model Agents, препринт.
  • Код: https://github.com/NEUIR/Vis-Skill
  • Авторы: Qing Yang, Yuqi Xiong, Pengcheng Huang, Zhipeng Xu, Zhenghao Li, Zulong Chen, Yu Gu, Ge Yu.
  • Организации: School of Computer Science and Engineering, Northeastern University (Shenyang, Китай); Alibaba Group (Ханчжоу).
  • Бенчмарки: ALFWorld, ScienceWorld, WebShop. Ранжирование скиллов — по схеме SkillNet.

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

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

Обнаружено: агент выбирает действие не только по смыслу, но и по числу упоминаний в скилле (файле с инструкциями вроде SKILL.md). Находка позволяет понять, почему агент предлагает возврат или удаление там, где они не нужны, хотя условия применимости в скилле записаны верно. Каждое повторение слова действия добавляет ему «голос» в контексте, и модель складывает эти голоса, а не взвешивает важность. Авторы меняли только число повторов (0, 1, 2, 4, 8) при той же длине текста и той же ситуации. Предпочтение действия росло вместе с числом повторов. Это находка, а не готовый метод: правки скиллов авторы не проверяли.

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

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

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

Модель видит каждое упоминание как отдельное место в контексте. Восемь повторов дают действию восемь опор для следующего шага, а один повтор даёт одну. Релевантность при этом не меняется. Контрольные замены убирают сомнения. Заменили повторяемое слово на нейтральное — перекос заметно упал. Заменили столько же других слов — почти ничего не изменилось. Значит, виноват именно повтор слова действия, а не любая правка текста. С картинкой так же. Обычный чёрно-белый скриншот текста снижает перекос почти так же, как красивая карточка. Дело в способе кодирования, а не в вёрстке. Честно про выигрыш: в полных прогонах агентов картинка в среднем лучше текста у всех четырёх моделей. Но разница в единицы процентных пунктов, и на отдельных средах текст выигрывает. Причину прироста авторы не доказали.

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

Агенты с готовыми инструкциями (поддержка, работа с файлами, склад, заявки) → особенно когда в скилле есть подробный раздел про редкое или опасное действие (возврат, удаление, отмена) и агент берёт его слишком часто. Смотри на: CLAUDE.md, AGENTS.md, системные промпты, длинные скиллы с примерами, где одно слово повторено в каждом абзаце. НЕ подходит: как гарантия. Авторы не проверяли, что переписанный скилл улучшает результат агента. Проверяй на своих 10–20 типовых случаях. Картинки вместо текста тоже не вариант для Claude Code и подобных: там скиллы текстовые.

Мини-рецепт

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

Шаблон для аудита:
Проведи аудит инструкции для ИИ-агента на перекос от повторов. Контекст агента: {что_делает_агент}. Действия: {список_действий}. 1) Посчитай упоминания ключевого слова и однокоренных форм для каждого действия. 2) Построй таблицу: действие | число упоминаний | где встречается. 3) Найди действия, у которых упоминаний много больше, чем у остальных, хотя они {критерий_редкости}. 4) Предложи правки: одно упоминание плюс условие применимости, убрать повторы из примеров. 5) Выдай переписанную инструкцию. Смысл и условия применимости не меняй. Инструкция: {текст_инструкции}

Примеры

[ПЛОХО] : В скилле поддержки раздел про возврат расписан на полстраницы. Слово «возврат» встречается десять раз, обмен упомянут дважды. Агент всё чаще предлагает возврат, когда покупателю нужен обмен. Автор скилла уверен, что условия написаны правильно.
[ХОРОШО] : Ты — аудитор инструкций для ИИ-агента. Ниже скилл поддержки продавца на Wildberries. Выпиши все действия. Посчитай, сколько раз встречается ключевое слово каждого и его однокоренные формы. Покажи таблицу: действие | число упоминаний | разделы. Отметь действия, которых в разы больше остальных, хотя в работе они не самые частые. Для каждого оставь одно упоминание с условием «только если…», убери повторы из примеров. Выдай переписанный скилл, смысл не меняй. Скилл: {текст_скилла} Модель вернёт таблицу частот и покажет перекос в сторону возврата. Дальше она предложит точечные правки и выдаст чистый скилл. Прогони агента на старой и новой версии: если «не то» действие выбирается реже, находка сработала на твоих данных.
Источник: Procedural Exposure Bias in Skill-Augmented Language Model Agents
ArXiv ID: 2610.26062 | Сгенерировано: 2026-10-20 16:10

Проблемы LLM

ПроблемаСутьКак обойти
Чем чаще в инструкции повторено слово действия, тем охотнее модель его выбирает, даже когда оно не подходитПишешь длинную инструкцию для агента, например про возврат, обмен и отказ. Один раздел подробный, и слово «возврат» там встречается восемь раз. Условия применимости записаны верно. Но агент начинает предлагать возврат и в обычных ситуациях. Частота слова давит сильнее логики условия. Каждое повторение — ещё одно место в тексте, откуда модель берёт вероятность следующего шага. Считается число упоминаний, а не важность. Проблема касается любых инструкций, где агент выбирает между действиямиПосчитай, сколько раз в инструкции упомянуто каждое действие. Если у одного упоминаний заметно больше, чем у остальных, а в работе оно редкое, убери перекос. Оставь одно чёткое упоминание с условием («только если…»). Убери повторы из примеров и пояснений. Где смысл не страдает, замени повтор словами «это действие», «такой случай». Потом прогони агента на 10–20 типовых запросов до и после правки. Сравни, как часто он выбирает не то действие. Такая правка пока гипотеза: вред от повторов показан, а польза от переписывания не проверена
📖 Простыми словами

Procedural Exposure Bias in Skill-AugmentedLanguageModelAgents

arXiv: 2610.26062

AI-агенты не понимают смысл твоих регламентов так, как понимает человек. Они тупо считают математический вес токенов в контексте. Если ты в файле вроде SKILL.md слишком часто повторишь слово действия, модель начнёт бездумно выбирать именно его, даже когда ситуация требует совершенно другого. Этот баг назвали Procedural Exposure Bias (PEB) — нейронку клинит от банального спама одного глагола.

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

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

Авторы гоняли тесты на скиллах, но принцип универсален. Эта засада ломает любые сложные промпты, регламенты техподдержки и сценарии Tool Calling. Если ты слишком детально расписал одну команду, заспамив глаголы вроде «отправь» или «удали», агент начнёт спамить этой функцией при любом чихе, наглухо игнорируя остальные инструменты.

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

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

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

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