EnCompass: ИИ-агенты с улучшенным поиском решений

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

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

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

Для оптимизации этого процесса специалисты из Лаборатории информатики и искусственного интеллекта Массачусетского технологического института (CSAIL) совместно с Asari AI разработали фреймворк EnCompass. Эта система автоматизирует процесс отката при ошибках LLM и позволяет создавать параллельные копии среды выполнения программы для поиска оптимального решения.

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

«С EnCompass мы отделили стратегию поиска от основного рабочего процесса ИИ-агента», — отмечает ведущий автор Чжэнин Ли. «Наш фреймворк позволяет программистам легко экспериментировать с различными стратегиями поиска, чтобы найти ту, которая обеспечивает наилучшую производительность ИИ-агента».

Реализация EnCompass для агентов на Python, обращающихся к LLM, продемонстрировала значительное сокращение объема кода — до 80%. Это особенно актуально для задач, таких как перевод репозиториев кода или обнаружение правил трансформации для цифровых сеток.

В перспективе EnCompass может помочь агентам справляться с масштабными задачами: управлением крупными библиотеками кода, проектированием и проведением научных экспериментов, а также разработкой чертежей для ракет и другого оборудования. Результаты исследования были представлены на конференции NeurIPS и опубликованы на сервере препринтов arXiv.

Детали реализации:

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

EnCompass предлагает несколько стандартных стратегий поиска, таких как Monte Carlo tree search (комбинация исследования и использования) или beam search (сохранение лучших вариантов на каждом шаге). Возможность легко экспериментировать с различными подходами позволяет максимизировать шансы на успешное выполнение задачи.

Эффективность EnCompass:

Исследователи обнаружили, что EnCompass значительно сокращает объем кода, необходимый для добавления поиска в программы агентов. Так, при переводе кода с Java на Python реализация поиска с помощью EnCompass потребовала на 348 строк кода меньше (около 82%) по сравнению с ручным методом. Это позволило повысить точность на 15–40% при ограниченном числе обращений к LLM.

«По мере того как LLM становятся неотъемлемой частью повседневного программного обеспечения, растет важность понимания того, как эффективно создавать программы, использующие их сильные стороны и обходящие ограничения», — отмечает профессор Армандо Солар-Лезама. «EnCompass — это важный шаг в этом направлении».

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

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

«EnCompass появился в очень своевременный момент, поскольку ИИ-агенты и методы поиска начинают преобразовывать рабочие процессы в разработке программного обеспечения», — отмечает профессор Йиминг Ян. «Четко разделяя логику программирования агента и его стратегию поиска во время выполнения, фреймворк предлагает принципиальный способ исследования того, как структурированный поиск может улучшить генерацию, перевод и анализ кода. Эта абстракция обеспечивает прочную основу для более систематических и надежных подходов к разработке программного обеспечения, управляемых поиском».

Работа выполнена при поддержке Asari AI.

*Признаны экстремистскими организациями и запрещены на территории РФ.

Комментарии

Комментариев пока нет.