Искусственный интеллект
OpenAgents: Открытая платформа для языковых агентов в дикой природе

Недавние разработки продемонстрировали, что языковые агенты, особенно те, которые построены на больших языковых моделях (LLM), имеют потенциал выполнять широкий спектр сложных задач в различных средах с использованием естественного языка. Однако основное внимание большинства современных языковых агентских фреймворков сосредоточено на облегчении создания концепций языковых агентов. Это внимание часто сопровождается небольшим или отсутствием внимания к дизайну на уровне приложения и часто пренебрегает доступностью этих агентов для непрофессиональных пользователей.
Чтобы преодолеть текущие ограничения, с которыми сталкиваются языковые агенты, разработчики создали OpenAgents фреймворк, открытую платформу для размещения и развертывания языковых агентов в дикой природе и во всей совокупности повседневных задач. OpenAgents фреймворк построен вокруг трех агентов
- Агент данных : Помогает с анализом данных с помощью инструментов данных и языков запросов, таких как SQL, или языков программирования, таких как Python.
- Агенты плагинов : Помогает, предоставляя доступ к более чем 200+ инструментам API, полезным для повседневных задач.
- Веб-агенты : Помогает в просмотре веб-страниц, сохраняя вашу анонимность.
OpenAgents фреймворк использует веб-интерфейс, оптимизированный для общих сбоев и быстрых ответов, чтобы позволить обычным пользователям взаимодействовать с функциональностью агентов, а также предлагает исследователям и разработчикам бесшовный опыт развертывания на их локальных установках. Можно сказать, что OpenAgents фреймворк является попыткой предоставить прочную основу для облегчения реальных оценок и создания инновационных, эффективных и продвинутых языковых агентов.
В сегодняшней статье мы более подробно рассмотрим фреймворк OpenAgents и поговорим о фреймворке в большей детали. Мы поговорим о работе и архитектуре фреймворка, а также обсудим общие проблемы и результаты. Итак, начнем.
OpenAgents и языковые агенты : Введение
Языковые агенты, в своей основе, являются производными от интеллектуальных агентов. Эти интеллектуальные агенты концептуализированы для обладания автономными возможностями решения проблем, а также способностью воспринимать свою среду, принимать решения и действовать соответственно. С достижениями в области больших языковых моделей, глобальное сообщество разработчиков использовало концепцию интеллектуальных агентов и LLM для создания языковых агентов. Эти агенты используют программирование естественного языка (NLP) для выполнения широкого спектра сложных задач в различных средах, и они недавно показали замечательный потенциал.
Текущие фреймворки языковых агентов, такие как Gravitas и Chase, в основном предоставляют консольный интерфейс, разработанный для разработчиков, а также реализации концепций. Однако они часто ограничивают доступ к более широкой аудитории, особенно тем, кто не обладает навыками программирования. Кроме того, текущие эталоны агентов созданы разработчиками с конкретными требованиями для детерминированной оценки, особенно в сценариях, которые требуют просмотра веб-страниц, программирования, использования инструментов или их комбинации.
В попытке разработать агенты, основанные на LLM, для более широкой аудитории, такие известные игроки, как OpenAI и Microsoft, развернули ряд хорошо спроектированных продуктов, включая продвинутый анализ данных, также известный как интерпретатор кода, и плагины браузера. Хотя эти агенты эффективны в своих функциях, они предлагают ограниченную помощь сообществу разработчиков. Это ограничение возникает потому, что бизнес-логика кода и реализации моделей не были открыты, препятствуя возможности для разработчиков и исследователей дальнейшего изучения их, а также ограничивая бесплатный доступ для пользователей.
В попытке решить эту проблему, разработчики создали OpenAgents, открытую платформу для размещения и использования агентов, и она в настоящее время построена на основе трех внутренних агентов
- Агент данных : Помогает с анализом данных с помощью инструментов данных и языков запросов, таких как SQL, или языков программирования, таких как Python.
- Агенты плагинов : Помогает, предоставляя доступ к более чем 200+ инструментам API, полезным для повседневных задач.
- Веб-агенты : Помогает в просмотре веб-страниц, сохраняя вашу анонимность.
Следующая фигура демонстрирует платформу OpenAgents для обычных пользователей, разработчиков и исследователей.

- Вместо использования ориентированного на программиста пакета или консоли, обычные пользователи могут взаимодействовать с тремя агентами в фреймворке OpenAgents, используя веб-интерфейс.
- Разработчики могут использовать бизнес-логику и исследовательские коды, предоставленные фреймворком OpenAgents, чтобы бесшовно развернуть бэкенд и фронтенд для дальнейшего развития.
- Исследователи имеют гибкость либо создавать новые языковые агенты с нуля, либо реализовывать методы, связанные с агентами, используя общие компоненты и примеры, и оценивать их производительность, используя веб-интерфейс.
Вкратце, фреймворк OpenAgents изначально предназначен для того, чтобы быть целостной и реалистичной платформой для оценки языковых агентов с участием человека, которая позволяет пользователям взаимодействовать с этими агентами для выполнения широкого спектра задач, и эти взаимодействия между человеком и агентом, а также обратная связь пользователей хранятся и анализируются для дальнейшего развития и оценки.
Для тех, кто не знает, LLM prompting – это процесс, который позволяет разработчикам создавать инструкции, которые защищают от враждебных или неправильных входных данных, улучшают эстетику выходных данных и удовлетворяют бэкенд-логике. Во время фазы разработки разработчики, работающие над фреймворком OpenAgents, используют технику LLM prompting, чтобы подчеркнуть важность эффективного определения требований приложения. Однако разработчики вскоре обнаружили, что построение этих инструкций или LLM prompts может быть существенным в некоторых случаях, что может повлиять на способность фреймворка LLM обрабатывать контекст, а также ограничения токенов. Разработчики также обнаружили, что для эффективного развертывания этих агентов в реальном мире модели агентов не только должны демонстрировать исключительную производительность, но и должны быть способны решать широкий спектр интерактивных сценариев в реальном времени. Хотя текущие фреймворки агентов имеют хорошую производительность, они часто игнорируют реальные соображения, особенно в реальном времени, что часто затеняет истинный потенциал фреймворков LLM, торгуя отзывчивостью или точностью.
На следующей фигуре мы сравниваем фреймворк OpenAgents напрямую с существующими работами по эталонам агентов и построению прототипов.

OpenAgents : Дизайн и реализация платформы
Систематический дизайн или архитектура платформы OpenAgents можно разделить на два основных компонента: Пользовательский интерфейс, включая бэкенд и фронтенд, и Языковой агент, включающий инструменты, языковые модели и среды. Фреймворк OpenAgents предоставляет интерфейс для общения между пользователями и агентами. Поток взаимодействия в фреймворке следующий.
Агенты используют доступные им инструменты для планирования и выполнения необходимых действий в средах после получения входных данных от пользователей. Архитектура или систематический дизайн фреймворка демонстрируется на следующем изображении.

Пользовательский интерфейс
Разработчики фреймворка OpenAgents много думали и работали над созданием не только высокофункционального, но и удобного интерфейса после решения проблемы хостинга агентов и повторного использования бизнес-логики. В результате фреймворк OpenAgents гордится тем, что предоставляет поддержку широкого спектра технических задач, включая обработку ошибок, операции бэкенд-сервера, потоковую передачу данных и многое другое, с основной целью сделать фреймворк OpenAgents удобным для пользователя, но в то же время высокоэффективным и удобным в использовании.
Языковой агент
В фреймворке OpenAgents языковой агент имеет три основных компонента: интерфейс инструментов, языковую модель и саму среду. Метод подсказки, реализованный в фреймворке OpenAgents, создает последовательный процесс для агентов, который начинается с Наблюдение -> Обдумывание -> Действие. Фреймворк также подсказывает LLM для генерации парсированного текста с повышенной эффективностью, и интерфейс инструментов состоит из парсеров, которые могут перевести парсированный текст, сгенерированный LLM, в выполнимые действия, такие как вызовы API или генерация кода. Эти действия затем выполняются фреймворком в пределах соответствующей среды.
Агенты OpenAgents
В основе OpenAgents есть три различных агента: Агент данных , который помогает с анализом данных с помощью инструментов данных и языков запросов, таких как SQL, или языков программирования, таких как Python, Агенты плагинов , которые помогают, предоставляя доступ к более чем 200+ инструментам API, полезным для повседневных задач, и Веб-агенты , которые помогают в просмотре веб-страниц, сохраняя вашу анонимность. Эти агенты имеют индивидуальную экспертизу в области, подобную плагинам ChatGPT, однако, в отличие от ChatGPT, реализация на OpenAgents основана исключительно на открытом языковом API.
Агент данных
Агент данных в фреймворке OpenAgents был разработан и развернут для решения широкого спектра задач, связанных с данными, с которыми сталкиваются конечные пользователи на регулярной основе. Агенты данных поддерживают генерацию и выполнение кода на двух языках программирования, а именно SQL и Python, и агент также имеет несколько инструментов данных в своем распоряжении, включая Профилирование данных для предоставления базовой информации о данных, Поиск данных Kaggle для поиска наборов данных, и Инструмент ECharts для построения интерактивных графиков ECharts. Кроме того, фреймворк OpenAgents подсказывает агенту данных использовать эти инструменты проактивно, чтобы эффективно реагировать на запросы конечных пользователей. Кроме того, учитывая обширные требования к кодированию, фреймворк OpenAgents выбирает встроенные языковые модели для агента данных, и вместо того, чтобы агент генерировал код, это инструменты, такие как Python, ECharts и SQL, которые генерируют код. С этим подходом фреймворк может использовать программные возможности языковых моделей полностью, и тем самым снижает нагрузку на агент данных.
С помощью этих инструментов данных агент данных способен управлять многочисленными запросами, связанными с данными, и выполняет задачи по визуализации, манипуляции и запросам данных профессионально, тем самым превышая границы генерации кода и текста. Следующая фигура подчеркивает агент данных в действии и инструменты, доступные обычным пользователям.

Агент плагинов
Агент плагинов в фреймворке OpenAgents был разработан разработчиками тщательно, чтобы удовлетворить многогранный спрос пользователей на повседневные задачи, включая поиск в Интернете, онлайн-шопинг, чтение новостей или создание веб-сайтов и приложений, предоставляя доступ к более чем 200 плагинам, с особым вниманием, уделяемым интерфейсу вызова функций, пингам API и длине ответа API. Некоторые из заметных плагинов включают
- Поиск Google
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
В зависимости от своих потребностей и требований пользователи могут выбрать количество плагинов, которые они хотят, чтобы агент плагинов использовал, и работа демонстрируется на фигуре ниже.

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

Стратегия дизайна, реализованная в этих веб-агентах, оказывается очень полезной, поскольку чат-агент обрабатывает важные параметры или инициирует URL систематически, прежде чем они передаются веб-агенту, обеспечивая лучшую согласованность между требованиями пользователя и сгенерированным выходом, в результате чего получается четкая коммуникация. Кроме того, стратегия также позволяет веб-агентам адаптироваться к многослойным и адаптируемым запросам пользователей, используя динамическую многоходовую навигацию по веб-страницам, в сочетании с диалогами чата. Следовательно, очерчивая роли и обязанности чат- и многостраничного просмотра агентов отдельно, фреймворк OpenAgents позволяет совершенствовать и развивать каждый отдельный модуль.
OpenAgents : Практические применения и развертывание в реальном мире
В этом разделе мы будем говорить о траектории фреймворка OpenAgents от теоретизации до развертывания в реальном мире, а также о проблемах, с которыми столкнулись разработчики, и о том, что они узнали, а также о сложностях оценки, с которыми они столкнулись.
Использование подсказок для преобразования больших языковых моделей в реальные приложения
Когда используются подсказки LLM для построения реальных приложений для конечных пользователей, фреймворк OpenAgents использует подсказки для указания определенных требований. Цель некоторых инструкций – обеспечить, чтобы выходные данные были в соответствии с определенным форматом, что позволяет бэкенд-логике обрабатывать, тогда как цель других инструкций – улучшить эстетическую привлекательность выходных данных, тогда как остальные инструкции защищают фреймворк от потенциальных злонамеренных атак.
Неконтролируемые реальные факторы
Когда разработчики развернули фреймворк OpenAgents в реальном мире, они столкнулись с рядом неконтролируемых реальных факторов, вызванных инфраструктурой Интернета, пользователями, бизнес-логикой и многим другим. Эти неконтролируемые факторы заставили разработчиков переоценить и отрегулировать некоторые предположения на основе предыдущих исследований, и они могли в конечном итоге привести к ситуациям, когда конечные пользователи могут не быть удовлетворены ответом, сгенерированным фреймворком.
Сложность оценки
Хотя построенные агенты, ориентированные непосредственно на приложения, могут иметь более широкое применение и облегчить лучшую оценку, они добавляют сложности при построении приложений, основанных на LLM, что затрудняет анализ производительности приложений. Кроме того, этот подход также добавляет нестабильность и расширяет цепочку системы LLM, что затрудняет адаптацию фреймворка к различным компонентам. Поэтому имеет смысл усовершенствовать системный дизайн и операционную логику этих агентов, чтобы упростить процедуры и обеспечить эффективный выход.
Окончательные мысли
В этой статье мы говорили о фреймворке OpenAgents, открытой платформе для размещения и развертывания языковых агентов в дикой природе и во всей совокупности повседневных задач. Фреймворк OpenAgents построен вокруг трех агентов: Агент данных, который помогает с анализом данных с помощью инструментов данных и языков запросов, таких как SQL, или языков программирования, таких как Python, Агенты плагинов, которые помогают, предоставляя доступ к более чем 200+ инструментам API, полезным для повседневных задач, и Веб-агенты, которые помогают в просмотре веб-страниц, сохраняя вашу анонимность. Фреймворк OpenAgents использует веб-интерфейс, оптимизированный для общих сбоев и быстрых ответов, чтобы позволить обычным пользователям взаимодействовать с функциональностью агентов, а также предлагает исследователям и разработчикам бесшовный опыт развертывания на их локальных установках. Предоставляя прозрачную, целостную и развертываемую платформу, OpenAgents стремится сделать потенциал LLM доступным для более широкого круга пользователей, не ограничиваясь исследователями и разработчиками, но и конечными пользователями с ограниченными техническими знаниями.










