Представьте, что ваш ИИ-агент — это не просто болванка, а настоящий ученик, который может улучшать свои навыки без перепрошивки мозга. Звучит как научная фантастика? А вот и нет. Microsoft выкатила новый open-source фреймворк — skillopt (да-да, именно так, с маленькой буквы в коде), который превращает текстовые инструкции для агентов в тренируемые объекты. Забудьте про бесконечные правки .md-файлов наугад — теперь оптимизация происходит как в глубоком обучении: с контролем шага, валидацией и моментам. Поехали разбираться, как это работает и почему это меняет правила игры.
Навыки агентов стали важной частью реальных AI-приложений. По сути, это набор инструкций, сохранённых в текстовых markdown-файлах (.md), которые помогают модели адаптироваться к конкретным корпоративным задачам и сложным рабочим процессам. Но вот беда: оптимизировать эти навыки — процесс медленный и багоопасный. Их нельзя обучать как параметры самой модели — вместо этого пользователи вынуждены вручную править инструкции в каждом файле, играя в «угадайку»: что изменить, чтобы агент работал лучше и меньше ошибался?
SkillOpt — новый open-source фреймворк (лицензия MIT) от Microsoft — делает шаг вперёд. Он представляет оптимизатор для навыков агентов, превращая .md-документ навыка в обучаемый объект, который эволюционирует на основе обратной связи от производительности. Используя оптимизацию в стиле глубокого обучения, AI может систематически исследовать модификации документа и находить лучшее сочетание инструкций. И самое важное — всё это происходит без изменения весов базовой модели.
На различных индустриальных бенчмарках SkillOpt обходит существующие базовые решения, значительно повышая точность для таких моделей, как GPT-5.5 и Qwen. Результат — компактные и переносимые артефакты навыков, позволяющие AI-агентам легко адаптироваться к новым доменам.
Проблема оптимизации навыков агентов
Навыки агентов упаковывают процедурные знания в спецификации на естественном языке: эвристики предметной области, политики использования инструментов, ограничения вывода и известные сценарии отказов. Эти навыки служат внешним интерфейсом для адаптации агентов к сложным корпоративным рабочим процессам. На практике навыки хранятся как текстовые документы и вставляются в контекст агента перед выполнением.
Одно из ключевых преимуществ навыков — они настраивают поведение модели без изменения её весов. Однако сам документ навыка нужно подкручивать и оптимизировать, чтобы выжать максимум из агента.
Глубокое обучение опирается на строгий математический контроль для стабильности, а человеческий промпт-инжиниринг часто действует методом тыка. Когда пытаешься автоматически обновлять документ навыка на основе обратной связи, отсутствие математической дисциплины делает текст крайне нестабильным.
Ифань Ян, старший научный сотрудник Microsoft Research Asia, объяснил VentureBeat, что проблема не в том, чтобы внести изменения, а в том, чтобы гарантировать, что эти изменения математически обоснованы. «Критический момент не в том, может ли команда изменить навык, а в том, что они не могут гарантировать, что изменение — это улучшение, — сказал Ян. — Три типа сбоев повторяются: нет контроля шага — навыки дрейфуют; нет валидации — исправление, которое выглядит разумным, записывается и может незаметно ухудшить производительность; нет негативной памяти — одна и та же неудачная правка возвращается снова».
Чтобы проиллюстрировать, как легко падает производительность, когда правки не проверены математически, Ян отметил, что «неограниченное переписывание сбросило GPT-5.5 на SpreadsheetBench с 41.8 до 41.1».
По словам Яна, эти сбои усиливаются в многошаговых рабочих процессах, «потому что именно там frontier-модели наиболее слабы в zero-shot режиме. Не в рассуждениях, а в процедурной дисциплине: формат, самопроверка, политика инструментов».
До SkillOpt навыки агентов в основном создавались вручную, генерировались за один проход или развивались через слабо контролируемые конвейеры саморедактирования, которые не могли надёжно улучшаться на основе обратной связи.
Методы оптимизации промптов вроде TextGrad и GEPA рассматривают текстовые артефакты как оптимизируемые объекты и используют обратную связь по траекториям для эволюции промптов, но они фокусируются на одиночных конфигурациях промптов, а не на создании постоянных, многократно используемых артефактов навыков.
В то же время методы эволюции и обнаружения навыков, такие как EvoSkill и Trace2Skill, конвертируют опыт выполнения агента в уроки траекторий для уточнения папок навыков, построения библиотек под конкретный домен или проведения эволюционного поиска.
Ни один из них не применяет контроль в стиле глубокого обучения — скорость обучения, шлюзы валидации и момент — которые необходимы для непрерывного обучения одного компактного документа навыка.
Импорт математической дисциплины в текст
SkillOpt оптимизирует текстовый документ через итеративный цикл «предложение-проверка», который разделяет модель, выполняющую задачи, и модель, оптимизирующую навык. Процесс разворачивается за несколько шагов:
SkillOpt начинает с исходного документа навыка и замороженной целевой модели (или harness). Целевая модель запускает пакет задач, генерируя траектории выполнения, которые служат доказательством для текущего шага.
Автономная модель-оптимизатор анализирует эти траектории, разделяя успехи и неудачи на мини-батчи. Анализ мини-батча помогает модели выявить систематические процедурные ошибки, а не единичные аномалии. На основе этих паттернов оптимизатор предлагает структурные правки: добавление, удаление или замену в документе навыка.
Предложенные правки проверяются на дубликаты и противоречия, затем оптимизатор ранжирует эти кандидаты по ожидаемой полезности.
Вместо того чтобы применять все предложенные изменения, SkillOpt обрезает список до максимального бюджета правок для этого шага, генерируя кандидатный навык.
Кандидатный навык оценивается на отложенном валидационном наборе с использованием целевой модели. Если кандидат улучшает показатели валидации — он принимается и становится новым текущим навыком. Если нет — правки отклоняются и отправляются в буфер отклонённых, давая оптимизатору негативную обратную связь, чтобы он не повторял ту же ошибку.
SkillOpt напрямую решает проблему работы с текстом как с обучаемым объектом, импортируя математические концепции из глубокого обучения. Создатели отмечают: «аналогия с глубоким обучением — операционная, а не декоративная», что помогает фреймворку избежать проблем нестабильности, свойственных другим техникам оптимизации.
Бюджет правок выступает как скорость обучения. Ограничивая количество правок, которые можно применить за раз, версия навыка не уходит слишком далеко от предыдущего состояния, сохраняя непрерывность и позволяя приобретать новые процедуры.
Точно так же, как проверка потерь на валидации в глубоком обучении, строгие отложенные примеры гарантируют, что правдоподобные текстовые правки сохраняются только в том случае, если они математически улучшают реальную производительность агента на валидационном разбиении.
В конце эпохи SkillOpt выполняет медленное обновление, сравнивая задачи под навыками предыдущей и текущей эпох. Это действует как термин момента, перенося долгосрочные процедурные уроки вперёд и изолируя их от быстрых пошаговых правок.
[[MEDIA_BLOCK_0]]SkillOpt в действии
Чтобы оценить технику на практике, исследователи протестировали SkillOpt на разных моделях — от крупномасштабных frontier-моделей вроде GPT-5.5 до более маленьких закрытых и открытых моделей, включая GPT-5.4-mini и Qwen3.5-4B. Они также развернули навыки в разных средах выполнения (harnesses), используя обычный чат, а также сложные кодинговые среды вроде Codex CLI и Claude Code.
Оценка охватила разнообразные индустриальные бенчмарки: ответы на вопросы в один раунд, многораундовую генерацию кода с использованием инструментов, многомодальное документообоснование. SkillOpt сравнивали с несколькими базовыми подходами — от стандартного режима без навыков до написанных человеком навыков и навыков, сгенерированных LLM за один проход. Также сравнили с продвинутыми методами оптимизации промптов и эволюции навыков — Trace2Skill, TextGrad, GEPA и EvoSkill.
SkillOpt доминировал по всем направлениям, показав высокую эффективность на всех 52 оценённых комбинациях модели, бенчмарка и harness. Особенно хорошо он проявил себя с frontier-моделями, обеспечив среднее абсолютное улучшение +23.5 пункта по сравнению с базовым уровнем без навыков на GPT-5.5. Более того, SkillOpt превзошёл гипотетический oracle-базлайн, который для каждой задачи выбирает лучший из конкурирующих методов.
Маленькие целевые модели получили огромный относительный прирост, доказывая, что компактный текстовый файл может предоставить процедурные знания, которых не хватает маленьким моделям в их весах. Например, GPT-5.4-nano почти удвоил свой результат на многомодальном документообосновании и утроил результат на воплощённом взаимодействии и последовательном принятии решений.
Эти академические бенчмарки отражают критические болевые точки предприятий. Zero-shot модели часто галлюцинируют форматирование или не могут правильно использовать инструменты в многошаговых сценариях. Ян объяснил, что самые большие скачки производительности произошли в операциях, которые предприятия исторически с трудом автоматизировали надёжно.
«Извлечение данных из документов… точных цифр из контрактов, счетов и форм — автоматизация AP, претензии, комплаенс, — сказал Ян. — Что улучшается — это надёжность: точное форматирование, самопроверка, аудируемые результаты. И выигрыш приходит от изучения процедур, а не запоминания ответов».
Для корпоративных разработчиков истинная ценность SkillOpt заключается в его переносимости, эффективности и совместимости с существующей инфраструктурой. Эксперименты подтверждают, что фреймворк не зависит от harness. Помимо базового чата, тот же цикл оптимизации был успешно интегрирован в среды выполнения с поддержкой инструментов, такие как Codex CLI и Claude Code, с значительным приростом на индустриальных бенчмарках.
Разработчики могут обучить навык в одном цикле выполнения и развернуть в другом. Например, навык для электронных таблиц, полностью обученный внутри цикла Codex, был перенесён напрямую в Claude Code и дал прирост +59.7 пункта по сравнению с родным базовым уровнем Claude Code без каких-либо дополнительных изменений.
Артефакты SkillOpt также чисто переносятся между масштабами моделей. Навык, оптимизированный для GPT-5.4, был развёрнут на меньших моделях GPT-5.4-mini и GPT-5.4-nano с положительным эффектом, доказывая, что изученные процедуры кодируют многократно используемые рабочие процессы, а не просто эксплуатируют особенности архитектуры конкретной модели.
Наконец, фреймворк очень эффективен с точки зрения использования токенов и места в контекстном окне. На всех бенчмарках финальные развёрнутые навыки никогда не превышали 2000 токенов, при медианной длине около 920 токенов. В результате получаются хорошо читаемые, аудируемые артефакты, которые человек-практик может просмотреть и проанализировать за считанные минуты.
Стратегии внедрения и «подвох» для предприятий
Для технических руководителей предприятий внедрение нового фреймворка требует понимания накладных расходов и ограничений. Хотя в исследовательской статье говорится, что количество тренировочных токенов может достигать 210 миллионов для академических бенчмарков, реальность для повседневных корпоративных сценариев значительно проще. Высокое количество токенов в тестах было в основном связано с повторной оценкой массивных отложенных тестовых наборов.
«Реальная предварительная работа — это верификатор и репрезентативное отложенное разбиение. Оптимизатор лёгкий; инженерные усилия уходят на оценочный harness», — сказал Ян. Он добавил, что в повседневном использовании «в сообществе фреймворков вроде GBrain, где обновления SkillOpt работают на Claude Sonnet, обучение навыка для одной задачи стоит в среднем всего $1–5». Эта стоимость оптимизации — разовая плата, которая полностью амортизируется при развёртывании.
Однако фреймворк требует определённых условий для эффективной работы, а именно нескольких десятков репрезентативных примеров и измеримого сигнала обратной связи. Командам следует избегать применения SkillOpt к открытым или субъективным задачам. «Без чистого автоматического скора вам придётся создавать оценщика на основе человека или модели и следить за его стабильностью», — предупредил Ян.
SkillOpt также плавно интегрируется с существующими оркестрационными стеками, что устраняет серьёзное препятствие для внедрения. Например, разработчики, уже использующие компиляторы пайплайнов, могут запускать обе системы гармонично. «DSPy — это другой, дополняющий слой, — сказал Ян. — Он компилирует декларативные LM-пайплайны и оптимизирует структуру программы; SkillOpt оптимизирует внешнее состояние навыка, которое загружает замороженный агент. Вы можете запускать их вместе».
Заглядывая вперёд, разработчики open-source уже планируют запускать SkillOpt периодически на прошлых траекториях своих агентов, создавая небольшую экосистему самооптимизирующихся плагинов для кодовых агентов. Этот цикл непрерывной обратной связи представляет собой значительный сдвиг в том, как AI-системы адаптируются.
«Ценная версия самоулучшения — это агент, автоматически открывающий знания для улучшения своего собственного поведения и пользовательского опыта, под контролем верификации и аудита, — сказал Ян. — Навыки — это самый быстрый, дешёвый и обратимый первый шаг, и тот же образ мышления ведёт к тому, что агенты в конечном итоге будут оптимизировать сами себя, вплоть до собственных весов».