Enhanced Multi-Agent AI System for Smarter Requirement Gathering
Turn one human sentence into a complete, validated Product Requirements Document using CrewAI + Google ADK + Langgraph + pyautogen.
Problem Statement: Multi-Agent AI for Smarter Requirement Gathering
Requirement gathering is often time-consuming, error-prone, and heavily dependent on manual discussions between stakeholders, analysts, and developers. Misinterpretations or missed details during this phase can lead to costly rework and unclear product goals.
With the rise of multi-agent AI systems, different specialized agents can collaborate to capture user needs, analyze ambiguities, suggest refinements, and even validate requirements against business objectives. This opens the door to faster, clearer, and more adaptive requirement engineering processes that reduce human bias and improve overall project success.
- You say one thing β a sentence, a thought, a worry
- Multiple AI Frameworks Collaborate:
- π CrewAI orchestrates specialized agents
- π Langgraph manages complex workflows
- π€ pyautogen enables agent collaboration
- π§ Google ADK provides advanced AI capabilities
- Smart Analysis Pipeline:
- Detects and resolves ambiguities automatically
- Validates against business and technical criteria
- Generates specific, measurable requirement refinements
- Provides quality scores and improvement suggestions
# Clone the repository
git clone <repository-url>
cd Ignis
# Create virtual environment
python -m venv .venv
# Activate environment (Windows PowerShell)
.\.venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txtConfigure credentials as described in the "Environment Variables" section below.
# Run the new enhanced test
python test_new_system.py
# Run basic connection test
python test_connection.py# Run the Flask app
python web_app.pyVisit: http://localhost:5000
Ignis/
βββ multi_tool_agent/ # Multi-framework logic
βββ templates/
β βββ index.html # Minimalist web UI (Ignis palette)
βββ web_app.py # Flask server (UI + endpoints)
βββ gemini_orchestrator.py # Requirement processing
βββ pdf_generator.py # PRD (PDF) generation
βββ requirements.txt # Python dependencies
βββ README.md # This file
python test_new_system.pyThis tests the complete multi-agent system:
- β CrewAI agent orchestration
- β Langgraph workflow management
- β pyautogen collaborative processing
- β Google ADK integration
- β Ambiguity detection and resolution
- β Requirement validation
- β Multi-agent collaboration
python test_connection.pyThis tests:
- β Framework installations
- β API key configuration
- β Basic orchestration
- β Error handling
Describe your requirement in the input field on the home page and choose PDF or Markdown to generate a PRD.
Ignis uses a multi-framework orchestration approach:
-
CrewAI Agents:
- Business Analyst
- Technical Analyst
- Quality Assurance Analyst
- Security Analyst
-
Langgraph Workflows:
- Ambiguity analysis pipeline
- Multi-agent processing flow
- Validation and refinement steps
-
pyautogen Collaboration:
- Agent-to-agent communication
- Collaborative problem solving
- Consensus building
-
Google ADK Integration:
- Advanced AI capabilities
- Function tool integration
- Enhanced analysis features
- CrewAI - Multi-agent orchestration
- Langgraph - Workflow management
- pyautogen - Agent collaboration
- Google ADK Python - Advanced AI framework
- LangChain - LLM integration
- Python 3.8+ - Runtime environment
Set the following environment variables before running the app (PowerShell example):
$env:GOOGLE_API_KEY="<your_google_api_key>"
# Optional (if using additional frameworks)
$env:OPENAI_API_KEY="<your_openai_api_key>"Alternatively, if your workflow uses a .env, ensure your orchestrator loads it and include:
GOOGLE_API_KEY=<your_google_api_key>
OPENAI_API_KEY=<your_openai_api_key>Ignis can persist each requirement and the generated PRD to Supabase. The Flask server writes using the Service Role key (server-side only). Do not expose the Service Role key in any client/browser code.
Set the following environment variables (PowerShell example):
$env:SUPABASE_URL="https://<your-project-ref>.supabase.co"
$env:SUPABASE_SERVICE_ROLE="<your_service_role_jwt>" # keep server-side only
# Optional (not used by Flask directly, useful for other tools)
$env:SUPABASE_ANON_KEY="<your_anon_jwt>"Schema created by migrations:
ignis.requirements(id uuid pk, input_text text, status text, created_at timestamptz)ignis.prds(id uuid pk, requirement_id uuid fk -> ignis.requirements, content_md text, created_at timestamptz)
RLS is enabled on both tables. The server uses the Service Role (which bypasses RLS) to insert records safely.
The system automatically detects and uses available frameworks:
- CrewAI: Always available for agent orchestration
- Langgraph: Always available for workflow management
- pyautogen: Available when OpenAI API key is configured
- Google ADK: Available when Google API key is configured
The web UI is designed to be minimalist and distractionβfree, following the Ignis brand palette.
- Minimal Input β Single textarea to describe your requirement.
- Oneβclick Output β Generate PRD as PDF or Markdown.
- Subtle Feedback β Lightweight progress indicator; no sample/dummy data shown.
- Accessible Styling β Highβcontrast buttons and focus states.
- Primary:
#FF6B36 - Primary (hover):
#E85E2F - Primary (tint):
#FFE6DB - Text (dark):
#1F1F1F - Muted:
#6B7280 - Background:
#FAFAFA
Performance depends on your API/model tier and network conditions. The UI avoids heavy client rendering to keep things fast and simple.
We welcome contributions! The multi-framework architecture makes it easy to:
- Add new CrewAI agents
- Extend Langgraph workflows
- Enhance pyautogen interactions
- Integrate additional ADK features
# Fork and clone
git clone <your-fork>
cd ignis-orchestration-core
# Install all frameworks
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black .
flake8 .This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- This is not an officially supported Google product
- For demonstration purposes only
- Not intended for production use without proper validation
- No user data is stored or transmitted
- Multiple API keys recommended for optimal performance
- CrewAI team for the amazing multi-agent framework
- Langgraph team for workflow orchestration
- pyautogen team for agent collaboration
- Google ADK team for the advanced AI framework
- Open source community for inspiration
- π§ Email: support@ignis-orchestration.com
- π¬ Issues: GitHub Issues
- π Docs: Framework Documentation
Built with β€οΈ for clarity, trust, and human-centered product development.
Enhanced with CrewAI + Google ADK + Langgraph + pyautogen for the future of requirement gathering.