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

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

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

Для преодоления текущих ограничений, с которыми сталкиваются языковые агенты, разработчики создали фреймворк OpenAgents – открытую платформу для хостинга и развёртывания языковых агентов в различных задачах повседневности. Фреймворк OpenAgents построен вокруг трех агентов:

  • Агент данных: Помогает с анализом данных с использованием инструментов для работы с данными, таких как SQL или языки программирования, такие как Python.
  • Агенты плагинов: Предоставляет доступ к более чем 200 API-инструментам, полезным для ежедневных задач.
  • Агенты веба: Помогает в просмотре веба, сохраняя вашу анонимность.

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

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

OpenAgents и языковые агенты: введение

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

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

В попытке разработать интеллектуальных и языковых агентов, основанных на LLM, для более широкой пользовательской базы, крупные игроки, такие как OpenAI и Microsoft, разработали ряд хорошо продуманных продуктов, включая Advanced Data Analysis, также известный как Code Interpreter, и плагины для браузера. Хотя эти агенты эффективны в своих функциях, они оказывают ограниченную помощь разработчикам. Это ограничение связано с тем, что код бизнес-логики и реализации модели не являются открытыми исходными кодами, что затрудняет возможности для их дальнейшего изучения разработчиками и исследователями, а также ограничивает бесплатный доступ для пользователей.

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

  • Агент данных: Помогает с анализом данных с использованием инструментов для работы с данными, таких как SQL или языки программирования, такие как Python.
  • Агенты плагинов: Предоставляет доступ к более чем 200 API-инструментам, полезным для ежедневных задач.
  • Агенты веба: Помогает в просмотре веба, сохраняя вашу анонимность.

На следующей фигуре показана платформа OpenAgents для общих пользователей, разработчиков и исследователей.

  1. Вместо использования пакета или консоли, ориентированной на программистов, обычные пользователи могут взаимодействовать с тремя агентами в фреймворке OpenAgents с помощью онлайн-веб-интерфейса.
  2. Разработчики могут использовать бизнес-логику и исследовательские коды, предоставленные фреймворком OpenAgents, для безпроблемного развертывания бэкенда и фронтенда для дальнейшей разработки.
  3. Исследователям предоставляется гибкость создания новых языковых агентов с нуля или реализации методов, связанных с агентами, с использованием общих компонентов и примеров, и оценки их производительности с использованием веб-интерфейса.

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

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

На следующей фигуре мы сравниваем фреймворк OpenAgents непосредственно с существующими работами на фигурных на бенчмарках о концепции агента и создании прототипов.

OpenAgents: Дизайн и реализация платформы

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

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

Пользовательский интерфейс

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

Языковой агент

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

Агенты OpenAgents

В основе OpenAgents находятся три отдельных агента: Data Agent, который помогает с анализом данных с использованием инструментов для работы с данными и языками запросов, таких как SQL или языки программирования, такие как Python, Plugin Agents, которые помогают, предоставляя доступ к более чем 200+ инструментам API, полезным для повседневных задач, и Web Agents, которые помогают в просмотре веб-страниц, сохраняя при этом вашу анонимность. Эти агенты обладают отдельной областью экспертизы, аналогичной плагинам ChatGPT, однако, в отличие от ChatGPT, реализация в OpenAgents основана исключительно на открытом языковом интерфейсе приложений или API.

Агент данных

Агент данных в рамках фреймворка OpenAgents разработан и развернут таким образом, чтобы справляться с широким спектром задач, связанных с данными, с которыми пользователи сталкиваются на регулярной основе. Агенты данных поддерживают генерацию и выполнение кода на двух языках программирования, а именно SQL и Python, и у агента также есть несколько инструментов для работы с данными в его распоряжении, включая Профилирование данных для предоставления основной информации о данных, поиск данных в Kaggle и инструмент ECharts для построения интерактивных графиков ECharts. Кроме того, фреймворк OpenAgents стимулирует агента данных использовать эти инструменты проактивно для эффективного отклика на запросы пользователей. Кроме того, имея исчерпывающие требования к кодированию, фреймворк OpenAgents использует встроенные языковые модели для агента данных, и вместо того, чтобы агент генерировал код, это инструменты, такие как Python, ECharts и SQL, генерируют код. С таким подходом фреймворк полностью использует возможности программирования языковых моделей и тем самым снижает нагрузку на агента данных.

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

Агент плагинов

Агент плагинов в рамках фреймворка OpenAgents разработан разработчиками тщательно, чтобы удовлетворить многосторонние требования пользователей в повседневных задачах, включая поиск в интернете, онлайн-шопинг, чтение новостей или создание веб-сайтов и приложений, предоставляя доступ к более чем 200 плагинам, особое внимание уделяется интерфейсу вызова функций, API-запросам и длине ответов API. Некоторые из примечательных плагинов включают:

  1. Поиск в Google
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Show Me
  7. Speak
  8. AskYourPDF
  9. BizTok
  10. Klook

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

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

Веб-агенты

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

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

OpenAgents: Практические применения и внедрение в реальный мир

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

Использование подсказок для преобразования больших языковых моделей в реальные приложения

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

Неуправляемые факторы реального мира

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

Сложность оценки

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

Финальные мысли

В этой статье мы рассказали о фреймворке OpenAgents, открытой платформе для хостинга и развертывания языковых агентов на различных повседневных задачах. Фреймворк OpenAgents построен вокруг трех агентов: Data Agent, помогающего с анализом данных с использованием инструментов для работы с данными, таких как SQL или языки программирования, такие как Python, Plugin Agents, обеспечивающего доступ к более чем 200 инструментам API, полезным для ежедневных задач, и Web Agents, помогающего в просмотре веб-страниц, сохраняя анонимность. Фреймворк OpenAgents использует веб-интерфейс, оптимизированный для обработки ошибок и быстрых ответов, чтобы позволить обычным пользователям взаимодействовать с функциями агента, а также предлагает исследователям и разработчикам плавный опыт развертывания на их локальных настройках. Предоставляя прозрачную, всестороннюю и развертываемую платформу, OpenAgents стремится сделать потенциал LLM доступным для широкого круга пользователей, не ограничиваясь исследователями и разработчиками, но также охватывая конечных пользователей с ограниченными техническими навыками.