mirror of
https://github.com/ruvnet/ruflo.git
synced 2026-11-09 05:35:21 +09:00
## 🔧 Critical Swarm System Fixes ### Fixed Task File Naming Bug - Tasks were being saved as '[object Object].json' due to TaskId object structure - Now properly extracts task ID string for file naming - Files save correctly as 'task_<id>.json' ### Added Task Timeout Protection - Implemented automatic timeout detection in task execution loop - Tasks that exceed timeout (default 5 minutes) are marked as failed - Prevents swarms from hanging indefinitely on stuck tasks - Agent state properly cleaned up on timeout ### Fixed Target Directory Propagation - Testing tasks were receiving null targetDir, preventing file access - Target directory now extracted from objective description - All tasks inherit targetDir through context - Enhanced extractTargetDirectory to check multiple sources ### Improved Task Dependencies - Fixed taskDependenciesMet to handle both string and TaskId objects - Added convertDependenciesToTaskDependencies for Map structure - Dependencies now properly resolve for sequential task execution ### Auto Strategy Integration - Added missing autoStrategy property and initialization - Proper AutoStrategy instantiation in coordinator constructor - Enables intelligent task decomposition for 'auto' strategy ## 📊 Added Comprehensive Benchmarks ### Benchmark Suite Integration - Added complete Python-based benchmarking tool - Tests 7 strategies across 5 coordination modes - 100% success rate across all test scenarios - Performance metrics: 0.10s - 0.20s execution times ### Real-World Performance Data - Calculator example: 4m 20s total (3 tasks) - Task breakdown: Analysis 29%, Implementation 22%, Testing 48% - Successfully created 6 files with proper directory structure ## 📝 Documentation Updates ### Updated README.md - Added v1.0.50 changelog with critical fixes - Integrated benchmark performance results table - Added real-world timing example - Removed old update notes for clarity - Added dedicated Benchmarks & Performance section ## 🧪 Test Results - Swarm now completes successfully with proper task coordination - All fixes validated in production environment - Task files save with correct names - Testing tasks find implementation files - Swarms exit cleanly after completion 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
545 lines
11 KiB
Markdown
545 lines
11 KiB
Markdown
# Basic Usage Guide
|
|
|
|
Learn how to use the swarm benchmarking tool effectively with practical examples and common workflows.
|
|
|
|
## 🎯 Core Concepts
|
|
|
|
Before diving into usage, understand these key concepts:
|
|
|
|
1. **Objective**: The task you want the swarm to accomplish
|
|
2. **Strategy**: How the swarm approaches the task (auto, research, development, etc.)
|
|
3. **Coordination Mode**: How agents work together (centralized, distributed, etc.)
|
|
4. **Agents**: Individual workers in the swarm
|
|
5. **Benchmark**: A complete test run with metrics and results
|
|
|
|
## 🚀 Basic Commands
|
|
|
|
### Running Your First Benchmark
|
|
|
|
The simplest way to start:
|
|
|
|
```bash
|
|
swarm-benchmark run "Create a hello world API"
|
|
```
|
|
|
|
This command:
|
|
- Uses the `auto` strategy (automatically selects approach)
|
|
- Uses `centralized` coordination (single coordinator)
|
|
- Allocates 5 agents (default)
|
|
- Saves results to `./reports/`
|
|
|
|
### Viewing Results
|
|
|
|
After running a benchmark:
|
|
|
|
```bash
|
|
# List all benchmarks
|
|
swarm-benchmark list
|
|
|
|
# Output:
|
|
# ID | Name | Status | Duration
|
|
# ------------------------------------ | ----------------------- | --------- | --------
|
|
# 7263107f-9031-4403-901c-9db6e3fc96c6 | benchmark-auto-central | completed | 0.20s
|
|
```
|
|
|
|
View specific benchmark details:
|
|
|
|
```bash
|
|
swarm-benchmark show 7263107f-9031-4403-901c-9db6e3fc96c6
|
|
```
|
|
|
|
## 📚 Common Workflows
|
|
|
|
### 1. Research Workflow
|
|
|
|
When you need to gather information:
|
|
|
|
```bash
|
|
# Research a topic with distributed agents
|
|
swarm-benchmark run "Research best practices for REST API design" \
|
|
--strategy research \
|
|
--mode distributed \
|
|
--max-agents 6
|
|
|
|
# View the research results
|
|
swarm-benchmark show <benchmark-id> --format detailed
|
|
```
|
|
|
|
### 2. Development Workflow
|
|
|
|
For code creation tasks:
|
|
|
|
```bash
|
|
# Step 1: Research the requirements
|
|
swarm-benchmark run "Research authentication methods" --strategy research
|
|
|
|
# Step 2: Develop the solution
|
|
swarm-benchmark run "Implement JWT authentication for Node.js API" \
|
|
--strategy development \
|
|
--mode hierarchical \
|
|
--quality-threshold 0.9
|
|
|
|
# Step 3: Create tests
|
|
swarm-benchmark run "Write unit tests for JWT authentication" \
|
|
--strategy testing
|
|
```
|
|
|
|
### 3. Analysis Workflow
|
|
|
|
For data analysis tasks:
|
|
|
|
```bash
|
|
# Analyze data with collaborative agents
|
|
swarm-benchmark run "Analyze user engagement metrics from CSV data" \
|
|
--strategy analysis \
|
|
--mode mesh \
|
|
--quality-threshold 0.95 \
|
|
--parallel
|
|
```
|
|
|
|
### 4. Optimization Workflow
|
|
|
|
For performance improvements:
|
|
|
|
```bash
|
|
# Profile and optimize
|
|
swarm-benchmark run "Optimize database query performance" \
|
|
--strategy optimization \
|
|
--mode hybrid \
|
|
--monitor \
|
|
--profile
|
|
```
|
|
|
|
## 🎨 Strategy Selection Examples
|
|
|
|
### Auto Strategy (Default)
|
|
|
|
Let the system choose the best approach:
|
|
|
|
```bash
|
|
# The system analyzes your objective and selects a strategy
|
|
swarm-benchmark run "Build a user registration form"
|
|
# Auto-selects: development strategy
|
|
|
|
swarm-benchmark run "Find the best Python web frameworks"
|
|
# Auto-selects: research strategy
|
|
|
|
swarm-benchmark run "Check API response times"
|
|
# Auto-selects: testing strategy
|
|
```
|
|
|
|
### Research Strategy
|
|
|
|
Best for information gathering:
|
|
|
|
```bash
|
|
# Market research
|
|
swarm-benchmark run "Research competitor pricing strategies" \
|
|
--strategy research \
|
|
--max-agents 8 \
|
|
--parallel
|
|
|
|
# Technical research
|
|
swarm-benchmark run "Compare cloud providers for ML workloads" \
|
|
--strategy research \
|
|
--output json html
|
|
```
|
|
|
|
### Development Strategy
|
|
|
|
For creating code and systems:
|
|
|
|
```bash
|
|
# API development
|
|
swarm-benchmark run "Create CRUD API for product management" \
|
|
--strategy development \
|
|
--mode hierarchical \
|
|
--review
|
|
|
|
# Frontend development
|
|
swarm-benchmark run "Build React dashboard component" \
|
|
--strategy development \
|
|
--quality-threshold 0.85
|
|
```
|
|
|
|
### Analysis Strategy
|
|
|
|
For data processing and insights:
|
|
|
|
```bash
|
|
# Business analysis
|
|
swarm-benchmark run "Analyze Q4 sales data and identify trends" \
|
|
--strategy analysis \
|
|
--mode mesh
|
|
|
|
# Log analysis
|
|
swarm-benchmark run "Analyze server logs for error patterns" \
|
|
--strategy analysis \
|
|
--parallel
|
|
```
|
|
|
|
### Testing Strategy
|
|
|
|
For quality assurance:
|
|
|
|
```bash
|
|
# API testing
|
|
swarm-benchmark run "Create comprehensive test suite for user API" \
|
|
--strategy testing \
|
|
--mode distributed
|
|
|
|
# Performance testing
|
|
swarm-benchmark run "Load test the checkout process" \
|
|
--strategy testing \
|
|
--max-agents 10
|
|
```
|
|
|
|
### Optimization Strategy
|
|
|
|
For performance improvements:
|
|
|
|
```bash
|
|
# Code optimization
|
|
swarm-benchmark run "Optimize image processing algorithm" \
|
|
--strategy optimization \
|
|
--profile
|
|
|
|
# Query optimization
|
|
swarm-benchmark run "Optimize slow database queries" \
|
|
--strategy optimization \
|
|
--monitor
|
|
```
|
|
|
|
### Maintenance Strategy
|
|
|
|
For updates and documentation:
|
|
|
|
```bash
|
|
# Documentation
|
|
swarm-benchmark run "Update API documentation for v2" \
|
|
--strategy maintenance \
|
|
--mode centralized
|
|
|
|
# Refactoring
|
|
swarm-benchmark run "Refactor user service to use async/await" \
|
|
--strategy maintenance
|
|
```
|
|
|
|
## 🔗 Coordination Mode Examples
|
|
|
|
### Centralized (Simple Tasks)
|
|
|
|
Best for small teams and straightforward tasks:
|
|
|
|
```bash
|
|
# Simple task with few agents
|
|
swarm-benchmark run "Create a contact form" \
|
|
--mode centralized \
|
|
--max-agents 3
|
|
```
|
|
|
|
### Distributed (Parallel Work)
|
|
|
|
For tasks that can be split across multiple coordinators:
|
|
|
|
```bash
|
|
# Parallel research across topics
|
|
swarm-benchmark run "Research multiple database technologies" \
|
|
--mode distributed \
|
|
--max-agents 8 \
|
|
--parallel
|
|
```
|
|
|
|
### Hierarchical (Complex Projects)
|
|
|
|
For multi-layered projects with clear structure:
|
|
|
|
```bash
|
|
# Large development project
|
|
swarm-benchmark run "Build e-commerce platform" \
|
|
--mode hierarchical \
|
|
--max-agents 10 \
|
|
--task-timeout 600
|
|
```
|
|
|
|
### Mesh (Collaborative Work)
|
|
|
|
When agents need to work together closely:
|
|
|
|
```bash
|
|
# Collaborative code review
|
|
swarm-benchmark run "Review and improve codebase architecture" \
|
|
--mode mesh \
|
|
--max-agents 5 \
|
|
--review
|
|
```
|
|
|
|
### Hybrid (Adaptive)
|
|
|
|
Let the system choose the best mode per task:
|
|
|
|
```bash
|
|
# Mixed workload
|
|
swarm-benchmark run "Complete full project lifecycle" \
|
|
--mode hybrid \
|
|
--adaptive \
|
|
--max-agents 8
|
|
```
|
|
|
|
## 📊 Output Management
|
|
|
|
### Output Formats
|
|
|
|
Save results in different formats:
|
|
|
|
```bash
|
|
# Multiple output formats
|
|
swarm-benchmark run "Analyze data" \
|
|
--output json sqlite csv \
|
|
--output-dir ./analysis-results
|
|
|
|
# Pretty-printed JSON
|
|
swarm-benchmark run "Task" \
|
|
--output json \
|
|
--pretty-print
|
|
|
|
# Compressed output
|
|
swarm-benchmark run "Large analysis" \
|
|
--output json \
|
|
--compress
|
|
```
|
|
|
|
### Working with Results
|
|
|
|
```bash
|
|
# Export specific benchmark
|
|
swarm-benchmark show <id> --format json > benchmark-result.json
|
|
|
|
# Process results with jq
|
|
swarm-benchmark show <id> --format json | \
|
|
jq '.results[] | {task: .task_id, time: .execution_time}'
|
|
|
|
# Generate HTML report
|
|
swarm-benchmark show <id> --format report --export report.html
|
|
```
|
|
|
|
## ⚡ Performance Options
|
|
|
|
### Parallel Execution
|
|
|
|
Speed up execution with parallel processing:
|
|
|
|
```bash
|
|
# Enable parallel execution
|
|
swarm-benchmark run "Process multiple files" \
|
|
--parallel \
|
|
--max-agents 8
|
|
|
|
# Parallel with monitoring
|
|
swarm-benchmark run "Analyze dataset" \
|
|
--parallel \
|
|
--monitor \
|
|
--metrics-interval 2
|
|
```
|
|
|
|
### Resource Limits
|
|
|
|
Control resource usage:
|
|
|
|
```bash
|
|
# Set resource limits
|
|
swarm-benchmark run "Resource-intensive task" \
|
|
--memory-limit 2048 \
|
|
--cpu-limit 75 \
|
|
--timeout 30
|
|
```
|
|
|
|
### Background Execution
|
|
|
|
Run long benchmarks in the background:
|
|
|
|
```bash
|
|
# Start in background
|
|
swarm-benchmark run "Long analysis task" \
|
|
--background \
|
|
--name "overnight-analysis"
|
|
|
|
# Check status later
|
|
swarm-benchmark list --filter-name "overnight-analysis"
|
|
```
|
|
|
|
## 🎯 Quality Control
|
|
|
|
### Quality Thresholds
|
|
|
|
Ensure high-quality results:
|
|
|
|
```bash
|
|
# High quality requirement
|
|
swarm-benchmark run "Critical calculation" \
|
|
--quality-threshold 0.95 \
|
|
--max-retries 5
|
|
|
|
# With review process
|
|
swarm-benchmark run "Important document" \
|
|
--quality-threshold 0.9 \
|
|
--review \
|
|
--testing
|
|
```
|
|
|
|
### Validation
|
|
|
|
Enable strict validation:
|
|
|
|
```bash
|
|
# Strict validation
|
|
swarm-benchmark run "Generate secure code" \
|
|
--validation-mode strict \
|
|
--testing
|
|
|
|
# With automated testing
|
|
swarm-benchmark run "Create API endpoints" \
|
|
--testing \
|
|
--test-coverage 0.8
|
|
```
|
|
|
|
## 📈 Monitoring and Debugging
|
|
|
|
### Real-time Monitoring
|
|
|
|
Watch execution in real-time:
|
|
|
|
```bash
|
|
# Basic monitoring
|
|
swarm-benchmark run "Long task" --monitor
|
|
|
|
# Detailed monitoring
|
|
swarm-benchmark run "Complex task" \
|
|
--monitor \
|
|
--verbose \
|
|
--metrics-interval 1
|
|
```
|
|
|
|
### Debugging
|
|
|
|
Troubleshoot issues:
|
|
|
|
```bash
|
|
# Verbose output
|
|
swarm-benchmark -v run "Problematic task"
|
|
|
|
# With execution trace
|
|
swarm-benchmark run "Debug this" \
|
|
--verbose \
|
|
--trace \
|
|
--profile
|
|
|
|
# Dry run to check configuration
|
|
swarm-benchmark run "Test configuration" \
|
|
--dry-run \
|
|
--verbose
|
|
```
|
|
|
|
## 🔄 Cleanup and Maintenance
|
|
|
|
### Managing Results
|
|
|
|
Keep your results organized:
|
|
|
|
```bash
|
|
# Clean old results
|
|
swarm-benchmark clean --older-than 7
|
|
|
|
# Keep only recent benchmarks
|
|
swarm-benchmark clean --keep-recent 50
|
|
|
|
# Clean by status
|
|
swarm-benchmark clean --status failed
|
|
```
|
|
|
|
## 💡 Best Practices
|
|
|
|
### 1. Start Simple
|
|
|
|
Begin with basic commands and add complexity:
|
|
|
|
```bash
|
|
# Start here
|
|
swarm-benchmark run "Your task"
|
|
|
|
# Then add strategy
|
|
swarm-benchmark run "Your task" --strategy development
|
|
|
|
# Then optimize
|
|
swarm-benchmark run "Your task" \
|
|
--strategy development \
|
|
--mode hierarchical \
|
|
--parallel
|
|
```
|
|
|
|
### 2. Use Descriptive Objectives
|
|
|
|
Be specific about what you want:
|
|
|
|
```bash
|
|
# ❌ Too vague
|
|
swarm-benchmark run "Make API"
|
|
|
|
# ✅ Clear and specific
|
|
swarm-benchmark run "Create REST API for user management with JWT authentication"
|
|
```
|
|
|
|
### 3. Monitor Important Runs
|
|
|
|
Always monitor critical benchmarks:
|
|
|
|
```bash
|
|
swarm-benchmark run "Production task" \
|
|
--monitor \
|
|
--quality-threshold 0.9 \
|
|
--name "prod-deploy-$(date +%Y%m%d)"
|
|
```
|
|
|
|
### 4. Save Important Results
|
|
|
|
Export and backup critical benchmarks:
|
|
|
|
```bash
|
|
# Export important results
|
|
swarm-benchmark show <important-id> --format json \
|
|
> backups/benchmark-$(date +%Y%m%d).json
|
|
|
|
# Compress old results
|
|
tar -czf benchmarks-archive.tar.gz ./reports/
|
|
```
|
|
|
|
### 5. Use Configuration Files
|
|
|
|
For complex or repeated benchmarks:
|
|
|
|
```yaml
|
|
# benchmark-config.yaml
|
|
name: "Daily Analysis"
|
|
strategy: analysis
|
|
mode: distributed
|
|
max_agents: 8
|
|
parallel: true
|
|
output_formats:
|
|
- json
|
|
- sqlite
|
|
```
|
|
|
|
```bash
|
|
swarm-benchmark -c benchmark-config.yaml run "Daily data analysis"
|
|
```
|
|
|
|
## 🎉 Next Steps
|
|
|
|
Now that you understand basic usage:
|
|
|
|
1. Explore [Optimization Guide](optimization-guide.md) for performance tips
|
|
2. Read [Strategies Guide](strategies.md) for detailed strategy information
|
|
3. Check [Coordination Modes](coordination-modes.md) for mode selection
|
|
4. See [CLI Reference](cli-reference.md) for all available options
|
|
|
|
Happy benchmarking! 🚀 |