3,583 papers
arXiv:2610.37201 80 27 окт. 2026 г. FREE

Скилл-оптимизаторы: автоматически дописанные правила для агента не лучше ручного скила, но делают его дороже

КЛЮЧЕВАЯ СУТЬ
Правила, которые автоматика дописала в инструкцию агента, решают задачи не чаще одного хорошего ручного скила: разница в среднем 0,1 пункта. Зато агент читает примерно на 16% больше токенов. Вывод позволяет почистить разросшийся CLAUDE.md или AGENTS.md: убрать дубли и оставить одно правило проверки без потери качества. Фишка: агент превращает «перепроверь» и «делай по одному» в лишние ходы, а каждый ход заново отправляет модели всю переписку. Инструкция выглядит короткой, а счёт растёт.
Адаптировать под запрос
⚡

TL;DR

Скилл-оптимизатор — это автоматика, которая переписывает инструкцию агента (скил, аналог CLAUDE.md). Модель-редактор читает логи прогонов и дописывает правила, а затем оставляет те правки, после которых агент решил больше задач на маленькой проверочной выборке. Исследователи проверили три таких оптимизатора на длинных агентных задачах. Выученные скилы решают задачи не чаще, чем один хорошо написанный вручную исходный скил (разница в среднем 0,1 пункта), но заставляют агента читать примерно на 16% больше токенов. Главная причина: правила «перепроверь» и «делай по одному вызову за раз» превращаются в дополнительные ходы.

Прирост, который оптимизатор показывает на проверочной выборке, в основном иллюзия. Выборка маленькая (до 30 задач), а успех у агента случаен: один и тот же скил то решает задачу, то нет. Если взять лучшего из 4–8 кандидатов, прирост «найдётся» даже у кандидатов, которые ничем не отличаются от исходного. На новых задачах он пропадает. Вторая проблема: оценка «решил / не решил» не показывает цену. Каждый ход агента заново отправляет модели всю переписку, поэтому лишний ход стоит больше, чем строка в инструкции. Третья: редактор дописывает правила пачками (в среднем 37 за запуск, до 105), и никто не проверяет каждое правило отдельно. Из 337 добавленных правил ни одно не просило агента читать меньше, а половина просила что-то проверять.

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


🔬

Схема метода

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

ШАГ 1: Прогнать исходный скил несколько раз → узнать его собственный разброс
ШАГ 2: Прогнать новый скил столько же раз   → принять правку, только если разница больше разброса
ШАГ 3: Для каждого нового правила спросить   → сколько ходов оно добавит?
ШАГ 4: Удалить / объединить правила          → не только дописывать
ШАГ 5: Показать редактору цену прошлых правил → прежде чем он пишет новые

Шаги 1–2 делаются вручную или в автоматизации. Шаги 3–5 можно сделать промптом в обычном чате (см. шаблон ниже).


🚀

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

Задача: Вы ведёте небольшую студию, которая делает сайты на Битриксе. Агент Claude Code правит вёрстку и скрипты. После каждого сбоя вы дописывали в CLAUDE.md правило: «проверь ещё раз», «после каждого изменения запусти сборку», «читай файлы по одному». За полгода набралось 90 строк. Агент стал работать медленнее, а токены в тарифе заканчиваются к середине месяца. Нужна ревизия.

Промпт:

Ты — редактор инструкций для ИИ-агента. Ниже мой CLAUDE.md. 
Он разросся: правила дописывались после каждого сбоя, и никто их не пересматривал.

Контекст: агент правит сайты на 1С-Битрикс (PHP, JS, вёрстка). 
Каждый ход агента заново отправляет модели всю переписку, поэтому лишний ход 
стоит дороже, чем строка в инструкции.

Сделай ревизию в 4 шага:

ШАГ 1. Раздели каждое правило на категорию: 
«проверь» (повторная верификация), «по одному» (действуй одним вызовом за раз), 
«читай» (что и сколько читать), «формат», «границы» (чего нельзя), «прочее».

ШАГ 2. Для каждого правила оцени, сколько ДОПОЛНИТЕЛЬНЫХ ХОДОВ агента оно 
порождает: 0 / 1–2 / много. Правила «проверь» и «по одному» оценивай особенно строго.

ШАГ 3. Найди дубли и противоречия. Предложи, какие правила УДАЛИТЬ, 
какие ОБЪЕДИНИТЬ в одно. Для каждого решения — одна строка причины.

ШАГ 4. Выдай новую версию файла. Правило проверки оставь одно: 
«перед заявлением о завершении выполни свежую полную проверку». 
Правила, которые порождают много ходов, оставляй только если они закрывают 
реальный сбой из моих заметок.

Вот мои заметки о реальных сбоях: {список_сбоев}
Вот CLAUDE.md: {текст_файла}

Результат: Модель выдаст таблицу правил с категориями и оценкой ходов, затем список «удалить / объединить» с причинами и новую короткую версию файла. Правило проверки будет сведено к одному. Дальше нужно прогнать агента на 5–10 типовых задачах по несколько раз и сравнить расход токенов со старой версией.


🧠

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

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

Почему накопление не ловится. Правку оценивают целиком и по малой выборке. Нельзя понять, какое из десяти добавленных правил помогло, а какое просто стоит денег. Если выбирать лучшего из нескольких шумных результатов, победитель почти всегда «выигрывает» за счёт удачи.

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

Рычаги управления: - Категории правил → добавьте свои (например, «безопасность»), чтобы не удалять нужное. - Шкала цены в ходах → замените на «токены» или «секунды», если считаете их. - Список реальных сбоев → оставляйте правило, только если оно закрывает сбой из списка. Это защита от «мёртвых» правил. - Число прогонов для сравнения → чем шумнее задача, тем больше нужно повторов.


📋

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

Это применение принципов 2–4 из статьи для ручной или чатовой ревизии. Авторы сами такой промпт не тестировали.

Ты — редактор инструкций для ИИ-агента. Нужно сократить и очистить инструкцию, 
не потеряв полезных правил.

Что делает агент: {задача_агента}
Реальные сбои, ради которых писались правила: {список_сбоев}

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

Сделай:
1. Для каждого правила укажи категорию: проверка / по одному / чтение / формат / границы / прочее.
2. Оцени, сколько дополнительных ходов агента оно порождает (0 / 1–2 / много). 
   Каждый ход заново отправляет всю переписку, поэтому считай цену в ходах, а не в длине.
3. Предложи УДАЛИТЬ правила без привязки к реальному сбою, 
   ОБЪЕДИНИТЬ дубли и пересекающиеся правила.
4. Выдай новую версию. Она должна быть короче исходной. 
   Правил типа «проверь» — не больше одного.

Формат ответа: таблица (правило | категория | ходы | решение | причина), затем новая версия.

Подставьте: {задача_агента} — одной фразой, что агент делает; {список_сбоев} — реальные случаи, из-за которых вы дописывали правила; {текст_инструкции} — ваш CLAUDE.md, AGENTS.md или скил целиком.


⚠️

Ограничения

⚠️ Проверялось на длинных агентных задачах: терминал, поддержка клиентов, бизнес-процессы. Для коротких одиночных запросов (вопрос-ответ) выводы про стоимость ходов не обязательно переносятся.

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

⚠️ Диагностика требует логов и кода: сам BiPA (повтор отбора, граф ходов) вам не доступен без инженера. Из статьи берутся выводы, а не инструмент.

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

⚠️ Малые выборки: на одном из бенчмарков в тесте всего 18 задач, разброс большой.

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


🔍

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

Исследователи взяли три опубликованных оптимизатора скилов (GEPA, SkillOpt, SkillAdam) и три агентных бенчмарка: Terminal-Bench 2.1 (починка терминальной среды), τ³-bench (поддержка клиентов с симулированным пользователем) и AutomationBench (бизнес-процессы). Агентом были две модели в harness OpenCode без сжатия истории. Все оптимизаторы стартовали с одного ручного скила: общего правила «свежая полная проверка перед заявлением о готовности». В итоге получилось 16 выученных скилов. Каждый скил, включая исходный и вариант «без скила», прогнали на тесте по три раза.

Главная идея: прогнать правило приёма оптимизатора на кандидатах, абсолютно идентичных исходному скилу. Если «ничего не менявшие» кандидаты показывают такой же прирост, значит, прирост даёт сам отбор. Так и вышло. Неизменённые кандидаты воспроизводили заявленные приросты с вероятностью от 0,25 до 0,94. Заявленные 3–17 пунктов на dev-выборке на тесте не подтвердились: итог в среднем плюс 0,1 пункта, а у девяти скилов под DeepSeek даже минус 1,4. Скилы примерно столько же задач выигрывали, сколько проигрывали (57 против 62). То есть они не расширяли возможности агента, а лишь делали его поведение более однообразным.

Цену изучали отдельно. Каждый прогон записали как граф «ходы ↔ тексты, которые они читают». Все девять скилов под DeepSeek читали на 8–43% больше токенов и делали на 3–22% больше ходов. Среди 337 добавленных правил ни одно не просило читать меньше, половина просила проверять, 18 просили «по одному». На AutomationBench 56% записей у исходного скила шли группой, у выученных — не больше 0,3%: записи стали идти по одной. Удивило ещё одно: стоимость переезжает вместе со скилом на другую модель и другой бенчмарк, а польза — нет. Практический инсайт: правила дороги, польза от них сомнительна, и её надо мерить с учётом шума.


📄

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

Полного текста исходного скила (verification-before-completion, Vincent, 2025) в доступной части статьи нет. Описано лишь, что он просит свежую, полную проверку перед любым заявлением о завершении. Блок пропущен.


💡

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

💡 Адаптация для проверки любой правки инструкции: вместо «стало лучше на двух запусках» используйте протокол с учётом шума.

Я изменил инструкцию агента. Помоги спланировать проверку.
Задача агента: {задача}. Типовых задач для прогона: {число}.
1. Предложи, сколько раз прогнать СТАРУЮ версию, чтобы оценить её собственный разброс.
2. Предложи правило: новая версия считается лучше, только если разница 
   превышает этот разброс.
3. Предложи, что фиксировать кроме «решил / не решил»: число ходов, расход токенов.

🔧 Техника: добавить в промпт ревизии «цена ходов» → агент перестаёт плодить проверки. Фраза в инструкции: «Перед заявлением о готовности выполни одну свежую полную проверку. Не повторяй её после каждого шага». Заменяет россыпь правил «перепроверь» одним.

🔧 Техника: независимые вызовы → в один ход. Если нужно записать несколько файлов или сделать несколько независимых действий, просите: «Независимые вызовы инструментов делай в одном ходу». Статья показывает, что запись «по одной за ход» — одна из главных причин роста ходов.


🔗

Ресурсы

  • Работа: Does Your Generalist Skill Optimizer Really Incentivize Agentic Tasks? Rethinking Skill Optimization via Bipartite Attribution
  • Код: github.com/valleysprings/BiPA
  • Авторы: Jiawei Zhou, Bo Peng, Yuxuan Huang, Ming Zhang, Youbang Sun, Xiang Wang, Chaochao Lu
  • Организации: Shanghai AI Laboratory, Fudan University, Shanghai Jiao Tong University, USTC, Tsinghua University
  • Упомянутые оптимизаторы и бенчмарки: GEPA, SkillOpt, SkillAdam; Terminal-Bench 2.1, τ³-bench, AutomationBench; harness OpenCode

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

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

Правила, которые автоматика дописала в инструкцию агента, решают задачи не чаще одного хорошего ручного скила: разница в среднем 0,1 пункта. Зато агент читает примерно на 16% больше токенов. Вывод позволяет почистить разросшийся CLAUDE.md или AGENTS.md: убрать дубли и оставить одно правило проверки без потери качества. Фишка: агент превращает «перепроверь» и «делай по одному» в лишние ходы, а каждый ход заново отправляет модели всю переписку. Инструкция выглядит короткой, а счёт растёт.

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

Принцип простой: правило надо мерить не длиной строки, а числом ходов, которые оно рождает. Процесс ревизии: 1. Разложи правила по категориям: проверка, по одному, чтение, формат, границы. 2. Оцени каждое по цене в ходах: 0, 1-2 или много. 3. Удали правила без реального сбоя за спиной. Дубли слей в одно. Правило проверки должно быть одно: свежая полная проверка перед заявлением о готовности. Представь охранника, который требует паспорт на входе в каждый кабинет. Каждая проверка по отдельности разумна. Вместе они съедают весь день.

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

Агент исполняет инструкции буквально. «Проверь результат» он превращает в лишний вызов инструмента, а «читай по одному» растягивает в серию ходов. В длинной задаче лишний ход почти удваивает собственную стоимость, потому что история растёт. Почему автоматика этого не замечает? Правки оценивают пачкой на маленькой выборке, до 30 задач. Успех у агента случаен: один и тот же скил то решает задачу, то нет. Берёшь лучшего из 4-8 кандидатов, и прирост «находится» даже у копий исходного скила. Победитель выигрывает за счёт удачи, а не за счёт правил. На новых задачах прирост пропадает. Редактор дописывает правила пачками: в среднем 37 за запуск, до 105. Проверить каждое по отдельности никто не может. Жесть: из 337 добавленных правил ни одно не просило агента читать меньше, а половина требовала что-то проверять. Модель при этом хорошо классифицирует и сокращает текст. Поэтому ревизию ей можно поручить.

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

Агентная работа с кодом, поддержкой клиентов или бизнес-процессами → конкретно для файла инструкций, который разросся после каждого сбоя, особенно когда токены в тарифе кончаются раньше срока, а агент стал медленнее. Не подходит для коротких разовых запросов вида вопрос-ответ: там цена хода другая. Если ваш инструмент сжимает историю или кэширует её, экономия будет меньше. Авторы сам промпт-шаблон не тестировали. Они проверили диагностику, а ревизия через чат — наше применение.

Мини-рецепт

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

Примеры

[ПЛОХО]: `Агент опять не проверил результат. Допиши в CLAUDE.md: проверь ещё раз, после каждой правки запусти сборку, читай файлы по одному` [ХОРОШО]: `Ты — редактор инструкций для ИИ-агента. Ниже мой CLAUDE.md на 90 строк. Агент правит сайты на 1С-Битрикс. Каждый ход заново отправляет всю переписку, поэтому лишний ход дороже строки в инструкции. Для каждого правила укажи категорию (проверка / по одному / чтение / формат / границы) и сколько дополнительных ходов оно порождает: 0, 1-2 или много. Удали правила без привязки к реальному сбою из моего списка, дубли объедини. Правил проверки оставь не больше одного. Верни таблицу и новую короткую версию. Сбои: {список_сбоев}. Файл: {текст_файла}` [ПЛОХО]: `Новая версия правил даёт +2 задачи на пяти тестах, внедряем` [ХОРОШО]: `Прогнал старую версию 5 раз: результат скачет от 3 до 5 решённых задач. Новая версия дала 4 из 5, это внутри разброса, значит прироста нет. Оставляю ту, что тратит меньше токенов`
Источник: Does Your Generalist Skill Optimizer Really Incentivize Agentic Tasks? Rethinking Skill Optimization via Bipartite Attribution
ArXiv ID: 2610.37201 | Сгенерировано: 2026-10-29 06:10

Проблемы LLM

ПроблемаСутьКак обойти
Правила «проверь ещё раз» и «делай по одному» раздувают число ходов агентаАгент выполняет инструкции буквально. «Проверь результат» становится лишним вызовом инструмента. «Читай по одному» превращает один шаг в серию. Каждый ход заново отправляет модели всю переписку. Поэтому лишний ход дороже, чем строка в инструкции. Если дописывать такие правила после каждого сбоя, файл растёт, а агент работает медленнее и тратит больше токенов. Решает задачи он при этом не чащеСчитай цену правила в добавленных ходах, а не в длине текста. Правил «проверь» оставь одно: «перед заявлением о завершении выполни свежую полную проверку». Остальные правила оставляй только если они закрывают реальный сбой из твоих заметок
Прирост от новой версии запроса на малой выборке часто иллюзияРезультат агента случаен: один и тот же запрос то решает задачу, то нет. Ты пробуешь несколько вариантов на 10–30 задачах и берёшь лучший. Лучший почти всегда выигрывает за счёт удачи, даже если от исходного он ничем не отличается. На новых задачах «прирост» пропадает. Это касается любой подгонки запросов и инструкцийСначала прогони исходную версию несколько раз на тех же задачах. Так ты узнаешь её собственный разброс. Новую версию прогони столько же раз. Принимай правку, только если разница заметно больше разброса. Чем шумнее задача, тем больше нужно повторов

Методы

МетодСуть
Ревизия разросшейся инструкции — короче и дешевле при том же качествеДай модели свой файл инструкций (CLAUDE.md, AGENTS.md) и список реальных сбоев. Пусть она сделает четыре шага. 1) Разложит каждое правило по категориям: проверка / по одному / чтение / формат / границы / прочее. 2) Оценит, сколько доп. ходов порождает правило: 0 / 1–2 / много. 3) Найдёт дубли и противоречия, предложит УДАЛИТЬ или ОБЪЕДИНИТЬ с причиной в одну строку. 4) Выдаст новую версию, которая короче исходной. Почему работает: модель хорошо классифицирует и сжимает текст. Правки, которые только дописывают, копят правила без проверки. Здесь разрешено удалять и объединять. Привязка к списку сбоев отсекает «мёртвые» правила. Когда применять: файл вырос до десятков строк, правила дописывались по одному, расход токенов вырос. Когда не работает: файл короткий и свежий. Ещё модель не знает реальной цены в рублях, если у инструмента есть сжатие истории или кэш. После ревизии прогони агента на 5–10 типовых задачах несколько раз. Сравни расход токенов со старой версией. Добавь свои категории (например, «безопасность»), чтобы не потерять нужное
📖 Простыми словами

Does Your Generalist Skill Optimizer Really IncentivizeAgenticTasks? Rethinking Skill Optimization via Bipartite Attribution

arXiv: 2610.37201

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

Это как нанять толкового джуна и приставить к нему душного тимлида, который требует «дышать по регламенту» и слать отчёт после каждой строчки кода. Работа встаёт колом не из-за глупости исполнителя, а потому что агент тратит ресурсы на бюрократию. Ты думал, что добавил «контроль качества», а на деле просто парализовал систему тупым микроменеджментом.

Исследователи прогнали три популярных оптимизатора через длинные агентные задачи, и цифры отрезвляют. Разница в успешности между авто-скилом и обычным базовым промптом составила жалкие 0.1 пункта — эффекта ноль. Зато агент начинает жрать на 16% больше токенов, потому что невинные подсказки в духе «делай по одному действию за раз» превращаются в лавину дополнительных ходов.

Эксперимент ставили на софте для оптимизации, но грабли абсолютно универсальны. Если ты вручную месяцами раздуваешь свой CLAUDE.md или системный промпт после каждого сбоя, ты творишь ровно ту же фигню. Разрабы часто удивляются, почему агент внезапно отупел, а лимит токенов сгорел за неделю — да потому что модель завалили десятками параноидальных инструкций.

Мораль простая: хватит заниматься промпт-накопительством. Длинный список предосторожностей не делает агента гением, он только взвинчивает стоимость каждого чиха из-за пересылки контекста туда-обратно. Безжалостно вычищай правила-паразиты, следи за числом ходов и держи один внятный базовый скил, иначе продолжишь оплачивать бесполезные «самопроверки» из своего кармана.

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

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

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