BMad Method — фреймворк для разработки с AI-агентами, который не превращает тебя в оператора промптов

BMad Method

Привет. Если ты бэкендер, который последний год пробовал Cursor, Copilot, может Claude Code, и у тебя сложилось впечатление, что AI-кодинг это либо «о чудо, оно само написало фичу», либо «опять всё переписало криво и я полчаса разруливаю» — эта статья для тебя. Я разобрал BMad Method, проект с 52 тысячами звёзд на GitHub, и хочу показать, как там пытаются решить именно эту боль. Спойлер: подход интересный, местами спорный, но точно не очередной «запусти агента и молись».

Что вообще такое BMad Method

BMad Method расшифровывается как Breakthrough Method of Agile AI-driven Development. По сути это open-source фреймворк (MIT-лицензия), который натягивает на AI-кодинг нормальный инженерный процесс. Не заменяет мышление, а структурирует его.

Главная мысль проекта звучит так: coding assistants хорошо пишут код, но плохо превращают невысказанные предположения в правильный код. Ты говоришь «сделай авторизацию», оно делает авторизацию. Но какую именно — с какими ролями, какими токенами, какой структурой таблиц — оно решает за тебя. И часто мимо.

BMad это исправляет через три вещи:

  • делает твои предположения явными
  • сохраняет их как контекст для следующих шагов
  • подбирает процесс под размер задачи

Звучит абстрактно, дальше разложу на конкретике.

Проблема, которую решают

Типичный день с AI-кодингом сейчас выглядит так:

  • открыл чат с Cursor или Claude Code
  • написал «добавь эндпоинт для загрузки аватарок»
  • оно нагенерило код, ты поревьюил, что-то поправил
  • через неделю пытаешься вспомнить, почему именно такая структура была выбрана
  • переписал с нуля, потому что контекст потерялся

Или другой сценарий: ты дал большую задачу «сделай нам MVP админки», оно нагенерило 50 файлов, половина не в тему, ты три часа разгребаешь. Потом бросаешь, делаешь сам, потому что так быстрее.

BMad пытается убрать оба этих режима. Для мелочи — лёгкий путь, без бюрократии. Для большой задачи — структура, которая держит контекст и решения от начала до конца.

Команда агентов — самое интересное

В BMad есть пять основных персон, каждая с прописанным характером и принципами. Это не просто роли, а настоящие персонажи, как в книжке.

📊 Mary — Business Analyst

  • Вдохновлена Porter (пять сил) и Minto (пирамида Минто)
  • Говорит как treasure hunter, описывающий находку: увлечена уликами, точна когда паттерн проявляется
  • Задача: превратить сырую идею в понятные требования

📋 John — Product Manager

  • Думает как Marty Cagan (INSPIRED) и Teresa Torres (continuous discovery)
  • Пишет с дисциплиной Безоса (six-pager memo)
  • Говорит как детектив, допрашивающий холодное дело — короткие вопросы, острые follow-ups
  • Задача: PRD, эпики, сториз

🎨 Sally — UX Designer

  • Баланс эмпатии и edge-case rigor
  • Начинает просто, эволюционирует через обратную связь
  • Говорит как режиссёр, продающий сцену до того, как код существует
  • Задача: DESIGN.md и EXPERIENCE.md

🏗️ Winston — System Architect

  • Скучные технологии для стабильности, никакого silver bullet
  • Каждое решение привязано к бизнес-ценности
  • Говорит как опытный инженер у whiteboard — измеренный, всегда раскладывает trade-offs, не выносит вердиктов
  • Задача: архитектура, которая не развалится через год

💻 Amelia — Senior Software Engineer

  • Test-first: red, green, refactor
  • 100% pass до ревью
  • Говорит как terminal prompt — точные file paths, AC IDs, краткие commit messages
  • Задача: реализация сториз

Почему это важно: каждая персона подключается со своим стилем мышления. Когда ты просишь Winston’а дать архитектуру, он не будет писать код, а будет раскладывать trade-offs. Когда просишь Amelia — она не будет обсуждать продуктовую стратегию, а пойдёт писать тесты. Это не просто LLM с разными system prompts, это реальное разделение ответственности.

Цикл работы — главная концепцияЦикл работы — главная концепция

В основе BMad лежит простой цикл из четырёх шагов:

  1. Clarify — превращаем расплывчатую идею в чёткое намерение
  2. Plan — планируем реализацию
  3. Build and verify — пишем код и проверяем
  4. Learn and adjust — учимся на том, что вышло, и корректируем (петля возвращается в Plan)

Ключевой принцип: ты можешь зайти в любой момент цикла и выйти в любой. Не надо каждый раз проходить все четыре фазы.

Хочешь просто пофиксить баг — сразу в Build. Хочешь спроектировать новую фичу — начни с Clarify. Хочешь в существующий проект добавить большой модуль — пройди весь цикл.

Размер процесса подбирается под задачу. Это и есть философия right-sized process.

Скиллы — это что вообще

Если ты не знаком с агентной разработкой, объясняю. Скилл (skill) в контексте BMad — это markdown-файл с инструкциями для LLM. Когда ты говоришь агенту «сделай PRD», он подгружает скилл bmad-prd, читает его и действует по нему как по чек-листу.

В BMad сейчас около 20 скиллов, разбитых на три группы:

Анализ (Clarify):

  • bmad-brainstorming — мозговой штурм
  • bmad-forge-idea — давление на сырую идею
  • bmad-deep-recon — исследование (маркетинг, технологии, конкуренты, юзеры, академические работы)

Планирование (Plan):

  • bmad-product-brief — короткое описание продукта
  • bmad-prfaq — метод Working Backwards от Amazon (сначала пресс-релиз, потом вопросы)
  • bmad-prd — полный PRD
  • bmad-ux — дизайн-спека
  • bmad-architecture — техническая архитектура
  • bmad-spec — единый контракт, ломается на сториз
  • bmad-create-epics-and-stories — разбивка на эпики и сториз
  • bmad-sprint-planning — проверка готовности и трекинг статусов

Реализация (Build):

  • bmad-build — главный скилл: реализация + ревью
  • bmad-build-auto — то же самое, но без человека в петле
  • bmad-code-review — мульти-ревью с параллельными ревьюерами
  • bmad-correct-course — корректировка курса
  • bmad-walkthrough — человеческий обзор изменений
  • bmad-qa-generate-e2e-tests — генерация тестов
  • bmad-retrospective — ретро эпика

Звучит много, но тебе не нужно знать все. Начни с bmad-build и bmad-help. Остальное подтянешь по мере надобности, если будешь делать что-то крупное.

Установка — пошагово

Окей, переходим к практике. Ставим BMad локально.

Шаг 1. Проверь что у тебя есть:

  • Node.js 20.12 или новее (если делаешь фронт, у тебя наверняка есть)
  • Python 3.11 или новее
  • uv (это менеджер Python-пакетов от astral, ставится одной командой)

Проверить:

  • node —version
  • python3 —version
  • uv —version (если команды нет, ставится через pip install uv или через brew install uv)

Шаг 2. Создай новый проект или зайди в существующий:

  • mkdir my-project && cd my-project
  • либо cd path/to/your/existing-project

Шаг 3. Запусти установщик:

  • npx bmad-method install

Дальше откроется интерактивный мастер. Он спросит:

  • Как тебя зовут (агенты будут так обращаться)
  • Название проекта
  • На каком языке общаться (можно русский, BMad поддерживает i18n)
  • Куда складывать артефакты (по умолчанию _bmad-output)
  • Какой модуль поставить (для начала — только core и bmm)
  • В какой IDE будешь работать (Claude Code, Cursor, Windsurf и т.д.)

Установщик сам пропишет нужные файлы в твой проект и настроит вызовы скиллов в выбранной IDE.

Шаг 4. Проверь что всё работает:

  • В Claude Code или Cursor открой проект
  • Введи /bmad-help (или просто bmad-help в зависимости от IDE)
  • Должна появиться подсказка, что делать дальше

Всё, ты готов. Никакой облачной регистрации, никаких API-ключей, проект полностью опенсорсный.

Первый проект — пробуем на практике

Давай на конкретном примере. Представь, что тебе надо сделать простой REST-эндпоинт на Node.js с Express, который отдаёт список пользователей из PostgreSQL. Классика.

Сценарий А — мелкая задача, без церемоний

Ты понимаешь, что именно нужно, контекст очевиден, и хочешь просто код.

  • Открой новый чат в Cursor или Claude Code
  • Напиши: bmad-build сделай эндпоинт GET /users который возвращает список пользователей из PostgreSQL, используй pg, не забудь про индекс по email
  • BMad запустит bmad-build, который:
    • Изучит репозиторий (если это новый проект, скажет что он пустой и спросит как инициализировать)
    • Запланирует изменение
    • Реализует
    • Прогонит несколько ревьюеров параллельно (adversarial, edge cases, verification gaps)
    • Зафиксит то, что нашёл
    • Закоммитит
  • В конце даст краткое summary и предложит открыть PR

Сценарий Б — побольше работы, нужна структура

Ты делаешь новую фичу в существующем проекте, и она нетривиальная — например, добавляешь систему уведомлений с email и push.

Шаг 1. Уточни идею (Clarify):

  • bmad-forge-idea — потрепли сырую идею в разговоре, пока она не затвердеет
  • bmad-deep-recon с типом technical — посмотри какие подходы сейчас популярны

Шаг 2. Спланируй (Plan):

  • bmad-product-brief — короткое описание
  • bmad-prd — полный PRD (через John, продакт-менеджера)
  • bmad-architecture — техническая архитектура (через Winston)
  • bmad-ux — если есть интерфейс (через Sally)
  • bmad-spec — финальный единый контракт, опционально ломается на stories.yaml
  • bmad-sprint-planning — readiness gate, создаст sprint-status.yaml

Шаг 3. Реализуй (Build):

  • bmad-build для каждой стори (одна стори = один Build session)
  • После каждой — bmad-code-review или авто-ревью внутри bmad-build

Шаг 4. Заверши эпик (Learn and adjust):

  • bmad-retrospective — ретро эпика с реальными артефактами

Сценарий В — автономный режим

Если паттерны уже устаканились, и ты доверяешь агенту, есть bmad-build-auto. Это та же реализация, но без вопросов в процессе. Запустил — ушёл пить кофе — вернулся — посмотрел на результат. Под капотом bmad-loop может оркестрировать несколько таких итераций подряд.

Внутренности для тех, кому интересно

Если тебе не интересно как оно устроено внутри, пролистывай до плюсов и минусов. Здесь будет технический треш.

Скиллы — это markdown с frontmatter. Каждый скилл лежит в src/bmm-skills/ или src/core-skills/ и состоит из:

  • SKILL.md — главный файл, описывающий когда вызывать
  • customize.toml — настройки (можно переопределять)
  • workflow.md — детальные шаги (рендерятся отдельно)
  • references/ — дополнительные материалы
  • review-prompts/ — промпты для ревьюеров (в bmad-build)

Система кастомизации трёхслойная:

  • базовый уровень — в самом скилле
  • командный уровень — _bmad/custom/.toml
  • персональный уровень — _bmad/custom/.user.toml

Как мерджатся: скаляры override, массивы append, массивы с key code/id заменяют матчинг и добавляют новое. Это позволяет кастомизировать поведение без форка репозитория.

Рендеринг скиллов — content-addressed snapshot renderer. Каждый запуск скилла рендерится в immutable snapshot под _bmad/render/ с manifest.json, где записано:

  • хэш renderer’а
  • хэш исходников
  • резолвленные значения
  • хэш каждого выходного файла

Если запустить скилл дважды с одинаковыми входами — snapshot переиспользуется, не рендерится заново. Если что-то изменилось — создаётся новый snapshot, старый не трогается.

Детерминированная часть написана на Python 3.11+:

  • scripts/sprint_plan.py — генерация, статус, валидация sprint-status.yaml (37 unit-тестов)
  • scripts/resolve_customization.py — мерж TOML-оверрайдов
  • scripts/render_skill.py — рендеринг

Они вызываются через uv run, что даёт воспроизводимость без virtualenv.

CLI написан на Node.js, использует commander.js для команд и @clack/prompts для интерактивных диалогов.

Поддерживаемые IDE (по состоянию на 6.12.0):

  • Claude Code
  • Cursor
  • Windsurf
  • Zed
  • IntelliJ IDEA
  • Antigravity CLI
  • Gemini CLI
  • Codex
  • Другие через кастомные конфиги

Плюсы

Зрелая методология. Это не набор промптов от энтузиаста, а продуманный фреймворк с философией. Каждое решение обосновано, у каждой части есть причина существовать.

Реальные персоны. Пять агентов с характерами и принципами — это не маркетинг, это способ разделить ответственности. Когда общаешься с Winston’ом, он реально говорит иначе, чем Amelia.

Right-sized process. Главная фишка. Не заставляет тебя проходить весь цикл ради фикса опечатки. Мелкая задача — лёгкий путь, большая — полный цикл.

Работает и для greenfield, и для legacy. Есть отдельный сценарий для существующих проектов — сначала bmad-project-context, который прописывает AGENTS.md с правилами репозитория, потом bmad-build. Это решает типичную боль «агент не понимает конвенции проекта».

Human-in-the-loop обязателен. BMad не пытается заменить инженера, он пытается его усилить. В ключевых точках останавливается и спрашивает.

Adversarial review layers. Внутри bmad-build несколько ревьюеров работают параллельно: один ищет баги как злой критик, другой — edge cases, третий — verification gaps (а если это сломается, какой тест упадёт?). На реальных коммитах из прода это ловит регрессии, которые ground-truth rubric пропустил.

Open source, MIT, без paywall. Можно форкать, кастомизировать, встраивать в свой workflow. Discord-комьюнити активное, YouTube-канал есть, документация на пяти языках.

stories.yaml как контракт. Между планированием и исполнением есть явный артефакт — список сториз с порядком, описанием, AC. Это позволяет разделить работу между разными агентами и не терять контекст.

Конфигурируемые ревью-линзы. Можно подключить внешний tool или другую модель для ревью через bash. Хочешь — замени один из слоёв на свой собственный.

Минусы

Высокий порог входа. Двадцать скиллов, пять агентов, концепции delivery loop, custom layers, override-файлы. Первые пару дней будет ощущение «что тут вообще происходит».

Зависимости жёсткие. Node 20.12+, Python 3.11+, uv. Если у тебя на работе Python 3.9 — будут проблемы. Команда BMad планирует в v7 выпилить Python вообще, но пока так.

Требует платформу с subagents. bmad-build под капотом запускает несколько ревьюеров параллельно. Это работает в Claude Code из коробки, в Cursor — через свою оркестрацию. Если твоя IDE такое не умеет, bmad-build не даст всей ценности.

Свежий чат обязателен. Нельзя в одном чате мешать bmad-build с обычным кодингом. Контексты путаются, результат деградирует. Это не баг, это фича, но требует дисциплины.

Build может долго думать. Многослойное ревью с фиксами — это не «написал запрос, через 10 секунд код». Это нормально занимает несколько минут, иногда десятков. К этому надо быть готовым.

Breaking changes в перспективе. v6 → v7 будут ломающие изменения, часть скиллов в v6-shims/. Если у тебя кастомные конфиги на старые имена, придётся мигрировать.

Документация в основном на английском. Русский, китайский, корейский, вьетнамский, чешский — есть, но частично и с задержкой. Свежие фичи появляются сначала на английском.

Когда стоит пробовать

Хорошо подойдёт, если:

  • ты уже пробовал Cursor/Copilot и понял, что для больших задач нужен процесс, а не магия
  • работаешь в команде и хочешь единый стиль AI-ассистированной разработки
  • у тебя легаси-проект, в который страшно лезть, и нужен способ аккуратно добавлять фичи
  • ведёшь соло-проект и хочешь structure, чтобы не тонуть в собственных решениях

Не подойдёт, если:

  • ты скептик AI-кодинга и пробовать не собираешься — тут нечем будет удивить
  • тебе нужен простой чат-бот для разовых задач — оверкилл
  • ты не готов перейти на Node 20+ и поставить uv — будет боль

Конкуренты и соседи по нише

Если будешь сравнивать, имей в виду:

  • Claude Code Skills — встроенные скиллы в Claude Code, проще, но меньше структуры
  • Cursor Composer — удобный для мелких правок, нет командной работы агентов
  • Aider, Cline, Roo Code — open-source альтернативы, больше про pair programming, меньше про методологию
  • AutoGen, LangGraph, CrewAI — фреймворки для построения своих мульти-агентных систем, ниже уровень, требуют кода

BMad — это не фреймворк для создания агентов, а готовый набор персон и процессов. Если хочешь кодить, а не строить инфраструктуру для кодинга, это скорее плюс.

Резюме

BMad Method — это попытка превратить AI-кодинг из угадайки в инженерную практику. Не серебряная пуля, но честная попытка навести порядок в хаосе. Если ты уже работаешь с Cursor или Claude Code, попробуй — установка занимает 5 минут, первый bmad-build запускается одной командой. Хуже точно не будет, а если зайдёт — получишь структуру, которая сильно упрощает жизнь на длинной дистанции.

Главное — не пугайся количества сущностей. Начни с bmad-help и bmad-build, остальное подтянется когда понадобится.