заглушки MetaGPT: повний путівник щодо найкращого AI-агента, доступного прямо зараз – Unite.AI
Зв'язатися з нами

Штучний загальний інтелект

MetaGPT: повний посібник із найкращого агента зі штучним інтелектом, доступного прямо зараз

mm

опублікований

 on

MetaGPBassed Ілюстрація взаємодії людини та машиниT

Завдяки великим мовним моделям (LLM), таким як ChatGPT, OpenAI став свідком стрімкого впровадження на підприємствах і користувачах, наразі одержуючи близько 80 мільйонів доларів щомісячного доходу. За словами а недавній звіт Як повідомляє The Information, компанія, що базується в Сан-Франциско, має намір досягти 1 мільярда доларів річного доходу.

Минулого разу ми вникали AutoGPT і GPT-Інжиніринг, перші мейнстримні агенти штучного інтелекту з відкритим вихідним кодом на основі LLM, призначені для автоматизації складних завдань. Незважаючи на те, що ці системи були багатообіцяючими, вони мали достатню частку проблем: суперечливі результати, вузькі місця продуктивності та обмеження в обробці багатогранних вимог. Вони демонструють майстерність у створенні коду, але їхні можливості часто закінчуються цим. Їм бракує критично важливих функцій управління проектами, як-от створення PRD, створення технічного дизайну та прототипування інтерфейсу API.

Що натомість? Створіть віртуальну версію себе у MetaGPT— Мультиагентна система, яка використовує моделі Large Language від Sirui Hong, поєднує стандартизовані операційні процедури (SOP) із багатоагентними системами на основі LLM. Ця нова парадигма руйнує існуючі обмеження LLM у сприянні ефективній співпраці та декомпозиції завдань у складних реальних програмах.

Краса MetaGPT полягає в його структуруванні. Він використовує методи метапрограмування для маніпулювання, аналізу та трансформації коду в режимі реального часу. Мета? Актуалізувати гнучку, гнучку архітектуру програмного забезпечення, яке може адаптуватися до завдань динамічного програмування.

Гнучка розробка - Metagpt

Спритний розвиток

SOP діють тут як метафункції, координуючи агентів для автоматичного створення коду на основі визначених вхідних даних. Простіше кажучи, це ніби ви перетворили добре скоординовану команду інженерів програмного забезпечення на адаптовану інтелектуальну програмну систему.

Розуміння фреймворку MetaGPT

Основні рівні та рівні співпраці

Архітектура MetaGPT поділена на два рівні: рівень основних компонентів і рівень співпраці.

  1. Шар фундаментальних компонентів: Цей рівень зосереджений на окремих операціях агента та полегшує обмін інформацією в системі. Він представляє основні будівельні блоки, такі як середовище, пам’ять, ролі, дії та інструменти. Середовище закладає основу для спільних робочих просторів і шляхів зв’язку, а пам’ять служить архівом історичних даних. Ролі інкапсулюють знання, що стосуються конкретної області, Дії виконують модульні завдання, а Інструменти пропонують загальні служби. Цей рівень по суті служить операційною системою для агентів. Докладніше про те, як вони працюють разом, можна знайти в статті "За межами ChatGPT; AI Agent: A New World of Workers"
  2. Рівень співпраці: створений на основі основних компонентів, цей рівень керує спільними зусиллями окремих агентів і оптимізує їх. Він представляє два механізми: обмін знаннями та інкапсуляція робочих процесів.
    • Обмін знаннями: це діє як спільний клей, який зв’язує агентів. Агенти можуть зберігати, отримувати та обмінюватися інформацією на різних рівнях, таким чином зменшуючи надмірність і підвищуючи ефективність роботи.
    • Інкапсуляція робочих процесів: тут вступають у дію стандартизовані операційні процедури (SOP). СОП діють як плани, які розбивають завдання на керовані компоненти. Агентам призначаються ці підзавдання, і їх продуктивність узгоджується зі стандартизованими результатами.

MetaGPT також використовує "Визначення ролей”, щоб ініціювати різних спеціалізованих агентів, таких як менеджери з продуктів, архітектори тощо, як ми обговорювали вище. Ці ролі характеризуються такими ключовими атрибутами, як ім’я, профіль, мета, обмеження та опис.

Крім того, "Якірні агенти” надає вказівки для цих агентів. Наприклад, роль менеджера продукту може бути ініціалізована з обмеженням «ефективне створення успішного продукту». Агенти-прив’язки гарантують, що поведінка агентів узгоджується з основними цілями, тим самим оптимізуючи продуктивність.

Когнітивні процеси в агентах MetaGPT

MetaGPT може спостерігати, думати, розмірковувати та діяти. Вони діють через певні поведінкові функції, наприклад _think(), _observe(), _publish_message(), тощо. Це когнітивне моделювання готує агентів бути активними учнями, які можуть адаптуватися та розвиватися.

  1. Спостерігати: Агенти сканують своє середовище та вводять ключові дані у свою пам’ять.
  2. Думай і розмірковуй: Крізь _think() функція, ролі обмірковані перед тим, як починати дії.
  3. Трансляція повідомлень: Використані агенти _publish_message() для обміну поточними статусами завдань і відповідними записами дій.
  4. Опади знань і дію: Агенти оцінюють вхідні повідомлення та оновлюють свої внутрішні сховища, перш ніж прийняти рішення щодо подальших дій.
  5. Державне управління: завдяки таким функціям, як блокування завдань і оновлення статусу, ролі можуть обробляти кілька дій послідовно без перерви, віддзеркалюючи реальну співпрацю людей.

Механізми перевірки коду для MetaGPT

Перевірка коду є критично важливим компонентом життєвого циклу розробки програмного забезпечення, але вона відсутня в кількох популярних фреймворках. І MetaGPT, і AgentVerse підтримує можливості перевірки коду, але MetaGPT йде ще далі. Він також включає виконання попередньої компіляції, що допомагає ранньому виявленню помилок і згодом підвищує якість коду. Враховуючи ітераційний характер кодування, ця функція є не просто доповненням, а обов’язковою умовою для будь-якої зрілої системи розробки.

Кількісні експерименти, проведені в кількох завданнях, показали, що MetaGPT перевершує своїх аналогів майже в кожному сценарії. Pass@1 — це показник здатності фреймворку генерувати точний код за одну ітерацію. Цей показник пропонує більш реалістичне відображення корисності фреймворку в практичних умовах. Вищий показник Pass@1 означає менше налагодження та більшу ефективність, що безпосередньо впливає на цикли розробки та витрати. У порівнянні з іншими передовими інструментами генерації коду, такими як CodeX, Код Т, і навіть GPT-4, MetaGPT перевершує їх усіх. Здатність фреймворку досягати 81.7% до 82.3% Увімкнено ставку Pass@1 HumanEval та MBPP еталони.

Порівняння MBPP і HumanEval Metrics b/w MetaGPT та інших провідних моделей (https://arxiv.org/pdf/2308.00352.pdf)

Порівняння MBPP і HumanEval Metrics b/w MetaGPT та інших провідних моделей (https://arxiv.org/pdf/2308.00352.pdf)

Фреймворк також використовує менше токенів і обчислювальних ресурсів, досягаючи високого рівня успіху за незначну частку витрат на розробку традиційного програмного забезпечення. Дані вказують на середню вартість всього $1.09 за проект із MetaGPT, що становить лише незначну частину суми, яку розробник стягував би за те саме завдання.

Кроки для локального встановлення MetaGPT у вашій системі

NPM, встановлення Python

  1. Перевірте та встановіть NPM: Перш за все переконайтеся, що у вашій системі встановлено NPM. Якщо ні, вам потрібно буде встановити Node.js. Щоб перевірити, чи є у вас npm, виконайте цю команду у своєму терміналі: npm --version. Якщо ви бачите номер версії, все готово.
  2. Для установки mermaid-js, залежність для MetaGPT, запустіть: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Перевірте версію Python: Переконайтеся, що у вас Python 3.9 або вище. Щоб перевірити свою версію Python, відкрийте термінал і введіть: python --version. Якщо у вас немає останніх версій, завантажте останню версію з Офіційний сайт Python.
  4. Клонуйте репозиторій MetaGPT: Почніть із клонування репозиторію MetaGPT GitHub за допомогою команди git clone https://github.com/geekan/metagpt. Для цього переконайтеся, що у вашій системі встановлено Git. Якщо ні, відвідайте тут.
  5. Перейдіть до каталогу: Після клонування перейдіть до каталогу MetaGPT за допомогою команди cd metagpt.
  6. установка: Виконайте сценарій налаштування Python, щоб установити MetaGPT за допомогою команди python setup.py install.
  7. Створення програми: Виконати python startup.py "ENTER-PROMPT" --code_review True

примітки:

  • Ваш новий проект тепер має бути в workspace/ каталог.
  • --code_review True дозволить моделі GPT виконувати додаткові операції, які забезпечать точну роботу коду, але зауважте, що це коштуватиме більше.
  • Якщо під час встановлення виникне помилка дозволу, спробуйте запустити python setup.py install --user як альтернатива.
  • Щоб отримати доступ до конкретних випусків і отримати додаткові відомості, відвідайте офіційну сторінку випусків MetaGPT GitHub: Випуски MetaGPT.

Встановлення Docker

Для тих, хто віддає перевагу контейнеризації, Docker спрощує процес:

  • Витягніть зображення Docker: Завантажте офіційний образ MetaGPT і підготуйте файл конфігурації:
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • Запустіть контейнер MetaGPT: Виконайте контейнер за такою командою:
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

Налаштування MetaGPT за допомогою ключа OpenAI API

Після початкового налаштування вам потрібно буде інтегрувати MetaGPT із вашим ключем OpenAI API. Щоб це зробити, виконайте наведені нижче дії.

  1. Знайдіть або згенеруйте свій ключ OpenAI: ви можете знайти цей ключ на інформаційній панелі OpenAI у налаштуваннях API.
  2. Встановіть ключ API: Ви можете розмістити ключ API в будь-якому config/key.yaml, config/config.yamlабо встановіть його як змінну середовища (env). Порядок пріоритету є config/key.yaml > config/config.yaml > env.
  3. Щоб встановити ключ, перейдіть до config/key.yaml і замініть текст заповнювача своїм ключем OpenAI: OPENAI_API_KEY: "sk-..."

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

Ілюстрація випадку використання

Я поставив завдання розробити гру камінь, ножиці та папір на основі CLI, і MetaGPT успішно виконав це завдання.

Нижче наведено відео, яке демонструє фактичний запуск згенерованого коду гри.

Демо-запуск MetaGPT

MetaGPT надав документ проектування системи у Markdown — широко використовуваній спрощеній мові розмітки. Цей файл Markdown був переповнений діаграмами UML, що пропонувало детальне уявлення про архітектурний план. Крім того, специфікації API були деталізовані методами HTTP, кінцевими точками, об’єктами запиту/відповіді та кодами стану

Вихід MetaGPT – Дизайн системи

MetaGPT Output – System Design Markdown

Діаграма класів детально описує атрибути та методи нашого Game клас, надаючи абстракцію, яку легко зрозуміти. Він навіть візуалізує потік викликів програми, ефективно перетворюючи абстрактні ідеї на реальні кроки.

Це не тільки значно зменшує накладні витрати вручну на планування, але й прискорює процес прийняття рішень, гарантуючи, що ваш конвеєр розробки залишається гнучким. За допомогою MetaGPT ви не просто автоматизуєте генерацію коду, ви автоматизуєте інтелектуальне планування проекту, таким чином забезпечуючи конкурентну перевагу у швидкій розробці програм.

Висновок: MetaGPT — революція в розробці програмного забезпечення

MetaGPT переосмислює ландшафт генеративного ШІ та розробки програмного забезпечення, пропонуючи повне поєднання інтелектуальної автоматизації та гнучкого керування проектами. Набагато перевершуючи можливості ChatGPT, AutoGPT і традиційних моделей LangChain, він чудово підходить для декомпозиції завдань, ефективної генерації коду та планування проекту. Дізнайтеся більше на

Ось основні висновки цієї статті:

  1. Сила мета-програмування: Завдяки метапрограмуванню MetaGPT забезпечує гнучку та адаптивну структуру програмного забезпечення. Він виходить за рамки вузької функціональності застарілих інструментів і запроваджує трансформаційний підхід, який стосується не лише кодування, але й аспектів управління проектами та прийняття рішень.
  2. Двошарова архітектура: за допомогою базового рівня та рівня співпраці MetaGPT ефективно створює синергетичну екосистему, де агенти можуть працювати злагоджено, подібно до команди програмного забезпечення, керованої експертами.
  3. Оптимізований огляд коду: Окрім простого генерування коду, MetaGPT пропонує функції попереднього виконання компіляції, що, по суті, є системою раннього попередження про помилки. Це не тільки економить час налагодження, але й забезпечує якість коду.
  4. Когнітивні агенти: інтелектуальні агенти MetaGPT, наповнені такими когнітивними функціями, як _observe(), _think() і _publish_message(), розвиваються та адаптуються, гарантуючи, що ваше програмне рішення не просто закодовано, а є «інтелектуальним».
  5. Встановлення та розгортання: Ми продемонстрували, що MetaGPT можна легко налаштувати незалежно від того, віддаєте перевагу локальному встановленню через npm і Python або контейнеризації через Docker.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.