AGI та майбутній ШІ
MetaGPT: Повний посібник з найкращого доступного зараз штучного інтелекту
З великими мовними моделями (LLM) як ChatGPT, OpenAI бачить зростання прийняття підприємства та користувачів, зараз заробляючи близько 80 мільйонів доларів щомісяця. За даними недавньої звіту The Information, компанія з Сан-Франциско, як повідомляється, знаходиться на шляху до досягнення 1 мільярда доларів щорічного доходу.
Останній раз ми розглядали AutoGPT і GPT-Інженер, ранні відкриті джерела LLM-орієнтованих штучних інтелектів, призначених для автоматизації складних завдань. Хоча ці системи мали свої проблеми: невідповідні результати, обмеження продуктивності та обмеження при обробці багатовимірних вимог. Вони демонструють професіоналізм у генерації коду, але їхні можливості часто зупиняються там. їм бракує критичних функцій управління проєктами, таких як генерація PRD, генерація технічного дизайну та прототипування інтерфейсу API.
Вступіть у MetaGPT – багатокомпонентну систему, яка використовує великі мовні моделі за допомогою Sirui Hong, що поєднує стандартизовані операційні процедури (SOP) з LLM-орієнтованими багатокомпонентними системами. Ця нова парадигма порушує існуючі обмеження LLM при сприянні ефективному співробітництву та розкладанню завдань у складних реальних додатках.
Краса MetaGPT полягає в її структуризації. Вона використовує техніки метапрограмування для маніпулювання, аналізу та перетворення коду в режимі реального часу. Мета? Реалізувати гнучку, адаптивну програмну архітектуру, яка може адаптуватися до динамічних завдань програмування.
SOPs діють як метафункція тут, координуючи агентів для автогенерації коду на основі визначених входів. У простих термінах, це як якщо б ви перетворили високоорганізовану команду програмістів у адаптивну, інтелектуальну програмну систему.
Розуміння MetaGPT Framework

MetaGPT Framework (https://arxiv.org/pdf/2308.00352.pdf)
Основні та співробітницькі шари
Архітектура MetaGPT розділена на два шари: Основні компоненти шар та Співробітницький шар.
- Основні компоненти шар: Цей шар зосереджується на індивідуальних операціях агентів та забезпечує системний обмін інформацією. Він вводить основні будівельні блоки, такі як Середовище, Пам’ять, Ролі, Дії та Інструменти. Середовище створює сцену для спільних робочих просторів та шляхів спілкування, тоді як Пам’ять служить архівом історичних даних. Ролі охоплюють галузеві знання, Дії виконують модульні завдання, а Інструменти пропонують загальні послуги. Цей шар фактично служить операційною системою для агентів. Більше інформації про те, як вони працюють разом, доступно в статті ‘Beyond ChatGPT; AI Agent: A New World of Workers‘
- Співробітницький шар: Будований на основі основних компонентів, цей шар керує та оптимізує співробітницькі зусилля індивідуальних агентів. Він вводить два механізми: Обмін знаннями та Інкапсуляція робочих процесів.
- Обмін знаннями: Це діє як співробітницька ґрунт, яка зв’язує агентів разом. Агенти можуть зберігати, відновлювати та обмінюватися інформацією на різних рівнях, тим самим зменшуючи надмірність та підвищуючи операційну ефективність.
- Інкапсуляція робочих процесів: Це місце, де стандартизовані операційні процедури (SOP) вступають у гру. SOP діють як блупринти, які розбивають завдання на керованих компонентів. Агентам призначені ці підзадачі, а їхня продуктивність узгоджується зі стандартизованими виходами.
MetaGPT також використовує “Визначення ролей“, щоб ініціювати різні спеціалізовані агенти, такі як Продуктові менеджери, Архітектори тощо. Ці ролі характеризуються ключовими атрибутами, такими як ім’я, профіль, мета, обмеження та опис.
Крім того, “Агенти-анкери” забезпечують ролеву орієнтацію для цих агентів. Наприклад, роль Продуктового менеджера може бути ініціалізована з обмеженням “ефективного створення успішного продукту”. Агенти-анкери забезпечують, що поведінка агентів узгоджується з загальними цілями, тим самим оптимізуючи продуктивність.
Когнітивні процеси в MetaGPT агентах
MetaGPT може спостерігати, думати, відображати та діяти. Вони діють через конкретні поведінкові функції, такі як _think(), _observe(), _publish_message() тощо. Це когнітивне моделювання забезпечує агентів активними учнями, які можуть адаптуватися та еволюціонувати.
- Спостерігати: Агенти сканують своє середовище та інкорпорують ключові дані у свою Пам’ять.
- Думати та Відображати: Через функцію
_think()ролі обдумують перед тим, як виконувати дії. - Транслювати повідомлення: Агенти використовують
_publish_message(), щоб поділитися поточними статусами завдань та пов’язаними записами дій. - Осадження знань та Діяти: Агенти оцінюють входящі повідомлення та оновлюють свої внутрішні репозиторії перед тим, як вирішити про наступний курс дії.
- Керування станом: З функціями, такими як блокування завдань та оновлення статусу, ролі можуть обробляти кілька дій послідовно без переривання, відображаючи реальне людське співробітництво.
Механізми перевірки коду для MetaGPT
Перевірка коду є критичним компонентом у життєвому циклі розробки програмного забезпечення, проте вона відсутня у кількох популярних рамках. І MetaGPT, і AgentVerse підтримують можливості перевірки коду, проте MetaGPT йде далі. Він також включає виконання до компіляції, яке допомагає у ранньому виявленні помилок та підвищенні якості коду. Враховуючи ітеративний характер кодування, ця функція не просто додаток, а вимога для будь-якої зрілої розробної рамки.
Кількісні експерименти, проведені за кількома завданнями, показали, що MetaGPT перевершив своїх конкурентів майже у кожному сценарії. Pass@1 є мірою здатності рамки генерувати точний код за один ітерацію. Ця метрика пропонує більш реалістичне відображення корисності рамки у практичному середовищі. Вищий рівень Pass@1 означає менше налагодження та більшу ефективність, безпосередньо впливаючи на цикли розробки та витрати. Коли порівнюється з іншими передовими інструментами генерації коду, такими як CodeX, CodeT та навіть GPT-4, MetaGPT перевершив їх усіх. Можливість рамки досягти рівня Pass@1 у 81,7% до 82,3% на HumanEval та MBPP бенчмарках.

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)
Рамка також використовує менше токенів та обчислювальних ресурсів, досягнувши високого успіху при фракції традиційних витрат на розробку програмного забезпечення. Дані вказували на середню вартість лише $1.09 за проєкт з MetaGPT, що є лише фракцією того, що розробник би заробив за те саме завдання.
Кроки для локальної установки MetaGPT на вашій системі
NPM, Python Інсталяція
- Перевірте та встановіть NPM: Перш за все, переконайтесь, що NPM встановлений на вашій системі. Якщо ні, вам потрібно буде встановити node.js. Для перевірки наявності npm виконайте команду в терміналі:
npm --version. Якщо ви бачите номер версії, ви готові. - Для встановлення
mermaid-js, залежності для MetaGPT, виконайте:sudo npm install -g @mermaid-js/mermaid-cliабоnpm install -g @mermaid-js/mermaid-cli - Перевірте версію Python: Переконайтесь, що у вас встановлено Python 3.9 або вище. Для перевірки версії Python відкрийте термінал та введіть:
python --version. Якщо ви не оновлені, завантажте останню версію з офіційного сайту Python. - Клонуйте репозиторій MetaGPT: Почніть з клонування репозиторію MetaGPT на GitHub за допомогою команди
git clone https://github.com/geekan/metagpt. Переконайтесь, що у вас встановлено Git на вашій системі для цього. Якщо ні, відвідайте цей сайт. - Перейдіть до каталогу: Як тільки клоновано, перейдіть до каталогу MetaGPT за допомогою команди
cd metagpt. - Встановлення: Виконайте скрипт установки Python для встановлення MetaGPT за допомогою команди
python setup.py install. - Створіть додаток: Виконайте
python startup.py "ENTER-PROMPT" --code_review True
Примітка:
- Ваш новий проєкт тепер повинен бути у каталозі
workspace/. --code_review Trueдозволить моделі GPT виконувати додаткові операції, які забезпечать точне виконання коду, проте зверніть увагу, що це буде коштувати більше.- Якщо ви зустрічаєте помилку дозволу під час встановлення, спробуйте виконати
python setup.py install --userяк альтернативу. - Для доступу до конкретних випусків та додаткової інформації відвідайте офіційну сторінку випусків MetaGPT на GitHub: Випуски MetaGPT.
Докер Інсталяція
Для тих, хто віддає перевагу контейнеризації, Docker спрощує процес:
- Потягніть образ Докера: Завантажте офіційний образ MetaGPT та підготуйте файл конфігурації:
docker pull metagpt/metagpt:v0.3.1mkdir -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. Ось кроки для цього:
- Знайдіть або згенеруйте свій ключ OpenAI: Ви можете знайти цей ключ у своєму панелі керування OpenAI у налаштуваннях API.
- Встановіть ключ API: У вас є можливість розмістити ключ API у
config/key.yaml,config/config.yamlабо встановити його як змінну середовища (env). Пріоритетний порядок:config/key.yaml > config/config.yaml > env. - Для встановлення ключа перейдіть до
config/key.yamlта замініть текст-заповнювач на свій ключ OpenAI:OPENAI_API_KEY: "sk-..."
Пам’ятайте про безпеку свого ключа OpenAI API. Ніколи не комітуйте його у публічний репозиторій або не діліться ним з необмеженими особами.
Ілюстрація випадків використання
Я дав завдання розробити CLI-орієнтовану гру в камінь, ножиці та папір, і MetaGPT успішно виконав це завдання.
Нижче знаходиться відео, яке демонструє фактичний запуск згенерованого коду гри.
Демо-запуск MetaGPT
MetaGPT надав документ проєктної документації у форматі Markdown – широко використовуваної легкої мови розмітки. Цей файл Markdown був наповнений діаграмами UML, пропонуючи детальний погляд на архітектурний блупрінт. Крім того, специфікації API були деталізовані з методами HTTP, кінцевими точками, об’єктами запитів/відповідей та кодами стану
Діаграма класу деталізує атрибути та методи нашого Game класу, пропонуючи абстракцію, яку легко зрозуміти. Він навіть візуалізує потік виклику програми, ефективно перетворюючи абстрактні ідеї у конкретні кроки.
Не тільки це значно зменшує ручний наклад у плануванні, але й прискорює процес прийняття рішень, забезпечуючи, що ваша розробна труба залишається гнучкою. З MetaGPT ви не тільки автоматизуєте генерацію коду, а й автоматизуєте інтелектуальне планування проєкту, забезпечуючи конкурентну перевагу у швидкій розробці застосунків.
Висновок: MetaGPT – революціонізує розробку програмного забезпечення
MetaGPT переінакшує ландшафт генерації штучного інтелекту та розробки програмного забезпечення, пропонуючи безшовне поєднання інтелектуальної автоматизації та гнучкого управління проєктами. Значно перевершуючи можливості ChatGPT, AutoGPT та традиційних моделей LangChain, він виділяється у розкладанні завдань, ефективній генерації коду та плануванні проєкту. Дізнайтеся більше про
Ось ключові висновки з цієї статті:
- Сила метапрограмування: Використовуючи метапрограмування, MetaGPT пропонує гнучку та адаптивну програмну рамку. Він перевершує вузьку функціональність спадкових інструментів та вводить трансформаційну підхід, який займається не тільки кодуванням, а й управлінням проєктами та прийняттям рішень.
- Двошарова архітектура: З своїми основними та співробітницькими шарами MetaGPT ефективно створює синергетичну екосистему, у якій агенти можуть працювати узгоджено, подібно до експертно керованої команди програмістів.
- Оптимізована перевірка коду: Поза генерацією коду MetaGPT пропонує виконання до компіляції, яке є системою раннього виявлення помилок. Це не тільки економить час налагодження, а й забезпечує якість коду.
- Когнітивні агенти: Інтелектуальні агенти MetaGPT, наповнені когнітивними функціями, такими як
_observe(),_think()та_publish_message(), еволюціонують та адаптуються, забезпечуючи, що ваше програмне рішення не тільки кодується, а й є “інтелектуальним”. - Встановлення та розгортання: Ми показали, що MetaGPT можна легко встановити, чи то через локальну інсталяцію за допомогою npm та Python, чи через контейнеризацію за допомогою Docker.















