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

С помощью Больших Языковых Моделей (LLM) như ChatGPT, OpenAI стала свидетелем бума внедрения в корпоративном и пользовательском секторах, в настоящее время получая около 80 миллионов долларов ежемесячной выручки. Согласно недавнему отчету The Information, компания из Сан-Франциско, как сообщается, находится на пути к достижению 1 миллиарда долларов годовой выручки.
В прошлый раз мы углубились в AutoGPT и GPT-Engineering, ранние открыточные LLM-основанные ИИ-агенты, предназначенные для автоматизации сложных задач. Хотя они были перспективными, эти системы имели свою долю проблем: непоследовательные результаты, проблемы с производительностью и ограничения в обработке многогранных требований. Они показывают умение в генерации кода, но их возможности часто останавливаются там. Они лишены критически важных функций управления проектами, таких как генерация PRD, генерация технического дизайна и прототипирование интерфейса API.
Вступает MetaGPT — многоагентная система, которая использует Большие Языковые модели от Sirui Hong, объединяющая Стандартизированные Процедуры Операций (SOP) с LLM-основанными многоагентными системами. Этот возникающий парадигма нарушает существующие ограничения LLM в содействии эффективному сотрудничеству и разложению задач в сложных, реальных приложениях.
Красота MetaGPT заключается в его структуре. Он использует мета-программные техники для манипулирования, анализа и преобразования кода в реальном времени. Цель? Реализовать гибкую, адаптивную программную архитектуру, которая может адаптироваться к динамическим программным задачам.
SOP действуют как мета-функция здесь, координируя агентов для автоматической генерации кода на основе определенных входных данных. В простых терминах, это как если бы вы превратили высоко координированную команду программистов в адаптивную, интеллектуальную программную систему.
Понимание Фреймворка MetaGPT

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 превосходит их всех. Способность фреймворка достигать 81,7% до 82,3% показателя Pass@1 на HumanEval и MBPP бенчмарках.

Сравнение метрик MBPP и HumanEval между MetaGPT и другими ведущими моделями (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
Для тех, кто предпочитает контейнеризацию, Docker упрощает процесс:
- Получите Изображение 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.















