SkillOpt решает задачу, которая раньше казалась неудобной: как улучшить поведение языкового агента, не трогая его веса. Ответ — обучать не модель, а инструкцию, которую она читает.
Идея простая, но нетривиальная. Есть замороженный агент — он не меняется. Есть компактный текстовый документ с навыком — он и становится объектом оптимизации. SkillOpt запускает агента на задачах, собирает результаты, привлекает отдельную модель-оптимизатор, которая анализирует провалы и успехи, предлагает точечные правки — добавить, удалить, заменить. И принимает изменение только тогда, когда оно реально улучшает результат на отложенной выборке.
Это не просто самоправка промпта. Цикл намеренно устроен как алгоритм обучения: прогон — это прямой проход, рефлексия — обратный, а бюджет правок работает как текстовый learning rate, не давая одному удачному паттерну перезаписать всё остальное. Отклонённые правки не выбрасываются — они становятся отрицательной обратной связью, чтобы оптимизатор не наступал на одни и те же грабли.
Результаты говорят сами за себя: 52 из 52 — лучший или совместно лучший результат в каждой комбинации модели, бенчмарка и среды выполнения. Протестировано на 7 моделях, 6 бенчмарках, в двух харнесах. Средний прирост у GPT-5.5 — плюс 23.5 процентного пункта относительно запуска без навыка.
Отдельно интересна тема переноса. Итоговый навык экспортируется в один файл best_skill.md. Навык, натренированный для одной модели, переносится на другую — плюс 15.2 пункта при переносе с GPT-5.4 на GPT-5.4-nano на LiveMathBench. Навык из Codex-среды переносится в Claude Code — плюс 31.8 на SpreadsheetBench. Агент деплоится с одним файлом, без оптимизаторской памяти, без дополнительного веса.
SkillOpt — это исследовательский проект Microsoft Research с открытым кодом, сопроводительной статьёй и видеообзором. Если нужно понять, как устроены навыки агентов на уровне модели, рядом есть компаньон-проект SkillLens.