Agent Lightning: добавление обучения с подкреплением к агентам ИИ без переписывания кода

Агенты ИИ меняют подход к разработке программного обеспечения: от написания кода до выполнения сложных инструкций. Однако агенты, основанные на LLM, склонны к ошибкам и часто плохо справляются со сложными, многоэтапными задачами. Обучение с подкреплением (RL) — это подход, при котором системы ИИ учатся принимать оптимальные решения, получая вознаграждения или наказания за свои действия, совершенствуясь методом проб и ошибок. RL может помочь агентам улучшиться, но обычно требует от разработчиков тщательного переписывания своего кода. Это препятствует внедрению, хотя данные, генерируемые этими агентами, могут значительно повысить производительность за счет обучения RL.

Чтобы решить эту проблему, исследовательская группа из Microsoft Research Asia – Шанхай представил Агент Молния. Этот с открытым исходным кодом (откроется в новой вкладке) Framework делает агенты ИИ обучаемыми с помощью RL, отделяя выполнение задач агентами от обучения модели, что позволяет разработчикам добавлять возможности RL практически без модификации кода.

Захват поведения агента для обучения

Agent Lightning преобразует опыт работы агента в формат, который может использовать RL, рассматривая выполнение агента как последовательность состояний и действий, где каждое состояние фиксирует состояние агента, а каждый вызов LLM представляет собой действие, которое переводит агента в новое состояние.

Этот подход работает для любого рабочего процесса, независимо от его сложности. Независимо от того, предполагает ли это сотрудничество нескольких агентов или динамическое использование инструментов, Agent Lightning разбивает его на последовательность переходов. Каждый переход фиксирует входные данные, выходные данные и вознаграждение LLM (рис. 1). Этот стандартизированный формат означает, что данные можно использовать для обучения без каких-либо дополнительных шагов.

Рис. 1. Схема, иллюстрирующая унифицированный интерфейс данных Agent Lightning для агента с расширенным поиском (RAG). Слева четыре состояния (от состояния₀ к состоянию₃) показывают поток выполнения агента, где семантические переменные — UserInput, Query, Passages и Answer — обновляются после каждого вызова компонента (LLM или Search). Зеленые блоки представляют заполненные переменные; серые блоки обозначают пустые. Справа унифицированный интерфейс данных преобразует эти переходы в формат траектории, содержащий подсказку, генерацию и немедленное вознаграждение за обучение RL.
Рисунок 1. Иллюстрация стандартизированного формата Agent Lightning с использованием агента генерации с расширенным поиском (RAG). Слева: полный рабочий процесс агента, в котором состояние агента обновляется после каждого шага компонента. Зеленые блоки показывают присвоенные переменные, а серые блоки обозначают переменные без содержимого. Справа: собранные переходы основаны на стандартизированном формате процесса обучения RL, при этом каждый переход соответствует одному шагу LLM, который содержит подсказку, результат и немедленное вознаграждение.

Иерархическое обучение с подкреплением

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

Read more:  Рост городов может оставить миллионы людей без воды к 2050 году

Вместо этого алгоритм LightningRL от Agent Lightning использует иерархический подход. После завершения задачи модуль назначения кредитов определяет, насколько каждый запрос LLM способствовал результату, и назначает ему соответствующее вознаграждение. Эти независимые шаги, теперь в сочетании с собственными оценками вознаграждения, можно использовать с любым существующим одношаговым алгоритмом RL, таким как оптимизация проксимальной политики (PPO) или оптимизация групповой относительной политики (GRPO) (рис. 2).

Рисунок 2: Сравнение трех подходов к обучению с подкреплением для задач LLM. (a) Одношаговый GRPO: модель выполняет задачу за один вызов, и несколько результатов для одной и той же задачи сравниваются с соответствующими вознаграждениями. (b) Предыдущая многоэтапная GRPO: задача охватывает несколько вызовов LLM, образуя траектории; токены, не относящиеся к LLM (серые прямоугольники), игнорируются во время обучения, и сравниваются все многоэтапные прогоны. (c) LightningRL: разбивает многоэтапные прогоны на отдельные вызовы LLM, каждый из которых включает входные данные, контекст, выходные данные и вознаграждение, назначенные модулем назначения кредитов. Вызовы из одной задачи группируются для подкрепления.
Рисунок 2. (a) Одноэтапный GRPO: LLM выполняет задачу за один вызов. Несколько ответов на одну и ту же задачу сравниваются, чтобы определить, насколько сильно каждый из них следует подкрепить. (b) Предыдущая многоэтапная GRPO: задача включает в себя несколько вызовов LLM. Сравниваются несколько многоэтапных запусков одной и той же задачи, при этом токены, созданные не с помощью LLM (серые прямоугольники), игнорируются во время обучения. (c) LightningRL: многоэтапный запуск разделен на отдельные вызовы LLM. Вызовы одной и той же задачи сравниваются, чтобы определить, насколько сильно следует подкрепить каждый из них. Каждый вызов включает в себя входные данные, контекст, выходные данные и вознаграждение, назначенные модулем присвоения кредитов.

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

Agent Lightning в качестве промежуточного программного обеспечения

Agent Lightning служит промежуточным программным обеспечением между алгоритмами RL и средами агентов, предоставляя модульные компоненты, которые обеспечивают масштабируемость RL посредством стандартизированных протоколов и четко определенных интерфейсов.

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

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

Read more:  26 сотрудников «Врачей без границ» остаются пропавшими без вести в Южном Судане

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

Рис. 3. Схема, показывающая архитектуру Agent Lightning (AGL). Слева блок алгоритма AGL включает в себя механизм вывода (например, vLLM), цикл итерации алгоритма и адаптер для обновления обучаемых данных и весов. В центре AGL Core находится LightningStore, который управляет задачами, ресурсами, интервалами и вызовами LLM. Справа AGL Agent Runner & Tracer включает определяемый пользователем агент, использующий завершение чата OpenAI и agl.emit(). Стрелки указывают потоки подсказок, ответов, задач, ресурсов, диапазонов и наборов данных между компонентами, при этом выделены роли исследователей алгоритмов и разработчиков агентов.
Рисунок 3. Платформа Agent Lightning

Все циклы RL состоят из двух этапов: (1) Agent Lightning собирает данные о выполнении агента (называемые «промежутками») и сохраняет их в хранилище данных; (2) затем он извлекает необходимые данные и отправляет их алгоритму для обучения. Благодаря такой конструкции алгоритм может асинхронно делегировать задачи агенту, который выполняет их и сообщает о результатах (рис. 4).

Рисунок 4: Схема цикла обучения в Agent Lightning. Центральным элементом является «Тренер», стрелки которого образуют цикл между тремя компонентами: «Агент» слева, «Алгоритм» справа и «Тренер» посередине. Верхняя стрелка с надписью «Задачи» переходит от алгоритма к агенту, а нижняя стрелка с надписью «Промежутки» — от агента к алгоритму. «Шаблоны подсказок» отмечены над циклом, что указывает на их роль в создании задач.
Рисунок 4. Цикл RL Agent Lightning

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

Еще одним преимуществом является эффективность использования ресурсов. Агентские системы RL представляют собой сложные интегрирующие агентные системы, механизмы вывода LLM и системы обучения. Разделяя эти компоненты, Agent Lightning делает эту сложность управляемой и позволяет оптимизировать каждую часть независимо.

Разделенная конструкция позволяет каждому компоненту использовать то оборудование, которое ему подходит лучше всего. Агент-запускатель может использовать процессоры, а обучение модели — графические процессоры. Каждый компонент также может масштабироваться независимо, что повышает эффективность и упрощает обслуживание системы. На практике разработчики могут сохранить существующие структуры агентов и переключить вызовы моделей на API Agent Lightning, не меняя код своего агента (рис. 5).

Рис. 5. Параллельное сравнение кода, показывающее реализацию агента до и после интеграции Agent Lightning. На левой панели (темный фон) отображается исходный код агента, написанный разработчиком, включая логику вызовов LLM, использования инструментов и назначения вознаграждений. На правой панели (светлый фон) показана модифицированная версия с использованием Agent Lightning, в которой большая часть логики агента остается неизменной, но включает дополнительный импорт и вызовы компонентов Agent Lightning, таких как agl.PromptTemplate, agl.emit() и agl.Trainer, для обучения и присвоения кредитов. Между двумя панелями по центру находится стилизованная иконка молнии.
Рисунок 5. Слева разработчик реализует код агента. В правом нижнем углу находится код, необходимый для Agent Lightning. Основная часть кода агента не изменилась.

Оценка по трем реальным сценариям

Agent Lightning был протестирован на трех различных задачах, в результате чего было достигнуто последовательное улучшение производительности во всех сценариях (рис. 6):

Преобразование текста в SQL (LangChain): В системе с тремя агентами, выполняющими генерацию, проверку и перезапись SQL, Agent Lightning одновременно оптимизировал два из них, значительно повысив точность генерации исполняемого SQL-запроса на основе запросов на естественном языке.

Read more:  Какой у вас баланс в Аревало?, ежедневная газета Junge Welt, 13 февраля 2026 г.

Генерация с расширенным поиском (реализация OpenAI Agents SDK): В многоинтервальном наборе данных «вопрос-ответ» MuSiQue, который требует запроса к большой базе данных Википедии, агент Lightning помог агенту генерировать более эффективные поисковые запросы и лучше рассуждать на основе полученного контента.

Математический контроль качества и использование инструментов (реализация AutoGen): Для решения сложных математических задач агент Лайтнинг обучил LLM более точно определять, когда и как вызывать инструмент, и интегрировать результаты в его рассуждения, повышая точность.

Рис. 6. Рисунок с шестью линейными диаграммами, показывающий кривые вознаграждения для трех сценариев оценки (Spider, MuSiQue, Calculator) для разделения обучения и тестирования. Верхний ряд: Награды за поезд на Spider, MuSiQue и Калькуляторе — на каждом графике показана синяя линия с шумной восходящей тенденцией по шагам, указывающей на увеличение вознаграждения; Паук и Калькулятор растут быстрее с большей дисперсией, MuSiQue поднимается более постепенно. Нижний ряд: Награды за тестирование на Spider, MuSiQue и Калькуляторе — на каждом графике показана синяя линия, которая увеличивается, а затем стабилизируется при более высоких наградах; Калькулятор быстрее всего достигает почти плато, Spider показывает устойчивый рост с небольшими колебаниями, MuSiQue улучшается медленнее. На всех графиках используются «Шаги» на оси X и «Награды» на оси Y с легендой, помеченной как «наши», и светлыми линиями сетки.
Рисунок 6. Кривые вознаграждения по трем сценариям оценки

Обеспечение непрерывного совершенствования агента

Упрощая интеграцию RL, Agent Lightning может облегчить разработчикам создание, итерацию и развертывание высокопроизводительных агентов. Мы планируем расширить возможности Agent Lightning, включив в них автоматическую оптимизацию подсказок и дополнительные алгоритмы RL.

Платформа предназначена для использования в качестве открытой платформы, где любой ИИ-агент может совершенствоваться на основе реальной практики. Объединяя существующие агентные системы с обучением с подкреплением, Agent Lightning стремится помочь создать системы искусственного интеллекта, которые учатся на основе опыта и совершенствуются с течением времени.

2025-12-12 17:20:00


1765760400
#Agent #Lightning #добавление #обучения #подкреплением #агентам #ИИ #без #переписывания #кода

Ещё по этой теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.