Как улучшить ИИ-агента без новых данных
В ИИ-индустрии долгое время господствовала идея: если агент ошибается, значит, надо либо переписать промт, либо дообучить модель, либо надеяться на более мощную модель. Авторы работы SkillOpt предлагают другой взгляд — не трогать веса модели вообще, а обучать то, как именно агент работает, в виде компактного текстового «навыка».
Когда агенту мало просто «уметь»: как научить его рабочим привычкам
Звучит почти слишком просто: есть замороженная LLM, есть документ с инструкциями для конкретного домена, и есть отдельная модель-оптимизатор, которая смотрит на успешные и провальные траектории, а затем аккуратно редактирует этот документ. Но за этой простотой скрывается важная мысль: если навык — это внешний слой адаптации, то его можно оптимизировать почти как параметры нейросети. С шагом обучения, валидацией, буфером неудачных обновлений и защитой от деградации.
И, судя по результатам, это не просто красивая метафора. В 52 из 52 сравнений метод либо лучший, либо делит первое место. Для области, где многие подходы живут на уровне «попробовали переписать подсказку — вроде стало лучше», это довольно громкое заявление.
Что вообще оптимизирует SkillOpt
Авторы исходят из практической проблемы: в реальных агентных системах адаптация — это не только знания модели, но и процедуры. Как искать информацию, когда вызывать инструменты, как проверять результат, в каком формате отвечать, как не зациклиться в многошаговой задаче. Всё это удобно хранить не в весах, а в переносимом текстовом артефакте — навыке.
В SkillOpt этот навык становится объектом обучения. Целевая модель остается замороженной. Она просто решает задачи, пользуясь текущей версией навыка. Дальше в игру вступает отдельная более сильная модель: она анализирует траектории, выявляет повторяющиеся ошибки и предлагает ограниченные правки трех типов — добавить, удалить или заменить фрагменты текста.
Ключевой момент: правка принимается не потому, что она «звучит умно», а только если она улучшает качество на отложенной валидации. Если нет — правка отвергается и сохраняется как негативный пример для будущих итераций.
Это важно, потому что большинство систем саморедактирования агентов страдают одной и той же болезнью: они охотно генерируют правдоподобные объяснения собственных ошибок, но эти объяснения далеко не всегда улучшают поведение. SkillOpt превращает саморефлексию в более жесткий цикл «предложил — проверил — принял или выбросил».
Почему это вообще существенно
У метода есть сразу несколько сильных практических следствий.
Во-первых, не нужен файн-тюнинг. Для закрытых моделей это часто единственный реалистичный путь адаптации. Для открытых — более дешевый и быстрый.
Во-вторых, итог — это маленький текстовый файл, который можно читать, проверять, переносить между средами и даже редактировать вручную. В эпоху, когда поведение моделей всё труднее инспектировать, это редкое достоинство.
В-третьих, SkillOpt работает не только в «чистом чате», но и в агентных контурах с инструментами — в том числе в средах наподобие Codex и Claude Code. То есть речь не о красивом улучшении подсказки для игрушечных задач, а о процедуре, которая помогает агенту лучше действовать в рабочих сценариях.
Наконец, работа затрагивает более широкий вопрос: можно ли обучать не только параметры модели, но и внешнее процедурное состояние. Если да, то это открывает любопытную альтернативу гонке за всё более дорогими моделями.
Как устроен цикл оптимизации
Методология здесь, пожалуй, интереснее самих цифр. Авторы явно вдохновляются логикой глубокого обучения, но переносят её в текстовое пространство.
На каждом шаге целевая модель проходит пакет задач с текущим навыком. Собираются траектории: сообщения, вызовы инструментов, промежуточные наблюдения, финальные ответы, сигналы проверяющей системы. Затем оптимизатор разбивает примеры на успешные и неуспешные, анализирует их мини-пакетами и предлагает локальные правки.
Эти правки затем объединяются и ранжируются. Но применяются не все: действует текстовый аналог шага обучения — бюджет правок. Идея простая: если позволить модели каждый раз полностью переписывать навык, она будет легко затирать удачные правила, переобучаться на свежие неудачи и метаться из стороны в сторону. Ограниченные правки сохраняют преемственность.
Есть и ещё два механизма устойчивости.
Первый — буфер отвергнутых правок. Если какое-то изменение ухудшило результат, система не просто забывает о нем, а использует как отрицательную обратную связь. Это снижает вероятность ходить по кругу.
Второй — медленное межэпохальное обновление. В конце эпохи метод сравнивает поведение навыка на тех же задачах до и после серии локальных правок и добавляет более долговременные указания в защищенный раздел. Локальные шаги этот раздел трогать не могут. По сути, это способ отделить быстрые тактические исправления от стратегических уроков.
Именно здесь SkillOpt перестает быть «еще одним способом автогенерации подсказки» и начинает напоминать дисциплинированный цикл обучения.
Что показали эксперименты
Экспериментальная часть у работы масштабная: шесть бенчмарков, семь целевых моделей, три режима исполнения. Задачи покрывают поиск ответов, работу с таблицами, офисные документы, визуальные документы, математику и embodied-среду наподобие ALFWorld.
Главный итог авторы формулируют предельно жестко: лучший или разделяющий первое место результат в 52 из 52 ячеек.
На GPT–5.5 в прямом чате средний прирост относительно режима без навыка составил +23,5 процентного пункта. Внутри контура Codex — +24,8, внутри Claude Code — +19,1.
Особенно впечатляют задачи, где ошибка — это не «не вспомнил факт», а «не соблюл процедуру». Например:
То есть метод особенно силен там, где агенту нужна рабочая дисциплина: сначала проверить структуру файла, потом правильно извлечь данные, затем выдать ответ в строгом формате.
При этом выигрывают не только топовые модели. Более слабые версии и открытые модели вроде Qwen тоже получают заметную прибавку. Это важное наблюдение: компактный текстовый навык может выступать внешней «процедурной памятью», компенсируя то, чего маленькой модели не хватает в весах.
Почему результаты выглядят правдоподобно
В подобных работах всегда возникает подозрение: а вдруг дело просто в более длинном промте, более сильной модели-учителе или удачной настройке гиперпараметров? Авторы стараются это снять несколькими сериями проверок.
Во-первых, они сравнивают SkillOpt не только с отсутствием навыка, но и с ручными навыками, одношагово сгенерированными навыками, а также с конкурентами вроде TextGrad, GEPA, Trace2Skill и EvoSkill. SkillOpt стабильно впереди.
Во-вторых, есть разбор компонентов. Убрать ограниченный бюджет правок — хуже. Убрать буфер отвергнутых изменений — тоже хуже. Убрать медленное межэпохальное обновление — на некоторых задачах деградация очень заметна, особенно на задачах с таблицами.
В-третьих, авторы показывают динамику по эпохам: лучший по валидации контрольный пункт обычно хорошо совпадает с лучшим качеством на тесте. Это не доказывает идеальную способность к обобщению, но хотя бы показывает, что валидационный фильтр не ведет систему в очевидный тупик.
Это, пожалуй, один из самых убедительных моментов статьи. Авторы не просто демонстрируют рост метрики, а пытаются показать, за счет каких ограничителей этот рост не разваливается.
Переносимость: навык как артефакт
Отдельно интересны эксперименты на перенос. Оптимизированный навык, обученный на одной модели, можно запускать на другой; обученный в одной агентной среде — переносить в другую; а в некоторых случаях даже применять на соседнем бенчмарке.
Например, навык для таблиц, обученный в среде Codex, хорошо переносится в Claude Code. Есть и перенос между моделями: навык, обученный на GPT–5.4, помогает и более компактным вариантам.
Это, возможно, самый практичный вывод работы. Если навык можно один раз обучить, проверить, сохранить как текст и затем переиспользовать, он превращается в самостоятельный инженерный артефакт. Не эфемерный промт, живущий в ноутбуке исследователя, а что-то ближе к библиотеке процедурных правил.
Конечно, перенос не всегда дает ту же прибавку, что обучение «на месте», но почти все сдвиги оказываются положительными. А это уже хороший сигнал, что SkillOpt извлекает не только локальные шаблоны конкретного набора данных.
Что именно учится: не факты, а привычки
Один из самых приятных аспектов статьи — качественный анализ итоговых навыков. Они маленькие, обычно от нескольких сотен до пары тысяч токенов. И главное, состоят не из заплаток под отдельные примеры, а из процедурных правил.
Для таблиц навык учится сначала инспектировать структуру книги и формулы, а не полагаться на предварительный просмотр. Для задач по документам — сначала привязать вопрос к конкретной строке, заголовку или полю, а потом извлекать ответ. Для математики — различать «самое сильное утверждение» и просто верный, но более слабый вариант. Для embodied-задач — вести память о посещенных местах и не повторять бесполезные действия.
Это важное различие. SkillOpt, похоже, действительно обучает поведенческим инвариантам, а не просто переписывает формулировки инструкции чуть красивее.
И еще одна деталь: крупных улучшений часто хватает добиться за 1–4 принятые правки. То есть основная работа системы — не в том, чтобы непрерывно переписывать весь навык, а в том, чтобы среди множества предложений отобрать считаные полезные.
Ограничения и скепсис, который стоит сохранить
При всей силе результатов, это не серебряная пуля.
Во-первых, методу нужны надежные сигналы качества: верификаторы, точные метрики, исполнимые проверки. Для открытых творческих задач, где успех многомерен и субъективен, такой цикл будет устроить сложнее.
Во-вторых, обучение навыка не бесплатно. Да, на инференсе дополнительных вызовов нет, но офлайн-оптимизация требует заметного числа прогонов и вызовов модели-оптимизатора.
В-третьих, SkillOpt пока работает с одним компактным навыком под один домен. Для действительно гетерогенных задач, вероятно, понадобится уже не один документ, а библиотека навыков, диспетчеризация между ними и что-то вроде композиции процедур.
Наконец, нельзя исключать, что часть правил остается завязана на конкретный формат бенчмарка. Авторы это частично компенсируют экспериментами на перенос, но вопрос широкой внешней валидности всё равно остается открытым.
Вывод
SkillOpt — это одна из тех работ, которые не обещают магии, но предлагают очень сильную инженерную идею: если нельзя или не хочется менять веса модели, меняйте и обучайте её внешние рабочие инструкции так же дисциплинированно, как обучают параметры.
Сильная сторона статьи не только в цифрах, хотя они впечатляют. Главное — в постановке задачи. Авторы обращаются с навыком как с настоящим объектом оптимизации: с ограниченным шагом, валидацией, защитой от деградации и накоплением отрицательной обратной связи. Благодаря этому «самоулучшение через текст» перестает выглядеть как набор эвристик и начинает напоминать осмысленный процесс обучения.
Для индустрии это особенно важно. Мы привыкаем думать, что прогресс агентов — это либо новые веса, либо новые инструменты. SkillOpt показывает третий путь: обучаемый процедурный слой поверх замороженной модели. Если эта линия работ выстрелит, у нас появится не просто способ улучшать агентов без файн-тюнинга, а новый класс переносимых и проверяемых артефактов — текстовых навыков, которые можно хранить, версионировать и развивать почти как код.
ИИ-обзоры статей
Каждый день читаем свежие статьи по ИИ и пересказываем главное человеческим языком — без хайпа и воды. Если хотите понимать, куда движутся ИИ-агенты раньше остальных, — подписывайтесь.
Новые обзоры — каждый день
В Telegram