9.4 KiB
Orchestrator Mechanics: The Brain of BMAD
The Orchestrator is the central intelligence system that coordinates all BMAD personas and tasks. Understanding how it works is crucial for maximizing the effectiveness of the BMAD Method.
Orchestrator Architecture
```mermaid title="Orchestrator System Architecture" type="diagram" graph TB subgraph "User Interface Layer" A["User Input"] B["Command Parser"] C["Response Formatter"] end
subgraph "Orchestrator Core"
D["Request Analyzer"]
E["Context Manager"]
F["Persona Selector"]
G["Task Coordinator"]
H["Quality Controller"]
end
subgraph "Persona Layer"
I["PM Persona"]
J["Architect Persona"]
K["UX/UI Persona"]
L["Developer Persona"]
M["Analyst Persona"]
end
subgraph "Knowledge Base"
N["Project Context"]
O["Templates"]
P["Checklists"]
Q["Best Practices"]
end
A --> B
B --> D
D --> E
E --> F
F --> G
G --> I
G --> J
G --> K
G --> L
G --> M
I --> H
J --> H
K --> H
L --> H
M --> H
H --> C
E <--> N
G <--> O
H <--> P
F <--> Q
```
Core Components
1. Request Analyzer
The Request Analyzer is the first component that processes user input:
Functions:
- Intent Recognition: Determines what the user wants to accomplish
- Context Extraction: Identifies relevant project context and constraints
- Complexity Assessment: Evaluates the scope and difficulty of the request
- Priority Classification: Determines urgency and importance levels
Decision Matrix:
| Input Type | Analysis Focus | Output |
|---|---|---|
| Feature Request | Business value, technical complexity | PM + Architect personas |
| Bug Report | Impact assessment, root cause analysis | Developer + Analyst personas |
| Design Change | User impact, implementation effort | UX/UI + Developer personas |
| Architecture Question | System implications, scalability | Architect + Developer personas |
2. Context Manager
Maintains and provides access to all project information:
Responsibilities:
- State Tracking: Current project status and progress
- History Management: Complete record of all decisions and changes
- Dependency Mapping: Relationships between components and features
- Knowledge Synthesis: Combining information from multiple sources
Context Structure:
```mermaid title="Context Information Flow" type="diagram" graph LR A["User Interactions"] --> B["Context Manager"] C["Persona Outputs"] --> B D["Task Results"] --> B E["External Data"] --> B
B --> F["Current State"]
B --> G["Historical Record"]
B --> H["Dependency Graph"]
B --> I["Knowledge Base"]
F --> J["Active Personas"]
G --> J
H --> J
I --> J
```
3. Persona Selector
Intelligently chooses the right persona(s) for each task:
Selection Criteria:
- Domain Expertise: Match task requirements to persona specialization
- Current Context: Consider what information is already available
- Workflow Stage: Align with current project phase
- Resource Availability: Optimize for efficiency and parallel execution
Selection Algorithm:
```mermaid title="Persona Selection Logic" type="diagram" graph TD A["Analyze Request"] --> B{["Primary Domain?"]}
B -->|Planning| C["PM Persona"]
B -->|Technical| D["Architect Persona"]
B -->|Design| E["UX/UI Persona"]
B -->|Implementation| F["Developer Persona"]
B -->|Analysis| G["Analyst Persona"]
C --> H{["Need Support?"]}
D --> H
E --> H
F --> H
G --> H
H -->|Yes| I["Select Secondary Personas"]
H -->|No| J["Execute with Primary"]
I --> K["Coordinate Multi-Persona Task"]
J --> L["Execute Single-Persona Task"]
K --> M["Synthesize Results"]
L --> M
```
4. Task Coordinator
Manages the execution of tasks across personas:
Coordination Functions:
- Task Decomposition: Breaking complex requests into manageable tasks
- Dependency Resolution: Ensuring tasks execute in the correct order
- Parallel Execution: Running independent tasks simultaneously
- Progress Monitoring: Tracking completion status and quality metrics
Task Execution Flow:
```mermaid title="Task Coordination Process" type="diagram" graph TD A["Receive Task Request"] --> B["Decompose into Subtasks"] B --> C["Identify Dependencies"] C --> D["Create Execution Plan"] D --> E["Assign to Personas"]
E --> F{["Parallel Execution?"]}
F -->|Yes| G["Execute Simultaneously"]
F -->|No| H["Execute Sequentially"]
G --> I["Monitor Progress"]
H --> I
I --> J{["All Complete?"]}
J -->|No| K["Continue Execution"]
J -->|Yes| L["Synthesize Results"]
K --> I
L --> M["Quality Check"]
M --> N["Deliver Results"]
```
5. Quality Controller
Ensures all outputs meet BMAD standards:
Quality Assurance Process:
- Template Compliance: Verify outputs follow required formats
- Completeness Check: Ensure all required sections are present
- Consistency Validation: Check alignment with project context
- Best Practice Review: Validate against established standards
Command Processing
Web Environment Commands
| Command | Function | Example |
|---|---|---|
/persona [name] |
Activate specific persona | /persona pm |
/task [name] |
Execute specific task | /task create-prd |
/context |
Show current project context | /context |
/help |
Display available options | /help |
IDE Environment Commands
| Command | Function | Example |
|---|---|---|
*persona [name] |
Activate specific persona | *persona architect |
*task [name] |
Execute specific task | *task create-architecture |
*context |
Show current project context | *context |
*help |
Display available options | *help |
Advanced Orchestration Features
1. Adaptive Learning
The Orchestrator learns from each interaction:
- Pattern Recognition: Identifies common request types and optimal responses
- Performance Optimization: Improves task execution based on historical data
- Context Refinement: Enhances context management through usage patterns
- Quality Improvement: Adjusts quality standards based on feedback
2. Multi-Modal Integration
Supports various input and output formats:
Input Modes:
- Text commands and descriptions
- File uploads and attachments
- Screenshots and images
- Voice commands (in supported environments)
Output Modes:
- Structured documents (Markdown, PDF)
- Code files and implementations
- Diagrams and visualizations
- Interactive prototypes
3. Environment Adaptation
Automatically adapts to different environments:
Web Environment Features:
- File attachment processing
- Rich text formatting
- Interactive elements
- Collaborative features
IDE Environment Features:
- File system integration
- Code completion and suggestions
- Terminal command execution
- Version control integration
Troubleshooting Common Issues
Issue: Persona Not Responding Correctly
Diagnosis Steps:
- Check command syntax (
/personavs*persona) - Verify persona name spelling
- Confirm current context is appropriate
- Review recent interaction history
Solutions:
- Reset context with
/context reset - Explicitly specify requirements
- Use
/helpto see available options - Try alternative persona for the task
Issue: Task Execution Incomplete
Diagnosis Steps:
- Review task requirements and scope
- Check for missing dependencies
- Verify persona has necessary context
- Examine quality control feedback
Solutions:
- Break complex tasks into smaller parts
- Provide additional context or requirements
- Use
/task statusto check progress - Manually trigger quality review
Issue: Context Loss or Confusion
Diagnosis Steps:
- Review recent context changes
- Check for conflicting information
- Verify persona state consistency
- Examine interaction history
Solutions:
- Use
/context refreshto rebuild state - Explicitly restate current objectives
- Clear conflicting information
- Start fresh with
/context reset
Performance Optimization
Best Practices for Orchestrator Efficiency
- Clear Communication: Provide specific, detailed requests
- Context Management: Keep project context current and relevant
- Task Sizing: Break large requests into manageable tasks
- Persona Selection: Choose the most appropriate persona for each task
- Quality Focus: Review outputs and provide feedback for improvement
Monitoring and Metrics
Track these key performance indicators:
- Response Time: How quickly the orchestrator processes requests
- Task Completion Rate: Percentage of tasks completed successfully
- Quality Score: Average quality rating of deliverables
- Context Accuracy: How well the orchestrator maintains project state
- User Satisfaction: Feedback on orchestrator performance
Next Steps
- See It In Action: Workflow Examples
- Understand the Team: Persona System
- Try It Yourself: Getting Started Guide
The Orchestrator is the heart of the BMAD Method. Master its mechanics, and you'll unlock unprecedented development efficiency and quality.