Модели и платформы ИИ

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

mm
Добавьте Unite.AI в избранные источники в Google

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Три основных компонента — интерфейс инструментов, языковая модель и среда. Инструкции задают последовательность наблюдение→обдумывание→действие и побуждают LLM создавать текст, пригодный для эффективного машинного разбора. Парсеры интерфейса преобразуют его в исполняемые действия, например вызовы API или генерацию кода. Система выполняет эти действия в пределах соответствующей среды.

Агенты OpenAgents

Агенты данных, плагинов и веб-навигации обладают собственной предметной специализацией, подобно плагинам ChatGPT. Однако реализация OpenAgents построена на открытых API языковых моделей.

Агент данных

Он предназначен для повседневных задач с данными и поддерживает генерацию и выполнение кода на SQL и Python. Data Profiling предоставляет основные сведения о данных, Kaggle Data Search ищет наборы данных, ECharts Tool строит интерактивные диаграммы. Агент получает указание активно использовать эти инструменты для ответа на запросы.

Из-за большого объёма программирования языковые модели встроены в инструменты. Код генерирует не сам агент, а инструменты Python, ECharts и SQL. Это позволяет использовать возможности моделей в программировании и снижает нагрузку на агента. В результате он не ограничивается созданием текста и кода, а выполняет визуализацию, преобразование и запросы к данным.

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

Более 200 плагинов помогают искать информацию, совершать онлайн-покупки, читать новости, создавать сайты и приложения. Особое внимание уделено интерфейсу вызова функций, обращениям к API и длине ответов. Среди примеров — Google Search, Wolfram Alpha, Zapier, Klarna, Coursera, Show Me, Speak, AskYourPDF, BizTok и Klook.

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

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

Веб-агент

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

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

Практическое применение и развёртывание в реальном мире

Переход от теории к эксплуатации выявил ряд проблем и сложностей оценки.

Инструкции для превращения LLM в реальные приложения

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

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

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

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

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

Заключение

OpenAgents — открытая платформа для размещения и развёртывания языковых агентов в реальных условиях. Она объединяет анализ данных, более 200 API-инструментов и веб-навигацию в трёх агентах с веб-интерфейсом для обычных пользователей. Интерфейс учитывает распространённые сбои и необходимость быстрых ответов, а исследователи и разработчики могут разворачивать платформу локально. Прозрачный, целостный и пригодный к развёртыванию подход открывает потенциал LLM людям с ограниченной технической подготовкой.

Kunal Kejriwal — backend‑инженер, специализирующийся на Python, PostgreSQL, Redis и облачной инфраструктуре в GCP и AWS. Имея три года опыта в построении и масштабировании программных систем в рабочей среде, он пишет об инфраструктуре ИИ, распределённых системах и архитектуре развертывания нагрузок машинного обучения.