TL;DR
Skill∞ — способ автоматически дорабатывать скилы агента (папки с файлом SKILL.md, которые Claude Code, Codex и OpenCode подгружают сами). Работает он так. Отдельный «мета-агент» следует мета-скилу: это тоже SKILL.md, в нём описан порядок доработки чужих скилов. В каждом круге мета-агент смотрит журнал запусков (как агент вёл себя при выполнении задачи), находит причину провала, предлагает 1–2 правки и отдаёт каждую на независимую проверку. Потом решает, продолжать или остановиться. Главный трюк: тем же способом дорабатывается сам мета-скил.
Главная находка: скил, который агент написал сам себе без обратной связи, не помогает. Он даёт 42,9% успеха против 45,5% вообще без скила. Агент уверенно пишет «полезные» инструкции, но не проверяет, меняют ли они поведение. Метод Skill∞ закрывает это дыру. Правка принимается, только если в реальном прогоне видно улучшение именно на той ошибке, которую чинили. Недостаточно, что правка просто упоминает проблему в тексте. Итог: 60,7% успеха против 56,4% у скилов, написанных людьми.
Суть метода: цикл из шести шагов, зашитый в мета-скил. Журнал истории → разбор провалов → 1–2 кандидата → прогон → независимый ревьюер в чистом контексте → решение «дальше / стоп». Оценка (проверка успеха) лежит вне досягаемости самоулучшения. Поэтому агент не может «улучшить» результат, подкрутив критерий.
Схема метода
ЦИКЛ (до исчерпания бюджета или решения агента остановиться):
ШАГ 1: Смотрит архив — что уже пробовали, что сработало → заметки
ШАГ 2: Запускает текущий скил на задачах, разбирает журналы провалов → диагноз: какое действие агента привело к ошибке
ШАГ 3: Создаёт 1–2 кандидата из текущего скила → каждый с обоснованием (proposal)
ШАГ 4: Прогоняет кандидатов на задачах → оценки, запись в архив
ШАГ 5: Отдаёт каждого кандидата независимому ревьюеру (изолированный контекст) → принять / отклонить
ШАГ 6: Решает: продолжать или стоп; выбирает следующего «родителя» (возможно, откат назад) → оптимизированный скил
ВНЕШНИЙ КОНТУР: тот же цикл применяется к самому мета-скилу на нескольких задачах оптимизации из разных областей → «отшлифованный» мета-скил → используется для любых новых скилов.
Шаги 1–6 выполняются в одной сессии мета-агента. Прогоны задач и ревьюер идут в отдельных запусках.
Пример применения
Метод хорошо работает там, где есть проверяемый результат (тест, сверка, чек-лист, который можно прогнать). Субъективные задачи вроде «напиши красивый текст» ему не подходят.
Задача: Вы руководите отделом аналитики селлера на Ozon. Агент (Claude Code) каждую неделю собирает выгрузки заказов и возвратов, сверяет их с отчётом о реализации и ловит расхождения. Скил «сверка-ozon» написан на коленке, и агент то путает комиссии с логистикой, то пропускает возвраты за прошлый месяц. Есть 6 прошлых недель с известными правильными итогами, это ваш «проверяющий».
Промпт:
Используй скил "skill-optimizer" (в .claude/skills/skill-optimizer/SKILL.md).
Цель оптимизации: скил .claude/skills/sverka-ozon/SKILL.md
Задачи: 6 папок /tests/week_01 … /tests/week_06
(в каждой — выгрузки и файл expected.json с верными итогами)
Проверка успеха: python /tests/check.py <папка_результата> — возвращает 0 или 1.
Её не редактируй и не обходи.
Бюджет: максимум 4 кандидата за всё время.
Веди архив в /tmp/optimizer/archive.md.
Результат: Агент прогонит текущий скил на 6 неделях и покажет таблицу провалов. Для каждого провала назовёт конкретное действие, которое привело к ошибке (например, «взял колонку «Начислено» вместо «К перечислению»»). Предложит 1–2 правки скила, запустит независимого проверяющего, который откажет там, где правка просто переписывает текст, не меняя поведение. В архиве будет история попыток. В конце вы получите улучшенный SKILL.md и краткий отчёт: что чинили, что подтвердилось прогоном, а что отклонено.
Почему это работает
Слабость. Если просто попросить агента «улучши инструкцию», он перепишет её красивее, но не факт, что лучше. Оценка показывает стало ли лучше, но не почему. Сам автор правок склонен хвалить свои изменения. Поэтому самосозданные скилы не лучше, чем их отсутствие.
Сильная сторона LLM. Модель хорошо читает журналы запусков и находит причину ошибки: «на шаге 3 агент пропустил проверку». Она хорошо рассуждает о причинах, а не только о цифрах. Свежий экземпляр модели без контекста чужих рассуждений критикует честнее.
Как метод это использует. Поиск превращается в рассуждение об ошибках, а не в слепой перебор по баллам. Ничья не выбрасывается, если кандидат продвинулся по целевой ошибке. Ревьюер в изолированном контексте отсеивает правки-пустышки, и шум не принимается за прогресс. Рекурсия добавляет улучшение самого процесса. В статье самоулучшение мета-скила записало в него более строгий стандарт доказательств (подтверждать правку только прогоном).
Рычаги управления промптом:
- Бюджет кандидатов (в статье максимум 4 на скил) → меньше для простых скилов, больше для стабильных провалов.
- Число кандидатов за круг (1 или 2) → 2 для разведки разных идей, 1 для углубления в одну линию.
- Условие остановки → пусть агент сам останавливается, когда в диагнозе не осталось провалов.
- Строгость ревью → требуйте отклонять правки, не меняющие поведение, и правки, которые агент никогда не вызовет.
- Что оптимизируется → описание (description) скила тоже: агент видит только имя и описание и сам решает, подгружать ли скил.
Шаблон промпта
Оригинальный мета-скил лежит в Приложении G статьи, в разобранном фрагменте его текста нет. Ниже реконструкция по описанному алгоритму (шесть шагов, архив, независимый ревьюер, адаптивный бюджет), оформленная как SKILL.md.
---
name: skill-optimizer
description: Используй, когда нужно улучшить существующий скил на основе
прогонов задач: диагностика провалов по журналам, правки, независимое ревью.
---
Ты мета-агент. Твоя работа — оптимизировать скил {целевой_скил}.
Ты не решаешь задачи сам: ты улучшаешь инструкции, по которым их решает другой агент.
Целевой скил: {путь_к_скилу}
Задачи: {папка_или_список_задач}
Проверка успеха: {команда_проверки} (только запускать, НЕ менять и не обходить)
Бюджет: {макс_кандидатов} кандидатов всего
Архив: {путь_к_архиву}
Повторяй, пока не решишь остановиться или не кончится бюджет:
1. INSPECT: прочитай архив: какие версии были, что изменили, как оценили, что отклонил ревьюер.
2. DIAGNOSE: запусти текущую версию («родителя») на задачах. Разбери журналы провалов. Для каждого провала назови конкретное действие агента, которое привело к ошибке.
3. CREATE: создай k кандидатов (1 ≤ k ≤ 2, не больше остатка бюджета). Для каждого напиши proposal: какую ошибку чиним, какое поведение должно измениться, почему.
Уменьши остаток бюджета на k.
4. EVALUATE: прогони кандидатов на тех же задачах. Запиши оценки в архив.
5. REVIEW: передай каждого кандидата независимому ревьюеру (отдельный субагент без твоих рассуждений). Ему дай только: родителя, кандидата, proposal и данные прогонов.
Ревьюер отклоняет кандидата, если:
— нет содержательных изменений;
— скил ни разу не был подгружен агентом;
— скил непригоден в написанном виде.
6. DECIDE: реши, продолжать ли. Выбери нового родителя из архива.
— Кандидата с тем же баллом, но с реальным прогрессом по целевой ошибке, не выбрасывай.
— Если прирост нельзя связать с правкой, оставь родителя.
— Если линия правок застопорилась, откатись к более ранней версии.
— Если по диагнозу улучшать почти нечего, остановись.
- Принимай правку только если в прогоне видно улучшение по целевой ошибке,
а не если текст скила просто упоминает проблему.
- Улучшай и description скила: агент видит только имя и описание.
- Не меняй проверку успеха и не подгоняй скил под конкретные тесты.
- Не пропускай шаг REVIEW.
Что подставлять: {путь_к_скилу} — ваш SKILL.md. {папка_или_список_задач} — реальные примеры задач с известными правильными ответами. {команда_проверки} — скрипт, тест или чек-лист, который возвращает «прошло / не прошло». {макс_кандидатов} — например, 4.
🚀 Быстрый старт — вставь в чат или в агента:
Вот шаблон мета-скила для оптимизации скилов. Адаптируй под мою задачу: [опиши, какой скил или инструкцию агента хочешь улучшить].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
Модель спросит, как проверить успех (команда, тест, чек-лист), на каких примерах прогонять и какой бюджет попыток. Без проверяемого критерия цикл не имеет смысла: ревьюеру и диагнозу нужны факты, а не ощущения. Затем она соберёт готовый SKILL.md под ваш инструмент (Claude Code, Codex, OpenCode).
Ограничения
⚠️ Нужен проверяемый результат: метод строится на прогонах с автоматической проверкой (тесты, сверка, скрипт). Для субъективных задач (стиль, креатив, «убедительность») он не даст надёжного сигнала.
⚠️ Нужны прогоны: каждый кандидат оценивается запуском агента на нескольких задачах, а то и по пять раз. Это токены, время и ручная подготовка набора задач с эталонами. В обычном чате метод не воспроизвести.
⚠️ Не везде лучше людей: по доменам результат неровный. В кибербезопасности, естественных науках и финансах скилы, написанные людьми, оказались сильнее (в финансах Skill∞ набрал 26,7% против 37,8%). Лидерство метода держится на программной инженерии, медиа и математике.
⚠️ Рекурсивная часть дорогая: шлифовка самого мета-скила требует нескольких задач оптимизации из разных областей. Для одной своей задачи хватит и готового мета-скила без самоулучшения, он уже даёт 55,9%, это выше большинства автоматических методов.
⚠️ Оригинального промпта в разобранном тексте нет: мета-скил лежит в приложении, код обещан на GitHub. Шаблон выше реконструирован по описанию алгоритма, а не взят дословно.
⚠️ Результат привязан к модели и среде: основные цифры получены на одной связке модели и инструмента. На другой модели и другом инструменте метод тоже обошёл человеческие скилы, но с другим отрывом.
Как исследовали
Исследователи взяли 83 агентные задачи из SkillsBench (восемь областей: разработка, кибербезопасность, наука, финансы, офисная работа, медиа, промышленность, математика). Каждую задачу гоняли по пять раз и считали долю успешных прогонов. Основная связка: Codex CLI с моделью GPT-6 Luna. Сравнивали с пятью вариантами: вообще без скила, скилы, написанные людьми, скилы, написанные самим агентом, скилы от skill-creator и предыдущий метод SkillEvolver. Бюджет оптимизации ограничили четырьмя кандидатами на скил. Для проверки на «непрерывной» метрике взяли ещё KernelBench: ускорение GPU-кода относительно эталона.
Результаты: Skill∞ набрал 60,7%, люди — 56,4%, SkillEvolver — 54,5%, без скила — 45,5%. На KernelBench среднее ускорение 1,62 против 1,18 у SkillEvolver. Самое показательное: скилы, которые агент написал сам, дали 42,9%, то есть хуже, чем вообще без скила.
Дизайн абляции прост: взяли тот же метод, но с исходным мета-скилом без самоулучшения. Получилось 55,9%, то есть сам цикл с ревью уже обгоняет предыдущие методы, а рекурсия добавляет ещё около пяти пунктов. Больше всего самоулучшение помогло в математике (+24 п.), медиа (+22) и разработке (+11). Авторы объясняют прирост тем, что отполированный мета-скил научился подтверждать правку только прогоном. Проверили и смену модели (66,5% против 61,2% у людей) и смену инструмента на OpenCode (56,9% против 53,3%).
Ещё одна деталь дизайна: скилы подгружаются штатным способом, как в реальной работе. Агенту не говорят «используй этот скил», он видит только имя и описание и решает сам. Поэтому описание тоже входит в оптимизацию, и измеренный прирост не зависит от подсказки при запуске. Таблицы по более детальным срезам в разобранном тексте обрезаны.
Адаптации и экстраполяции
🔧 Техника: Оптимизировать description → агент чаще подгружает нужный скил
В статье скил срабатывает, только если агент по имени и описанию решил его открыть. Добавьте в цикл явный шаг:
7. TRIGGER-CHECK: для 5 типовых запросов пользователя проверь, подгрузит ли агент скил по одному description. Если не подгружает — перепиши description и повтори проверку.
Экстраполяция: перенос на CLAUDE.md / AGENTS.md. Те же принципы работают для файла инструкций проекта. Правило «правка принимается только при подтверждении прогоном целевой ошибки» и «ревьюер в чистом контексте» применимы к любым инструкциям агента:
Ты улучшаешь файл CLAUDE.md. Возьми 5 последних сессий, где агент ошибся (логи в /logs). Для каждой назови действие агента, которое привело к ошибке, и предложи одну правку CLAUDE.md. Затем запусти субагента-ревьюера без этого контекста: пусть он отклонит правки, которые просто повторяют уже написанное или не изменят поведение. Принятые правки перепроверь повторным прогоном тех же задач.
Эта экстраполяция моя, в статье оптимизируются скилы, а не CLAUDE.md.
Ресурсы
- Skill∞: Recursive Self-Improvement for Agent Skill Optimization
- Авторы: Wangcheng Tao, Zhanglu Yan, Weng-Fai Wong (National University of Singapore), Han Wu (City University of Hong Kong)
- Код (обещан авторами): https://github.com/taowangcheng/Skill-Infinity
- Связанные работы из статьи: SkillsBench (Li et al., 2026), SkillEvolver (Zhang et al., 2026), MetaSkill-Evolve (Wang et al., 2026), KernelBench (Ouyang et al., 2025), спецификация Agent Skills (Anthropic, 2025)
