MetaGPT — мультиагентный фреймворк в роли программной компании
📂 Исходный код на GitHubМультиагентный Python-фреймворк MetaGPT: команда LLM-ролей работает как программная компания, превращая однострочное требование в документы и код.
MetaGPT — мультиагентный фреймворк «программная компания»
Большинство агентных фреймворков помогают одному агенту вызывать инструменты и держать контекст диалога. MetaGPT устроен иначе: он собирает из LLM целую команду, которая работает как программная компания. На вход подаётся однострочное требование — например, «сделай игру 2048». На выходе появляются user stories, конкурентный анализ, требования, структуры данных, API и репозиторий с кодом.
Проект написан на Python, распространяется под лицензией MIT и набрал около 70 тысяч звёзд на GitHub. За фреймворком стоит серьёзная исследовательская база: статья MetaGPT вышла на ICLR 2024, а построенная на идеях проекта система AFlow получила oral-презентацию на ICLR 2025 — это топ-1,8% всех работ конференции. С февраля 2025 года команда развивает и облачный продукт MGX (MetaGPT X) — «AI-команду разработчиков» с доступом через браузер.
Code = SOP(Team)
Главную идею MetaGPT авторы сжали в одну формулу: Code = SOP(Team). SOP — это standard operating procedures, стандартные операционные процедуры. В настоящих компаниях они описывают, кто, что и в каком порядке делает. MetaGPT переносит этот подход на команду из LLM: у каждой роли своя процедура, а результат одной роли становится входом для следующей.
Такой дизайн бьёт по известной проблеме LLM-генерации — каскаду ошибок. Когда один агент сам пишет требования, сам проектирует и сам кодирует, он додумывает контекст и накапливает ошибки. В MetaGPT цепочка разбита на этапы. Каждый этап фиксирует результат в виде документа. Следующий агент получает структурированную спецификацию, а не расплывчатое пожелание.
В базовый состав входят четыре роли:
| Роль | Что делает |
|---|---|
| Product manager | user stories, конкурентный анализ, требования |
| Architect | структуры данных и API |
| Project manager | разбивка работы на задачи |
| Engineer | код по спецификации |
Роли и команды не обязаны совпадать с базовым набором. Как собирать своих агентов и связывать их в команды, показано в туториалах Agent 101 и MultiAgent 101.
Установка и настройка
Фреймворку нужен Python от 3.9 до 3.12. Установка через pip:
conda create -n metagpt python=3.9 && conda activate metagpt
pip install --upgrade metagpt
Перед использованием также нужно поставить Node.js и pnpm. Кто не хочет возиться с окружением, может взять Docker.
Конфиг создаётся одной командой:
metagpt --init-config
Она положит файл ~/.metagpt/config2.yaml, который останется заполнить. Минимальный пример:
llm:
api_type: "openai" # or azure / ollama / groq etc. Check LLMType for more options
model: "gpt-4-turbo" # or gpt-3.5-turbo
base_url: "https://api.openai.com/v1"
api_key: "YOUR_API_KEY"
Помимо OpenAI поддерживаются Azure, Ollama, Groq и другие провайдеры. Полный список опций — в примере конфига и в документации по настройке.
Запуск из командной строки и как библиотека
Самый короткий сценарий — одна команда:
metagpt "Create a 2048 game" # creates a repo in ./workspace
Фреймворк прогонит требование через все роли и сложит готовый проект в ./workspace.
Тот же конвейер доступен из кода:
from metagpt.software_company import generate_repo
from metagpt.utils.project_repo import ProjectRepo
repo: ProjectRepo = generate_repo("Create a 2048 game") # or ProjectRepo( S1 )
print(repo) # prints the repo structure with files
Попробовать без установки можно в демо на HuggingFace Space: там собрана та же «компания» в веб-интерфейсе.
Data Interpreter
Отдельная роль — Data Interpreter, агент для задач анализа данных. Он сам пишет код, исполняет его и дообучается на результатах шага. Классический пример — анализ датасета Iris с построением графика:
import asyncio
from metagpt.roles.di.data_interpreter import DataInterpreter
async def main():
di = DataInterpreter()
await di.run("Run data analysis on sklearn Iris dataset, include a plot")
asyncio.run(main()) # or await main() in a jupyter notebook
Подробности — в разделе документации.
Готовые сценарии
Кроме основной «компании», в проекте есть готовые конфигурации на один-два агента:
- Debate — два агента с противоположными ролями спорят на заданную тему.
- Researcher — агент, который собирает информацию по вопросу и сводит её в отчёт.
Это удобные точки входа в кодовую базу: сценарии маленькие, и в них легко увидеть, как роли, действия и память склеиваются в работающую систему.
Исследовательская база
MetaGPT вырос из научной работы, и команда продолжает публиковать результаты:
- MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework — исходная статья, принята на ICLR 2024. Среди соавторов — Юрген Шмидхубер.
- AFlow: Automating Agentic Workflow Generation — автоматическая генерация агентных workflow, oral на ICLR 2025 и второе место в категории LLM-based Agent.
- SPO и AOT — две свежие работы февраля 2025 года, код лежит в примерах проекта.
Ссылки на остальные научные статьи собраны в ACADEMIC_WORK.md, планы развития — в ROADMAP.
Когда MetaGPT уместен
Фреймворк хорош, когда задача похожа на мини-проект: нужно пройти путь от идеи до работающего кода, и по дороге появляются артефакты — требования, схемы, документы. Типовые случаи: прототип по текстовому описанию, генерация полноценного репозитория, разбор данных через Data Interpreter.
Если же нужен тонкий контроль над каждым шагом агента, «компания» может оказаться лишним слоем. Тогда проще взять библиотеку напрямую и собрать свою схему из ролей и действий — туториалы выше показывают именно это.
Что почитать
- Документация — гайды и концепции
- Установка — pip, Docker, требования
- Быстрый старт — первый запуск
- Agent 101 — свои роли и действия
- MultiAgent 101 — свои команды агентов
- FAQ — частые вопросы