WikiSkill от Google дает ИИ-агентам память о том, что пошло не так, — не помещая это в промпт

WikiSkill от Google дает ИИ-агентам память о том, что пошло не так, — не помещая это в промпт

ИИ-агенты могут улучшать своё поведение, вырабатывая повторно используемые навыки на основе успешных и неудачных попыток выполнить задачи. Но системы, развивающие эти навыки, могут терять усвоенные знания, из-за чего им приходится заново открывать уже известные ошибки.

WikiSkill — новый фреймворк от Google Research и Virginia Tech — решает эту проблему, добавляя организованный слой знаний между сырым опытом агента и используемыми им навыками. Вместо того чтобы снова и снова выводить навыки из отдельных траекторий, фреймворк создаёт структурированную вики на основе информации, полученной из прошлого опыта агента. Затем он использует эту вики для создания будущих навыков.

В экспериментах исследователей с разными областями применения и моделями WikiSkill показал результаты лучше существующих методов развития навыков. Результаты также говорят о том, что его преимущества могут возрастать с увеличением размера модели, а выработанные навыки могут переноситься между моделями.

Для корпоративных команд, работающих с ИИ, WikiSkill предлагает способ превращать уже создаваемые агентами журналы выполнения задач в повторно используемые знания и навыки.

Недостающий слой знаний в развитии навыков

Навыки объединяют специализированные для конкретной области инструкции, скрипты и рабочие процессы в повторно используемые модули. Они дают агентам специализированные процедурные знания, не требуя изменений параметров модели. 

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

Разные системы сохраняют отдельные части этого процесса. Trace2Skill отдельно анализирует успешные и неудачные траектории и объединяет полученные из них выводы в исправления навыков. EvoSkill перебирает возможные программы навыков, а его модуль-предложитель получает трассировки неудач вместе с простым списком предыдущих предложений. SkillOpt использует многоэтапный конвейер рефлексии для анализа траекторий и обновления документа с описанием навыка.

Лиян Тан, научный сотрудник Google и соавтор статьи, говорит, что полезные выводы могут теряться, даже если оптимизатор правильно определил причину сбоя. «Во многих фреймворках самоулучшения оптимизатор может прочитать трассировки, предложить исправление, а затем отбросить результаты анализа, в том числе сведения о том, какие исправления не прошли проверку», — сказал Тан. «Это означает, что система снова и снова обнаруживает одни и те же ошибки и предлагает уже отвергнутые исправления».

WikiSkill обеспечивает таким выводам и неудачным попыткам исправления постоянное хранилище. Даже если предложенный навык отклонён, система сохраняет знания, которые привели к его созданию, и результат проверочного теста. Благодаря этому последующие итерации опираются на историю предыдущих попыток, а не начинают с тех же исходных данных.

Как работает WikiSkill

WikiSkill вдохновлён идеей «LLM Wiki» Андрея Карпати, которая предполагает объединение опыта в постоянную, накапливающуюся базу знаний. Тан так описывает адаптацию этой концепции в WikiSkill: «Мы сохранили структуру Карпати: неизменяемые источники, вики под управлением LLM, индекс и журнал. Но на входе — собственная траектория выполнения задач агентом, а на выходе — исполняемый файл SKILL.md».

WikiSkill делит рабочее пространство агента на три слоя:

В сыром слое хранятся неизменяемые трассировки выполнения. Они включают действия агента, ход его рассуждений, вызовы инструментов, результаты их работы и итоговые ответы. Этот слой служит исторической записью того, что агент действительно сделал.

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

Слой навыков содержит процедурные инструкции, доступные агенту при выполнении задач. Каждый навык также связан с шаблонами из вики, которые послужили причиной его создания или изменения.

WikiSkill architecture

Архитектура WikiSkill (источник: arXiv)

Каждый цикл развития навыков состоит из четырёх шагов. Сначала агент выполнения решает обучающие задачи с текущими навыками и создаёт новые трассировки. Затем куратор вики анализирует выбранные успешные и неудачные траектории и обновляет вики. Модуль-предложитель навыков изучает обновлённую вики и выбранные трассировки, после чего предлагает новый навык или изменения существующих. Наконец, набор навыков-кандидатов проверяется на валидационной выборке. Изменение сохраняется, только если оно улучшает лучший на данный момент результат валидации.

Пример из ALFWorld — текстовой симулированной среды, где агенты выполняют многоэтапные задачи по манипуляции предметами, — показывает, как это работает. На первой итерации система обнаружила повторяющееся поведение: агент снова и снова подбирал предметы, осматривал их и возвращал на исходные места. Модуль-предложитель навыков создал общий навык «целенаправленное действие», но на этапе валидации его отклонили.

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

WikiSkill на практике

Исследователи оценили WikiSkill на пяти бенчмарках, охватывающих математические рассуждения, поиск в интернете, работу с электронными таблицами, ответы на вопросы по документам с длинным контекстом и интерактивные бытовые задачи. Они тестировали модели Qwen, Gemma и Gemini и сравнивали фреймворк с Trace2Skill, EvoSkill, SkillOpt и агентами без навыков. 

Исследователи выяснили, что WikiSkill показал наивысший средний результат на каждой протестированной модели. По сравнению с самым сильным конкурирующим методом развития навыков для каждой модели его преимущество составляло от 3,3 до 12 процентных пунктов.

WikiSkill performance

Результаты WikiSkill (источник: arXiv)

По сравнению с базовым вариантом без навыков средний прирост от WikiSkill увеличивался вместе с размером модели Qwen. «Мы увидели не потолок, а обратное: в семействе Qwen прирост рос с масштабом — +12,3, +17,5 и +23,9 процентного пункта для моделей 4B, 9B и 27B с навыками, разработанными для каждой из них», — сказал Тан. В то же время навыки могли частично компенсировать разницу в размере моделей: средняя точность Qwen-3.5-9B с WikiSkill составила 47,4% против 39,4% у Qwen-3.6-27B без навыков.

В некоторых случаях навыки можно было переносить и между моделями. На ALFWorld результат Qwen-3.5-9B с навыком, выработанным Qwen-3.6-27B, составил 70,2% против 63,4% с собственным выработанным навыком. 

Чему корпоративные команды могут научиться у WikiSkill

В статье описаны алгоритм развития навыков и запросы, используемые куратором вики и модулем-предложителем навыков, поэтому архитектуру нетрудно воспроизвести на концептуальном уровне.

Основной подход заключается в том, чтобы сохранять полные трассировки выполнения, выделять повторяющиеся успешные и неудачные сценарии в отдельное хранилище знаний, вести журнал попыток улучшений и поручать другому агенту преобразовывать накопленные знания в точечные процедурные изменения. Прежде чем добавлять эти изменения в активный набор навыков, они должны пройти независимую проверку.

Для производственных систем разделение вики и исполняемого навыка — это ещё и решение, влияющее на стоимость инференса. «Память стремится быть исчерпывающей, а производственный промпт должен быть компактным, поэтому их объединение неизбежно приводит к менее эффективному компромиссу», — сказал Тан. «Вместо этого мы полностью исключаем вики из контекста агента выполнения, так что в производственной среде нужны только компактные навыки — в наших экспериментах это около 45–129 строк».

Абляционные эксперименты в статье подтверждают обоснованность этого решения. В тестах с Gemini-3.5-Flash на четырёх бенчмарках средний результат в стандартной конфигурации — с постоянной вики, доступной модулю-предложителю навыков, но не агенту выполнения, — составил 63,7%. Для сравнения, когда модуль-предложитель не имел доступа к вики, а куратор вики был отключён, результат составил 48,7%. Предоставление доступа к вики и агенту выполнения снизило показатель до 60,9%. Исследователи предполагают, что, если агент выполнения может решать обучающие задачи напрямую, опираясь на знания из вики, его траектории меньше раскрывают слабые места самих навыков.

Компромисс — дополнительные затраты на этапе развития навыков. В WikiSkill используется модуль-предложитель навыков ReAct: перед тем как предложить изменение, модель чередует рассуждения и вызовы инструментов, изучая вики и трассировки выполнения. В экспериментах это занимало примерно 10–20 ходов ReAct на одну итерацию развития навыков, помимо вызова куратора вики. Однако, поскольку исследователи обрабатывали весь обучающий набор одной партией, количество вызовов LLM-оптимизатора на итерацию не увеличивалось с ростом числа обучающих примеров.

Эта архитектура особенно подходит агентам, которые многократно выполняют многоэтапные рабочие процессы и накапливают достаточно истории, чтобы выявлялись повторяющиеся причины сбоев и успешные стратегии. Тан отмечает, что исключение вики из инференса позволяет экономить вычислительные ресурсы при масштабировании, тогда как более сложные приложения со временем могут выиграть от предоставления работающему агенту доступа и к навыкам, и к выбранным знаниям из вики. Для этого нужно тщательно определить, что относится к каждому слою, чтобы вики дополняла файлы навыков, а не дублировала их.

Однако в статье остаются без ответа вопросы, важные для производственного применения. WikiSkill напрямую добавляет активные навыки в промпт модели, поэтому в работе не проверяются поиск навыков и условия их активации по мере роста библиотек навыков. Механизм валидации отклоняет изменения, которые не дают немедленного прироста производительности, даже если они могли бы обеспечить улучшения в будущем. Кроме того, вики постоянно растёт, поскольку автоматический механизм очистки не предусмотрен, а эксперименты не охватывают задачи, требующие сотен действий или нескольких часов.

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

Оркестрация

Смотреть все

Подпишитесь на свежие новости!

Глубокая аналитика для руководителей в области корпоративного ИИ, данных и безопасности

Подписаться по RSS

RSS-ленты обновляются каждые 15 минут.