Multi-Agent Game Factory: 6 AI-агентов для генерации игр

· 2 мин чтения
multi-agent langgraph game-dev ai-agents rag
📂 Исходный код на GitHub

6 AI-агентов на LangGraph: дизайнер, сценарист, кодогенератор, ревьюер, тестировщик и арт-директор создают игру от идеи до рабочего кода с тестами и иллюстрациями.

Multi-Agent Game Factory: 6 AI-агентов для генерации игр

Multi-Agent Game Factory — это пайплайн из шести AI-агентов, которые превращают текстовое описание идеи в полноценную игру: с дизайном, нарративом, кодом, тестами и иллюстрациями. Проект построен на LangGraph и работает с любой OpenAI-совместимой моделью.

Архитектура

В основе лежит линейный пайплайн из шести агентов, оркестрируемый через LangGraph StateGraph. Каждый агент получает результат предыдущего и передаёт свой_output следующему. Если ревьюер или тестировщик находят проблемы, код может быть перегенерирован (до трёх попыток).

Идея → Дизайнер → Сценарист → Кодогенератор
                                         ↓
Результат ← Арт-директор ← Тестировщик ← Ревьюер

Веб-интерфейс на FastAPI с SSE-стримингом показывает работу каждого агента в реальном времени. Все данные хранятся локально: Milvus Lite для векторного поиска, SQLite для сессий.

Шесть агентов

Каждый агент специализируется на своей задаче и верифицирует результат в собственном формате.

Дизайнер (Designer) — получает пользовательскую идею и генерирует Game Design Document (GDD) с названием, жанром, механиками и фичами. Результат — структурированный JSON, проход 100%.

Сценарист (Narrative) — на основе GDD создаёт лор, 3–4 персонажа с навыками и квесты. Результат — структурированный JSON, проход 100%.

Кодогенератор (CodeGen) — получает GDD и нарратив, генерирует рабочий Python-код игры. Код компилируется, запускается и при ошибках авторемонтируется (до двух попыток). Проход 95%+ с первого раза.

Ревьюер (Reviewer) — анализирует код по пяти измерениям: баги, оптимизация, безопасность, архитектура и стиль. Выдаёт оценку и 3–8 замечаний за прогон.

Тестировщик (Test Agent) — генерирует pytest-набор под конкретный код, запускает тесты и авторемонтирует падения. Проход 95%+.

Арт-директор (Art Director) — генерирует промпты и реальные изображения через Qwen-Image-2.0: по два персонажа и одна сцена окружения за прогон. Проход 90%+.

RAG-пайплайн

Для обогащения промптов агентов используется векторный поиск по базе знаний из пяти PDF-файлов по геймдеву (~150 КБ каждый).

Запрос → Rewriter (3 варианта) → Vector Search (Milvus) + BM25
       → Merge & Dedup → Rerank (bge-reranker-v2-m3) → Top-K в промпты

Milvus Lite работает встроенно, без внешнего сервиса. BM25 реализован кастомно с поддержкой китайского языка (bigram+trigram). Чанкинг — 500 символов с перекрытием 125.

Трёхуровневая память

Проект реализует три слоя памяти:

  1. Диалоговая — SQLite-таблица сессий, пользователь решает сохранить или отбросить результат
  2. Рабочая — LangGraph SharedState, разделяемый между шестью агентами в рамках одного запуска
  3. Долгосрочная — проверенный код (прошедший и ревью, и тесты) автоматически индексируется в Milvus

Нет автосохранения — после каждого прогона пайплайна пользователь видит панель «сохранить / отбросить».

Технический стек

Слой Технология
LLM DeepSeek-V3.2 (сменяемый на любую OpenAI-совместимую)
Оркестрация LangGraph StateGraph
Векторная БД Milvus Lite (embedded)
Ключевые слова Кастомный BM25
Rerank bge-reranker-v2-m3
Генерация изображений Qwen-Image-2.0
База данных SQLite
API FastAPI + SSE
Фронтенд Vanilla HTML/CSS/JS

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

git clone https://github.com/aaron-ywl/multi-agent-game-factory.git
cd multi-agent-game-factory
pip install -r requirements.txt

# Настроить .env с API-ключом
# OPENAI_API_KEY=sk-xxxx
# OPENAI_BASE_URL=https://api.openai.com/v1

# Индексация базы знаний (только при первом запуске)
PYTHONPATH=. python3 scripts/index_knowledge.py

# Запуск веб-сервера
PYTHONPATH=. python3 -m uvicorn src.api.app:app --host 0.0.0.0 --port 8000

CLI-демо запускает полный пайплайн одной командой:

python3 demo.py run "Design a gacha card RPG with elemental combat and PvP arena"

Также доступны утилиты: баланс-калькулятор, валидатор кода, улучшатель промптов и генератор чеклистов ассетов.

API

Проект предоставляет REST API с SSE-стримингом для реалтаймового UI:

  • POST /api/v1/generate — полный пайплайн, синхронный ответ
  • POST /api/v1/generate-stream — SSE-стриминг работы агентов
  • GET /api/v1/sessions — список сохранённых сессий
  • POST /api/v1/sessions/{id}/save — сохранить сессию в память
  • POST /api/v1/vector/reindex — перестроить векторный индекс

Что получается на выходе

При запросе «аниме-карточная RPG с элементальной системой и PvP» пайплайн произвёл:

  • GDD с названием, жанром и механиками
  • Трёх персонажей с тремя навыками каждый + квесты
  • outputs/main.py — 8 678 символов, запускается с первой попытки
  • Ревью: 70/100, 4 бага и 3 оптимизации
  • outputs/test_main.py — 3 теста, все проходят
  • 3 изображения через Qwen-Image-2.0 (два персонажа + сцена)

Структура проекта

src/
  agents/           — 6 AI-агентов
  graph/            — LangGraph-оркестрация пайплайна
  services/         — LLM-клиент, векторный RAG, генерация изображений, память
  skills/           — реестр инструментов (баланс, валидация, промпты)
  api/              — FastAPI-маршруты
  config/           — настройки из .env
static/             — веб-интерфейс (dark theme)
data/knowledge_pdfs/ — 5 PDF по геймдеву
scripts/            — генерация PDF и индексация
demo.py             — CLI-демо

Проект распространяется под лицензией MIT. Работает с Python 3.10+.

Источник: https://github.com/aaron-ywl/multi-agent-game-factory