Моделі та платформи ШІ
OpenAgents: відкрита платформа для мовних агентів у реальних умовах
Нещодавні розробки продемонстрували, що мовні агенти, особливо ті, які побудовані на великих мовних моделях (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 для звичайних користувачів, розробників та дослідників.

- Замість використання орієнтованого на програміста пакета або консолі, звичайні користувачі можуть взаємодіяти з трьома агентами у фреймворку OpenAgents за допомогою онлайн-веб-інтерфейсу.
- Розробники можуть використовувати бізнес-логіку та дослідницькі коди, надані фреймворком OpenAgents, щоб безперебійно розгорнути бекенд та фронтенд для подальших розробок.
- Дослідники мають гнучкість у виборі між побудовою нових мовних агентів з нуля або імплементацією агент-пов’язаних методів за допомогою спільних компонентів та прикладів, а також оцінкою їхньої продуктивності за допомогою веб-інтерфейсу.
Підсумувавши, фреймворк OpenAgents спочатку призначений бути цілісною та реалістичною платформою для оцінки мовних агентів з людиною в циклі, яка дозволяє користувачам взаємодіяти з цими агентами для виконання широкого спектру завдань, а ці взаємодії людини та агента разом з відгуками користувачів зберігаються та аналізуються для подальшого розвитку та оцінки.
Для тих, хто не знає, формування промптів для LLM – це процес, який дозволяє розробникам створювати інструкції, які захищають проти шкідливих або неправильних входів, підвищують естетику виходу та відповідають бекенд-логіці. Під час фази розробки розробники, які працюють над фреймворком OpenAgents, використовують метод формування промптів для LLM, щоб підкреслити значення ефективного визначення вимог застосунку. Однак розробники скоро помітили, що накопичення цих інструкцій або промптів для LLM може бути суттєвим у деяких випадках, що може вплинути на можливості обробки контексту фреймворків 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 Search
- 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 доступним для ширшої аудиторії користувачів, не обмежених лише дослідниками та розробниками, але також кінцевими користувачами з обмеженими технічними знаннями.












