Connect with us

MetaGPT: Полное Руководство по Лучшему ИИ-Агенту, Доступному Сейчас

AGI

MetaGPT: Полное Руководство по Лучшему ИИ-Агенту, Доступному Сейчас

mm
MetaGPBassed Illustration of human and machine collaborationT

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

В прошлый раз мы углубились в AutoGPT и GPT-Engineering, ранние открыточные LLM-основанные ИИ-агенты, предназначенные для автоматизации сложных задач. Хотя они были перспективными, эти системы имели свою долю проблем: непоследовательные результаты, проблемы с производительностью и ограничения в обработке многогранных требований. Они показывают умение в генерации кода, но их возможности часто останавливаются там. Они лишены критически важных функций управления проектами, таких как генерация PRD, генерация технического дизайна и прототипирование интерфейса API.

Вступает MetaGPT — многоагентная система, которая использует Большие Языковые модели от Sirui Hong, объединяющая Стандартизированные Процедуры Операций (SOP) с LLM-основанными многоагентными системами. Этот возникающий парадигма нарушает существующие ограничения LLM в содействии эффективному сотрудничеству и разложению задач в сложных, реальных приложениях.

Красота MetaGPT заключается в его структуре. Он использует мета-программные техники для манипулирования, анализа и преобразования кода в реальном времени. Цель? Реализовать гибкую, адаптивную программную архитектуру, которая может адаптироваться к динамическим программным задачам.

Agile Development - Metagpt

Agile Development

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

Понимание Фреймворка MetaGPT

Основные и Сотруднические Слои

Архитектура MetaGPT разделена на два слоя: Основные Компоненты Слоя и Сотруднический Слой.

  1. Основные Компоненты Слой: Этот слой фокусируется на индивидуальных операциях агентов и облегчает обмен информацией в системе. Он вводит основные строительные блоки, такие как Окружение, Память, Роли, Действия и Инструменты. Окружение задает сцену для общих рабочих пространств и каналов связи, в то время как Память служит историческим архивом данных. Роли инкапсулируют доменное специфическое опыта, Действия выполняют модульные задачи, и Инструменты предлагают общие услуги. Этот слой по сути служит операционной системой для агентов. Более подробную информацию о том, как они работают вместе, можно найти в статье ‘Beyond ChatGPT; AI Agent: A New World of Workers
  2. Сотруднический Слой: Построенный на основе основых компонентов, этот слой управляет и оптимизирует сотруднические усилия индивидуальных агентов. Он вводит два механизма: Обмен Знаниями и Инкапсуляция Работ.
    • Обмен Знаниями: Это действует как сотрудническая связь, которая объединяет агентов вместе. Агенты могут хранить, извлекать и делиться информацией на различных уровнях, тем самым уменьшая избыточность и повышая операционную эффективность.
    • Инкапсуляция Работ: Это то место, где Стандартизированные Процедуры Операций (SOP) вступают в игру. 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, CodeT, и даже GPT-4, MetaGPT превосходит их всех. Способность фреймворка достигать 81,7% до 82,3% показателя Pass@1 на HumanEval и MBPP бенчмарках.

Сравнение метрик MBPP и HumanEval между MetaGPT и другими ведущими моделями (https://arxiv.org/pdf/2308.00352.pdf)

Сравнение метрик MBPP и HumanEval между 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 или 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 - Проектирование Системы Markdown

Выход MetaGPT – Проектирование Системы 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.

Я провел последние пять лет, погружаясь в увлекательный мир Machine Learning и Deep Learning. Моя страсть и экспертиза привели меня к участию в более чем 50 различных проектах по разработке программного обеспечения, с особым акцентом на AI/ML. Мое непрекращающееся любопытство также привело меня к Natural Language Processing, области, которую я с нетерпением жду возможности изучить более подробно.