заглушки MetaGPT: полное руководство по лучшему агенту ИИ, доступному прямо сейчас - Unite.AI
Свяжитесь с нами:

Искусственный общий интеллект

MetaGPT: полное руководство по лучшему агенту ИИ, доступному прямо сейчас

mm

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

 on

MetaGPBassed Иллюстрация сотрудничества человека и машиныT

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

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

Enter МетаGPT— Мультиагентная система, использующая модели большого языка от Sirui Hong, объединяет стандартизированные операционные процедуры (SOP) с мультиагентными системами на основе LLM. Эта новая парадигма разрушает существующие ограничения LLM в обеспечении эффективного сотрудничества и декомпозиции задач в сложных реальных приложениях.

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

Гибкая разработка — Метагпт

Agile Development

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

Понимание платформы MetaGPT

Платформа MetaGPT

Платформа MetaGPT (https://arxiv.org/pdf/2308.00352.pdf)

Базовые уровни и уровни сотрудничества

Архитектура MetaGPT разделена на два уровня: уровень фундаментальных компонентов и уровень совместной работы.

  1. Слой основных компонентов: этот уровень фокусируется на операциях отдельных агентов и облегчает общесистемный обмен информацией. В нем представлены основные строительные блоки, такие как среда, память, роли, действия и инструменты. Окружающая среда создает основу для общих рабочих пространств и каналов связи, а Память служит архивом исторических данных. Роли инкапсулируют опыт, специфичный для предметной области, Действия выполняют модульные задачи, а Инструменты предлагают общие услуги. Этот уровень по существу служит операционной системой для агентов. Более подробную информацию о том, как они работают вместе, можно найти в статье 'За пределами ChatGPT; Агент ИИ: новый мир работников"
  2. Уровень сотрудничества: построенный на основе базовых компонентов, этот уровень управляет и оптимизирует совместную работу отдельных агентов. В нем представлены два механизма: обмен знаниями и инкапсуляция рабочих процессов.
    • Обмен знаниями: Это действует как совместный клей, который связывает агентов вместе. Агенты могут хранить, извлекать и обмениваться информацией на разных уровнях, тем самым уменьшая избыточность и повышая операционную эффективность.
    • Инкапсуляция рабочих процессов: Здесь в игру вступают стандартизированные операционные процедуры (СОП). СОПы действуют как чертежи, которые разбивают задачи на управляемые компоненты. Агентам поручаются эти подзадачи, и их производительность соответствует стандартизированным результатам.

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

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

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

MetaGPT может наблюдать, думать, размышлять и действовать. Они действуют через определенные поведенческие функции, такие как _think(), _observe(), _publish_message()и т. д. Такое когнитивное моделирование позволяет агентам быть активными учениками, способными адаптироваться и развиваться.

  1. Наблюдение (Observe): : Агенты сканируют окружающую среду и помещают ключевые данные в свою память.
  2. Думай и размышляй: Сквозь _think() функции, роли обдумываются, прежде чем предпринимать действия.
  3. Широковещательные сообщения: Используемые агенты _publish_message() для обмена текущими статусами задач и соответствующими записями действий.
  4. Осаждение знаний и действие: Агенты оценивают входящие сообщения и обновляют свои внутренние хранилища, прежде чем принять решение о дальнейших действиях.
  5. Государственное управление: Благодаря таким функциям, как блокировка задач и обновление статуса, роли могут обрабатывать несколько действий последовательно, без перерывов, что отражает реальное сотрудничество людей.

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

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

Количественные эксперименты, проведенные по нескольким задачам, показали, что MetaGPT превосходит своих аналогов почти во всех сценариях. Pass@1 — это мера способности платформы генерировать точный код за одну итерацию. Этот показатель предлагает более реалистичное отражение полезности платформы в практических условиях. Более высокий показатель Pass@1 означает меньше отладки и большую эффективность, что напрямую влияет на циклы разработки и затраты. В сочетании с другими продвинутыми инструментами генерации кода, такими как CodeX, КодТ, и даже GPT-4, MetaGPT Превосходит торговый центр. Способность фреймворка достигать 81.7% в 82.3% Ставка Pass@1 включена HumanEval и МБПП тесты.

Сравнение показателей 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 or npm install -g @mermaid-js/mermaid-cli
  3. Проверьте версию Python: убедитесь, что у вас установлена ​​версия Python 3.9 или выше. Чтобы проверить версию Python, откройте терминал и введите: python --version. Если у вас не установлена ​​последняя версия, загрузите последнюю версию с сайта официальный сайт питона.
  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 с помощью вашего ключа API OpenAI

После первоначальной настройки вам необходимо интегрировать MetaGPT с вашим ключом API OpenAI. Вот шаги, которые нужно сделать:

  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-..."

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

Иллюстрация варианта использования

Я поставил задачу разработать игру «камень, ножницы, бумага» на основе CLI, и MetaGPT успешно справился с этой задачей.

Ниже приведено видео, демонстрирующее фактическое выполнение сгенерированного игрового кода.

Демонстрационный запуск MetaGPT

MetaGPT предоставил проектный документ системы в Markdown — широко используемом облегченном языке разметки. Этот файл Markdown был полон UML-диаграмм, тем самым предлагая детальное представление архитектурного проекта. Кроме того, спецификации API были подробно описаны с помощью HTTP-методов, конечных точек, объектов запроса/ответа и кодов состояния.

Вывод MetaGPT — проектирование системы

Вывод MetaGPT — уценка дизайна системы

Диаграмма классов подробно описывает атрибуты и методы нашего класса. 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 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.