> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-ru/ai-platformy-i-agenty/metagpt.md).

# MetaGPT Software Company

## Обзор

[MetaGPT](https://github.com/geekan/MetaGPT) является многоагентной AI-структурой, которая моделирует **программную компанию** — с менеджером продукта, архитектором, инженером и инженером по обеспечению качества — все они работают вместе, чтобы превратить идею в одно предложение в полностью функциональный программный проект. С более чем 45K звёзд на GitHub, MetaGPT — один из самых инновационных подходов к разработке программного обеспечения с использованием ИИ.

В отличие от одного агента кодирования, MetaGPT отражает реальные рабочие процессы команды. Когда вы даёте ему задачу вроде "Создать игру Змейка на Python", оно:

1. **Менеджер продукта** — Пишет документ с требованиями к продукту (PRD)
2. **Архитектор** — Проектирует архитектуру системы и стек технологий
3. **Руководитель проекта** — Разбивает задачи и распределяет их
4. **Инженеры** — Пишут реальный рабочий код для каждого компонента
5. **Инженер по QA** — Пишет модульные тесты и проверяет реализацию

В результате получается полный каталог проекта с кодом, документацией и тестами — сгенерированный автономно.

**Ключевые возможности:**

* **Полный жизненный цикл ПО** — От требований до рабочего кода одной командой
* **Агенты по ролям** — Специализированные агенты с чётко разделёнными обязанностями
* **Генерация документации** — Автоматически создаёт PRD, проект системы, спецификации API
* **Поддержку нескольких языков** — Python, Node.js, Go и другие
* **Интерпретатор данных** — Автономный агент для анализа данных и визуализации
* **Пошаговая разработка** — Добавление функций в существующие проекты
* **Режим взаимодействия с человеком** — Приостановка для проверки человеком на ключевых этапах

**Почему Clore.ai для MetaGPT?**

Сам MetaGPT работает на CPU, но Clore.ai предлагает важные преимущества:

* **Длительные задачи** — Генерация MetaGPT может занимать 10–60 минут; выделенные серверы справляются с этим без таймаутов
* **Локальный LLM-бэкенд** — Используйте Ollama или vLLM, чтобы исключить оплату за токены API при крупных проектах
* **Контроль затрат** — По цене $0.20–0.35/час запускайте длительные сессии MetaGPT дешевле, чем вызовы API GPT-4o
* **Изолированная среда** — Сгенерированный код запускается в контролируемой серверной среде
* **Командная работа** — Делитесь конечной точкой сервера MetaGPT в команде разработчиков

***

## Требования

MetaGPT оркестрирует вызовы LLM API — GPU нужен только если вы запускаете локальный LLM-бэкенд.

| Конфигурация                       | GPU       | VRAM  | ОЗУ   | Хранилище | Оцениваемая цена |
| ---------------------------------- | --------- | ----- | ----- | --------- | ---------------- |
| **MetaGPT + OpenAI/Anthropic API** | Нет       | —     | 4 ГБ  | 20 ГБ     | ≈ $0.03–0.08/ч   |
| **+ Ollama (Qwen2.5-Coder 7B)**    | RTX 3090  | 24 ГБ | 16 ГБ | 40 ГБ     | ≈ $0.20/ч        |
| **+ Ollama (DeepSeek Coder 33B)**  | RTX 4090  | 24 ГБ | 32 ГБ | 60 ГБ     | ≈ $0.35/ч        |
| **+ vLLM (Qwen2.5-Coder 32B)**     | RTX 4090  | 24 ГБ | 32 ГБ | 80 ГБ     | ≈ $0.35/ч        |
| **+ vLLM (Llama 3.1 70B)**         | A100 80GB | 80 ГБ | 64 ГБ | 100 ГБ    | ≈ $1.10/ч        |

> **Рекомендация:** MetaGPT сильно зависит от качества модели для связного многошагового рассуждения. Для сложных проектов используйте API GPT-4o или Claude Sonnet 3.5, или локально Qwen2.5-Coder-32B / DeepSeek-Coder-V2. См. [Руководство по сравнению GPU](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md).

**Требования к ПО на сервере Clore.ai:**

* Docker Engine (предустановлен на всех образах Clore.ai)
* NVIDIA Container Toolkit (только для опции с локальным LLM)
* 20+ ГБ свободного места на диске (образ MetaGPT + сгенерированные файлы проекта)
* Выход в интернет (для загрузки образов Docker и доступа к LLM API)

***

## Быстрый старт

### Шаг 1: Подключитесь к вашему серверу Clore.ai

Забронируйте сервер на [маркетплейсе Clore.ai](https://clore.ai):

* Для работы только с API: любой сервер с ≥4 ГБ ОЗУ
* Для локального LLM: GPU с ≥24 ГБ VRAM

```bash
ssh root@<server-ip> -p <ssh-port>
```

### Шаг 2: Загрузите образ MetaGPT Docker

```bash
docker pull metagpt/metagpt:latest
```

> Образ MetaGPT \~3 ГБ. При первой загрузке это может занять 2–5 минут.

### Шаг 3: Настройте конфигурацию

MetaGPT требует YAML-файл конфигурации с учётными данными вашего LLM API:

```bash
# Создать директории
mkdir -p /opt/metagpt/{config,workspace}

# Извлечь шаблон конфигурации по умолчанию из образа
docker run --rm metagpt/metagpt:latest \
  cat /app/metagpt/config/config2.yaml \
  > /opt/metagpt/config/config2.yaml

# Просмотреть конфигурацию
cat /opt/metagpt/config/config2.yaml
```

### Шаг 4: Настройте вашего поставщика LLM

Отредактируйте файл конфигурации:

```bash
nano /opt/metagpt/config/config2.yaml
```

**Для OpenAI (GPT-4o):**

```yaml
llm:
  api_type: "openai"
  model: "gpt-4o"
  base_url: "https://api.openai.com/v1"
  api_key: "sk-your-openai-key-here"

repair_llm_output: true
max_auto_summarize_code: 1
```

**Для Anthropic (Claude):**

```yaml
llm:
  api_type: "anthropic"
  model: "claude-3-5-sonnet-20241022"
  api_key: "sk-ant-your-key-here"

repair_llm_output: true
```

**Для локального Ollama (см. раздел GPU):**

```yaml
llm:
  api_type: "ollama"
  model: "ollama/qwen2.5-coder:32b"
  base_url: "http://host.docker.internal:11434"
  api_key: "ollama"

repair_llm_output: true
```

### Шаг 5: Запустите ваш первый проект MetaGPT

```bash
# Сгенерировать игру Змейка (классическая демонстрация)
docker run --rm --privileged \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  metagpt/metagpt:latest \
  metagpt "Create a snake game with Python"
```

Наблюдайте за работой агентов: вы увидите генерацию PRD, проектирование системы, написание кода и тестирование по очереди. Ожидайте 5–15 минут в зависимости от вашего LLM.

### Шаг 6: Просмотрите результат

```bash
ls -la /opt/metagpt/workspace/
# Вы увидите каталог с именем вашего проекта

find /opt/metagpt/workspace -type f | head -30
# Перечисляет все сгенерированные файлы: .py, .md, requirements.txt, tests/
```

***

## Конфигурация

### Полная справка по конфигурации

```yaml
# /opt/metagpt/config/config2.yaml

# Основная конфигурация LLM
llm:
  api_type: "openai"          # openai | anthropic | ollama | azure | gemini
  model: "gpt-4o"
  base_url: "https://api.openai.com/v1"
  api_key: "your-api-key"
  temperature: 0.0            # Ниже = более детерминированная генерация кода
  max_token: 4096

# Настройки поведения MetaGPT
repair_llm_output: true       # Автоматически исправлять некорректные ответы LLM
max_auto_summarize_code: 1    # Итерации суммаризации кода (0 = отключено)
max_project_auto_run: 5       # Макс. число циклов автоисполнения

# Параметры проекта
project_name: ""              # Необязательно: переопределить сгенерированное имя проекта
inc: false                    # Режим инкрементальной разработки (добавление в существующий проект)
reqa_file: ""                 # Запустить QA для конкретного файла

# Отслеживание затрат
max_budget: 10.0              # Макс. сумма в $ для расходов (только вызовы API)
```

### Запуск в интерактивном режиме

Для большего контроля запускайте MetaGPT с контрольными точками для проверки человеком:

```bash
docker run --rm -it --privileged \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  metagpt/metagpt:latest \
  metagpt "Build a REST API for a todo list app with FastAPI" \
  --human-review
```

С `--human-review`, MetaGPT приостанавливается после этапов PRD и проектирования системы, позволяя вам дать обратную связь перед началом инженерной работы.

### Инкрементальная разработка (добавление в существующий проект)

```bash
# Продолжить разработку в существующем проекте
docker run --rm -it --privileged \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  -v /opt/metagpt/workspace/my-project:/app/metagpt/workspace/my-project \
  metagpt/metagpt:latest \
  metagpt "Add user authentication to the existing todo API" \
  --project-path /app/metagpt/workspace/my-project \
  --inc
```

### Запуск интерпретатора данных

MetaGPT включает специализированного агента Интерпретатора данных для анализа данных:

```bash
# Интерактивный анализ данных на Python
docker run --rm -it --privileged \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  -v /path/to/your/data:/data:ro \
  metagpt/metagpt:latest \
  python -m metagpt.roles.di.data_interpreter \
    "Analyze /data/sales.csv and find top-performing products, create visualization"
```

### Docker Compose для постоянной настройки

```yaml
# /opt/metagpt/docker-compose.yml
version: "3.9"

services:
  metagpt:
    image: metagpt/metagpt:latest
    privileged: true
    volumes:
      - /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml:ro
      - /opt/metagpt/workspace:/app/metagpt/workspace
      - /opt/metagpt/logs:/app/metagpt/logs
    environment:
      - PYTHONUNBUFFERED=1
    stdin_open: true
    tty: true
    # Примечание: MetaGPT ориентирован на задачи, а не является постоянным сервисом.
    # Используйте 'docker compose run metagpt metagpt "your task"' для выполнения
    entrypoint: ["bash"]
```

```bash
# Запустить задачу через docker-compose
docker compose -f /opt/metagpt/docker-compose.yml \
  run --rm metagpt \
  metagpt "Create a Flask web app with user registration"
```

***

## GPU-ускорение (интеграция локального LLM)

### MetaGPT + Ollama

Запустите MetaGPT полностью бесплатно (без затрат на API), используя локальную модель для кодирования:

```bash
# Шаг 1: Запустить Ollama с GPU
docker run -d \
  --name ollama \
  --gpus all \
  --restart unless-stopped \
  -p 11434:11434 \
  -v ollama-models:/root/.ollama \
  ollama/ollama:latest

# Шаг 2: Загрузите качественную модель для кодирования
# Для RTX 3090/4090 (24 ГБ VRAM):
docker exec ollama ollama pull qwen2.5-coder:32b      # Лучший для кода
docker exec ollama ollama pull deepseek-coder-v2:16b  # Альтернатива
# Для более слабых GPU (8–16 ГБ VRAM):
docker exec ollama ollama pull qwen2.5-coder:7b
docker exec ollama ollama pull codellama:13b

# Шаг 3: Настройте MetaGPT для Ollama
cat > /opt/metagpt/config/config2.yaml << 'EOF'
llm:
  api_type: "ollama"
  model: "ollama/qwen2.5-coder:32b"
  base_url: "http://host.docker.internal:11434"
  api_key: "ollama"
  temperature: 0.0
  max_token: 4096

repair_llm_output: true
max_auto_summarize_code: 0
EOF

# Шаг 4: Запустите MetaGPT с сетевыми настройками хоста для доступа к Ollama
docker run --rm --privileged \
  --add-host host.docker.internal:host-gateway \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  metagpt/metagpt:latest \
  metagpt "Create a Python CLI tool for file organization"
```

> См. полный [руководство по Ollama](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) для настройки модели и оптимизации GPU.

### MetaGPT + vLLM (высокая пропускная способность)

Для максимальной пропускной способности токенов при больших, сложных проектах:

```bash
# Шаг 1: Запустите vLLM с моделью для кодирования
docker run -d \
  --name vllm \
  --gpus all \
  --restart unless-stopped \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model Qwen/Qwen2.5-Coder-32B-Instruct \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.90

# Дождитесь загрузки модели
until curl -s http://localhost:8000/health | grep -q ok; do
  echo "Waiting for vLLM..."; sleep 10
done

# Шаг 2: Настройте MetaGPT для vLLM
cat > /opt/metagpt/config/config2.yaml << 'EOF'
llm:
  api_type: "openai"
  model: "Qwen/Qwen2.5-Coder-32B-Instruct"
  base_url: "http://host.docker.internal:8000/v1"
  api_key: "none"
  temperature: 0.0
  max_token: 8192

repair_llm_output: true
EOF

# Шаг 3: Запустите MetaGPT
docker run --rm --privileged \
  --add-host host.docker.internal:host-gateway \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  metagpt/metagpt:latest \
  metagpt "Build a complete e-commerce backend with FastAPI and PostgreSQL"
```

> См.  [руководство по vLLM](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) для опций квантования и конфигураций с несколькими GPU.

### Рекомендуемые модели по задаче

| Тип задачи           | Модель                         | Мин. VRAM | Примечания                             |
| -------------------- | ------------------------------ | --------- | -------------------------------------- |
| Простые скрипты      | `qwen2.5-coder:7b`             | 8 ГБ      | Быстрые, подходят для CLI-инструментов |
| Средние проекты      | `qwen2.5-coder:14b`            | 12 ГБ     | Хороший баланс                         |
| Сложные системы      | `qwen2.5-coder:32b`            | 24 ГБ     | Лучшая локальная опция                 |
| Большие кодовые базы | `gpt-4o` / `claude-3-5-sonnet` | API       | Наиболее надёжна для сложных PRD       |

> **Подсказка:** Локальные модели хорошо подходят для генерации кода, но иногда испытывают трудности со сложным архитектурным мышлением. Для PRD и проектирования системы производственного уровня рассмотрите использование GPT-4o или Claude для этапа планирования и локальной модели для генерации кода.

***

## Подсказки и лучшие практики

### 1. Пишите эффективные подсказки для задач

Производительность MetaGPT сильно зависит от качества вашей начальной подсказки:

```
✅ Хорошие подсказки:
"Create a Python REST API using FastAPI that manages a library catalog.
Функции: добавление/поиск/удаление книг, аутентификация пользователей через JWT, 
SQLite база данных, документация OpenAPI. Цель: готовность к продакшену с тестами."

"Создайте CLI-инструмент обработки данных на Python, который читает CSV-файлы,
выполняет статистический анализ и выводит графики с использованием matplotlib."

❌ Расплывчатые подсказки:
"Сделай веб-приложение"
"Создай что-то на Python"
```

### 2. Оцените расходы на API перед запуском

```bash
# MetaGPT обрабатывает много токенов на проект:
# - Простой скрипт: ~50K токенов (~$0.25 с GPT-4o)
# - Среднее веб-приложение: ~200K токенов (~$1.00 с GPT-4o)
# - Сложная система: ~500K+ токенов (~$2.50+ с GPT-4o)

# Установите лимит бюджета в конфиге:
# max_budget: 2.0  # Остановить после расхода $2
```

### 3. Сначала проверьте сгенерированный PRD

Используйте `--human-review` для важных проектов. Этап PRD — то место, где закрепляются требования — обнаружение проблем на этом этапе экономит значительные токены по сравнению с исправлениями после генерации кода.

### 4. Тестируйте сгенерированный код

MetaGPT генерирует модульные тесты, но их всегда нужно проверять:

```bash
# Перейдите в сгенерированный проект
cd /opt/metagpt/workspace/<your-project>

# Установить зависимости
pip install -r requirements.txt

# Запустите сгенерированные тесты
pytest tests/ -v

# Попробуйте запустить основное приложение
python main.py
```

### 5. Используйте систему контроля версий

```bash
# Инициализируйте git в рабочем каталоге
cd /opt/metagpt/workspace
git init
git add .
git commit -m "Initial MetaGPT generation"

# После каждой итерации
git add .
git commit -m "MetaGPT: Added authentication feature"
```

### 6. Пакетная обработка нескольких проектов

Запускайте несколько проектов ночью на Clore.ai для максимальной экономии:

```bash
#!/bin/bash
# /opt/metagpt/batch-run.sh
PROJECTS=(
  "Create a URL shortener service with Python and Redis"
  "Build a Markdown to PDF converter CLI tool"
  "Create a REST API for a blog with comments and tags"
)

for project in "${PROJECTS[@]}"; do
  echo "Starting: $project"
  docker run --rm --privileged \
    -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
    -v /opt/metagpt/workspace:/app/metagpt/workspace \
    metagpt/metagpt:latest \
    metagpt "$project"
  echo "Completed: $project"
done
```

***

## Устранение неполадок

### Не удалось скачать образ

```bash
# Если достигнут лимит запросов Docker Hub
docker login  # Войдите в свой аккаунт Docker Hub
docker pull metagpt/metagpt:latest

# Проверьте доступное место на диске
df -h
# Образ MetaGPT ~3 ГБ; рабочее пространство может вырасти до нескольких ГБ
```

### Файл конфигурации не найден

```bash
# Проверьте правильность отображения путей
docker run --rm \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  metagpt/metagpt:latest \
  ls -la /app/metagpt/config/

# Также проверьте валидность вашего YAML
python3 -c "import yaml; yaml.safe_load(open('/opt/metagpt/config/config2.yaml'))"
```

### Ошибка аутентификации LLM API

```bash
# Протестируйте ваш API-ключ отдельно
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer sk-your-key"

# Для Anthropic:
curl https://api.anthropic.com/v1/models \
  -H "x-api-key: sk-ant-your-key" \
  -H "anthropic-version: 2023-06-01"

# Типичные проблемы:
# - Ключ скопирован с лишними пробелами
# - Ключ истёк или превышена квота
# - Неверный api_type в конфиге (например, "openai" вместо "anthropic")
```

### Ollama: соединение отклонено из контейнера

```bash
# Убедитесь, что Ollama запущена
docker ps | grep ollama
curl http://localhost:11434/api/tags

# Проверьте с точки зрения контейнера MetaGPT
docker run --rm \
  --add-host host.docker.internal:host-gateway \
  metagpt/metagpt:latest \
  curl http://host.docker.internal:11434/api/tags

# Если всё ещё не работает, проверьте логи Ollama
docker logs ollama --tail 20
```

### Генерация зависает или таймаутится

```bash
# Проверьте, отвечает ли LLM
# Добавьте отладочный лог, чтобы увидеть, какой агент завис
docker run --rm --privileged \
  -e PYTHONUNBUFFERED=1 \
  -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \
  -v /opt/metagpt/workspace:/app/metagpt/workspace \
  metagpt/metagpt:latest \
  metagpt "Simple task" 2>&1 | tee /opt/metagpt/logs/debug.log

# Распространённые причины:
# - Локальная модель слишком медленная (попробуйте меньшую квантованную модель)
# - Ограничение API по скорости (добавьте задержки или смените тариф)
# - Превышено окно контекста модели (уменьшите max_auto_summarize_code)
```

### Недостаточно места на диске

```bash
# Сгенерированные проекты могут быть большими; очистите старые
du -sh /opt/metagpt/workspace/*
rm -rf /opt/metagpt/workspace/old-project/

# Также очистите кэш сборки Docker
docker system prune -f

# Проверьте общий объём использования
df -h /opt/metagpt/
```

### Петли "Repair LLM Output"

```bash
# Если MetaGPT постоянно повторяет попытки из-за некорректного вывода LLM:
# 1. Попробуйте более мощную модель (GPT-4o, Claude Sonnet)
# 2. Уменьшите temperature (установите 0.0 для детерминированности)
# 3. Отключите ремонт (если используете мощную модель):
#    repair_llm_output: false
```

***

## Дополнительное чтение

* [Репозиторий MetaGPT на GitHub](https://github.com/geekan/MetaGPT) — Исходный код, примеры, дорожная карта
* [Документация MetaGPT](https://docs.deepwisdom.ai/main/en/) — Официальная документация, справочник по конфигурации, руководства
* [MetaGPT Discord](https://discord.gg/DYn29wFk9z) — Поддержка сообщества, варианты использования, советы по моделям
* [Docker Hub: metagpt/metagpt](https://hub.docker.com/r/metagpt/metagpt) — Доступные теги образов
* [Ollama на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) — Запускайте локальные LLM, чтобы обеспечить MetaGPT бесплатно
* [vLLM на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) — Высокопропускной локальный LLM для MetaGPT в масштабе
* [Руководство по сравнению GPU](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md) — Выберите правильный GPU Clore.ai для вашей нагрузки
* [Таблица лидеров SWE-bench](https://www.swebench.com) — Бенчмарк многоагентных фреймворков для кодирования
* [Статья о MetaGPT](https://arxiv.org/abs/2308.00352) — Оригинальное исследование: "MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework"


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/ai-platformy-i-agenty/metagpt.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
