AGI и будущее ИИ
MetaGPT: Полное руководство по лучшему доступному ИИ-агенту
С появлением крупномасштабных языковых моделей (LLM) вроде ChatGPT компания OpenAI стала свидетелем бума внедрения ИИ в корпоративной сфере и среди пользователей, в настоящее время генерируя около 80 миллионов долларов ежемесячной выручки. Согласно недавнему отчету от The Information, компания из Сан-Франциско, как сообщается, находится на пути к достижению 1 миллиарда долларов годовой выручки.
В прошлый раз мы углубились в AutoGPT и GPT-Engineering, ранние основные открытые ИИ-агенты на основе LLM, предназначенные для автоматизации сложных задач. Хотя они были перспективными, эти системы имели свою долю проблем: непоследовательные результаты, проблемы с производительностью и ограничения при обработке многогранных требований. Они демонстрируют умение в генерации кода, но их возможности часто останавливаются там. У них нет критически важных функций управления проектами, таких как генерация PRD, генерация технического дизайна и прототипирование интерфейса API.
Вот MetaGPT — многоагентная система, которая использует крупномасштабные языковые модели от Sirui Hong, объединяя стандартные операционные процедуры (SOP) с многоагентными системами на основе LLM. Этот возникающий парадигма нарушает существующие ограничения LLM в содействии эффективному сотрудничеству и декомпозиции задач в сложных реальных приложениях.
Красота MetaGPT заключается в его структуре. Он использует метапрограммные методы для манипулирования, анализа и преобразования кода в реальном времени. Цель — создать гибкую и адаптируемую программную архитектуру, которая может адаптироваться к динамическим программным задачам.
SOPs действуют как метафункция здесь, координируя агентов для автоматической генерации кода на основе определенных входных данных. В простых терминах, это как если бы вы превратили высоко координированную команду программистов в адаптируемую и интеллектуальную программную систему.
Понимание фреймворка 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 превосходит их всех. Способность фреймворка достигать показателя 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
Для тех, кто предпочитает контейнеризацию, 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.















