8.9 KiB
MABIS - Multi-Agent Business Intelligence System
##Business Context & Use Case
Scenario: Build an AI-powered business intelligence platform for a retail company that needs to analyze sales performance, competitor landscape, and market trends. The system handles complex analytical queries that require:
- Database analysis of sales/inventory data
- Competitive intelligence through web research
- Data visualization and trend analysis
- Multi-source data synthesis and insights
Example Query: "Show me our Q4 smartphone sales performance compared to competitors, identify market trends from recent news, and create visualizations showing our position vs Apple and Samsung pricing strategies."
This requires database querying, web research, visualization generation, and intelligent coordination between specialized agents.
Technical Architecture Requirements
Infrastructure Setup (Required)
1. SQLite Database Setup
Create and populate a mock retail database with:
Tables Required:
products(id, name, category, brand, price, launch_date)sales(id, product_id, quantity, revenue, sale_date, region)inventory(id, product_id, stock_level, warehouse_location)competitors(id, company_name, product_name, price, market_share)
Sample Data: Include realistic data for smartphones, laptops, accessories with:
- Your company's products and sales data
- Competitor products (Apple, Samsung, Google, etc.)
- 6-12 months of sales history
- Multiple regions/markets
2. Multi-Agent System Architecture
Database Agent
- Purpose: Query SQLite database for sales, inventory, and product data
- Tools: SQL query execution, data aggregation, trend analysis
- Memory: Remember previous queries and results
- Implementation: SQLAlchemy/sqlite3 + query optimization
** Research Agent**
- Purpose: Web search for competitor intelligence and market trends
- Tools: Web search API integration (Tavily, SerpAPI, or Brave Search)
- Memory: Cache search results, track research topics
- Implementation: HTTP requests + result parsing
Visualization Agent
- Purpose: Create charts, graphs, and visual analytics
- Tools: Matplotlib, Plotly, or Seaborn for chart generation
- Memory: Remember chart preferences and previous visualizations
- Implementation: Dynamic chart generation based on data and requirements
Orchestrator Agent
- Purpose: Route queries, coordinate agent workflows, synthesize results
- Tools: Agent coordination, task decomposition, result aggregation
- Memory: Track conversation context and agent handoffs
- Implementation: LLM-powered routing with clear decision logic
Core Implementation Requirements
Phase 1: Database & Infrastructure
- SQLite database design and setup
- Sample data generation (realistic retail/tech data)
- Database connection and basic query functions
- Data validation and integrity checks
Phase 2: Agent Development
- Database Agent with SQL query capabilities
- Research Agent with web search integration
- Visualization Agent with chart generation
- Basic orchestrator for agent routing
- Memory management system for each agent
Phase 3: Integration & UI
- Agent coordination and workflow management
- Streamlit or FastAPI interface
- Error handling and validation
- Demo scenarios and testing
Required Python Tech Stack
Core Framework
# Database Layer
- SQLite3 / SQLAlchemy for database operations
- Pandas for data manipulation and analysis
- Faker for generating realistic sample data
# AI/LLM Integration
- OpenAI API / Anthropic Claude for agent intelligence
- LangChain (optional) for agent orchestration
- Custom prompt engineering for each agent
# Web Search Integration
- requests for HTTP calls
- BeautifulSoup for HTML parsing
- One of: Tavily API, SerpAPI, Brave Search API
# Visualization Tools
- Matplotlib for static charts
- Plotly for interactive visualizations
- Seaborn for statistical plots
# Web Interface
- A single interface where user can query the agent
FastAPI + Jinja2 templates for more control
# Memory & Caching
- JSON files for simple persistence
- Redis (optional) for session management
Database Schema Example
-- Products table
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
category TEXT NOT NULL,
brand TEXT NOT NULL,
price DECIMAL(10,2),
launch_date DATE,
specifications JSON
);
-- Sales table
CREATE TABLE sales (
id INTEGER PRIMARY KEY,
product_id INTEGER,
quantity INTEGER,
revenue DECIMAL(10,2),
sale_date DATE,
region TEXT,
FOREIGN KEY (product_id) REFERENCES products (id)
);
-- Add other tables as specified above
Detailed Deliverables
1. Code Structure should be clean and modular(Required)
2. Documentation Requirements
README.md (Must Include)
- Project overview and business context
- Quick start guide (< 5 minutes to run)
- Environment setup and dependencies
- Example queries and expected outputs
- Architecture overview with diagrams
- API key setup instructions
ARCHITECTURE.md (Must Include)
- System design principles and decisions
- Agent responsibilities and interactions
- Database design rationale
- Tool integration architecture
- Memory management strategy
- Scalability considerations
SETUP.md (Must Include)
- Step-by-step installation guide
- Database initialization process
- API key configuration
- Troubleshooting common issues
- Development vs production setup
3. Visual Documentation (Required)
System Architecture Diagram
- Show agent interactions and data flow
- Include external APIs and database connections
- Illustrate memory management
- Tools: Draw.io, Lucidchart, or Mermaid
Agent Flow Diagram
- Visualize query routing logic
- Show agent handoff scenarios
- Include decision points and error handling
- Demonstrate the example query workflow
Database Schema Diagram
- Entity relationship diagram
- Table relationships and foreign keys
- Index strategy visualization
- Sample data distribution
Test Scenarios & Success Criteria
Primary Test Query
Input: "Show me our Q4 smartphone sales performance compared to competitors, identify market trends from recent news, and create visualizations showing our position vs Apple and Samsung pricing strategies."
Expected Workflow:
- Orchestrator: Breaks down into database query + research + visualization tasks
- Database Agent: Queries Q4 smartphone sales, calculates performance metrics
- Research Agent: Searches for Apple/Samsung pricing news and market trends
- Visualization Agent: Creates comparative charts and trend graphs
- Orchestrator: Synthesizes results into comprehensive response
Secondary Test Queries
- "What are our top 5 performing products by region and how do inventory levels look?"
- "Find recent news about foldable phone market and show how our Galaxy competitor pricing compares"
- "Create a dashboard showing monthly sales trends with competitor market share analysis"
Evaluation Criteria
Technical Implementation
- Database Design: Proper schema, realistic data, efficient queries
- Code Architecture: Clean separation of concerns, proper error handling
- Agent Implementation: Well-defined responsibilities, effective tool usage
- Integration Quality: Smooth coordination between components
AI/LLM Integration
- Prompt Engineering: Effective agent instructions and context management
- Tool Usage: Proper SQL generation, web search optimization, chart creation
- Memory Management: Context preservation for agent interactions
- Intelligence: Smart routing and decision making
Data & Visualization
- Database Quality: Realistic, well-structured sample data
- Query Efficiency: Optimized SQL queries and data processing
- Visualization Design: Clear, informative charts and graphs
- Web Research: Relevant, current information retrieval
Documentation & Setup
- Code Documentation: Clear comments, docstrings, type hints
- Architecture Docs: Comprehensive design documentation
- Setup Process: Easy installation and configuration
- Diagrams: Clear visual representation of system design
Web Search APIs (Choose One)
- Tavily API: AI-optimized search, good for research tasks
- SerpAPI: Google search results, comprehensive data
- Brave Search API: Privacy-focused, good free tier
Sample Data Sources
- Use Faker library for realistic data generation
- Tech product datasets from Kaggle (for reference)
- Mock competitor pricing from public sources
LLM Services
- OpenAI GPT-4o-mini: Cost-effective for development
- Anthropic Claude 3.5 Haiku: Good alternative option
- Budget: ~$5-10 for entire assessment period
Good luck! We're excited to see your approach to building intelligent data-driven systems.