A sophisticated multi-agent system that automates the complete product development lifecycle, transforming high-level product specifications into actionable user stories, features, and engineering tasks through intelligent agent orchestration.
The system implements a hierarchical agent architecture with specialized roles mirroring real-world organizational structures:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agentic Workflow System β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Input: Product Specification + High-Level Requirements β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ
β Action Planning Agent β
β β’ Breaks down high-level goals into logical sub-tasks β
β β’ Defines workflow steps for specialized agents β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ
β Routing Agent β
β β’ Intelligently assigns tasks to specialized agent teams β
β β’ Dynamic task distribution based on query analysis β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββΌββββββββββββββ
β β β
βββββββββΌββββ βββββββΌββββββ ββββββΌβββββββββ
β Product β β Program β β Development β
β Manager β β Manager β β Engineer β
β Team β β Team β β Team β
β (Step 1) β β (Step 2) β β (Step 3) β
βββββββββββββ€ βββββββββββββ€ βββββββββββββββ€
β β’ User β β β’ Feature β β β’ Task β
β Stories β β Groups β β Creation β
β β’ Persona β β β’ Feature β β β’ Acceptanceβ
β Def. β β Specs β β Criteria β
βββββββ¬ββββββ βββββββ¬ββββββ βββββββ¬ββββββββ
β β β
ββββββββββββββββΌβββββββββββββββ
β
ββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ
β Evaluation & Quality Control β
β β’ Each team paired with dedicated evaluation agent β
β β’ Iterative refinement until criteria met β
β β’ Built-in quality gates prevent suboptimal outputs β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Language: Python 3.8+
- AI/ML: OpenAI GPT-3.5-turbo API
- Environment Management: python-dotenv
- Data Processing: pandas, numpy
- Architecture Pattern: Multi-Agent System with Evaluation Loops
- Specialized Agent Teams: Product Manager, Program Manager, and Development Engineer teams
- Intelligent Routing: Dynamic task assignment based on query analysis
- Quality Assurance: Built-in evaluation loops with iterative refinement
- Context-Aware Processing: Agents leverage domain-specific product specifications
- Structured Outputs: Consistent formatting across all agent outputs
- Validation Criteria: Automated quality checks for each output type
- Reusable Agent Library: Modular components for different workflow types
- General-Purpose Framework: Adaptable to various product specifications
- Extensible Architecture: Easy to add new agent types and capabilities
project-management-agentic-workflow/
βββ starter/
β βββ phase_1/ # Agent Library Implementation
β β βββ workflow_agents/
β β β βββ base_agents.py # Core agent implementations
β β βββ *_agent.py # Individual agent test scripts
β β βββ outputs/ # Test execution results
β βββ phase_2/ # Workflow Orchestration
β βββ agentic_workflow.py # Main workflow implementation
β βββ workflow_agents/
β β βββ Product-Spec-Email-Router.txt
β βββ outputs/ # Workflow execution results
βββ requirements.txt # Python dependencies
βββ README.md # This file
- DirectPromptAgent: Basic LLM interaction without augmentation using GPT-3.5-turbo
- AugmentedPromptAgent: Enhanced prompting with persona-based system prompts
- KnowledgeAugmentedPromptAgent: Domain-specific knowledge integration with constrained responses
- RAGKnowledgePromptAgent: Retrieval-Augmented Generation using embeddings and similarity search
- EvaluationAgent: Quality assurance with iterative refinement (max 10 interactions)
- RoutingAgent: Intelligent task distribution using embedding similarity
- ActionPlanningAgent: High-level goal decomposition into sequential steps
- Product Manager Team: User story generation following "As a [user], I want [action] so that [benefit]" format
- Program Manager Team: Feature grouping with structured format (Name, Description, Key Functionality, User Benefit)
- Development Engineer Team: Task creation with detailed structure (ID, Title, Description, Acceptance Criteria, Effort, Dependencies)
- Input Processing: Product specification and high-level requirements
- Action Planning: Decomposition into logical sub-tasks
- Intelligent Routing: Dynamic assignment to specialized teams
- Sequential Processing: Teams work on their respective domains in sequence
- Quality Evaluation: Iterative refinement until criteria met
- Output Synthesis: Structured delivery of complete development plan
- Python 3.8 or higher
- OpenAI API key
- Clone the repository:
git clone <repository-url>
cd project-management-agentic-workflow- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
export OPENAI_API_KEY="your-api-key-here"- Test Individual Agents (Phase 1):
cd starter/phase_1
python direct_prompt_agent.py
python augmented_prompt_agent.py
# ... run other agent test scripts- Execute Full Workflow (Phase 2):
cd starter/phase_2
python agentic_workflow.pyThe system generates structured outputs including:
- User Stories: "As a [user type], I want [action] so that [benefit]" format
- Product Features: Structured format with Name, Description, Key Functionality, and User Benefit
- Engineering Tasks: Detailed tasks with ID, Title, Description, Acceptance Criteria, Effort, and Dependencies
Sample outputs are available in the outputs/ directories for both phases.
-
Clear Separation of Concerns: The workflow effectively divides responsibilities among specialized agents (Product Manager, Program Manager, Development Engineer), mirroring real-world organizational structures and enabling each agent to focus on its domain expertise.
-
Built-in Quality Control: The use of Evaluation Agents paired with Knowledge Augmented Prompt Agents creates a feedback loop that ensures outputs meet specific criteria before proceeding to the next step, significantly improving output quality and consistency.
-
Flexible Routing Mechanism: The RoutingAgent intelligently directs workflow steps to appropriate specialized agents, enabling dynamic task assignment based on the nature of each query rather than hardcoded execution paths.
-
Context-Aware Processing: Knowledge augmentation enables agents to leverage domain-specific information and product specifications, resulting in more accurate and relevant outputs compared to generic prompting.
-
Sequential Dependency Chain: The workflow operates in a strictly sequential manner where each step depends on the previous one completing successfully. If an early agent (e.g., Product Manager) produces suboptimal output despite passing evaluation criteria, all downstream agents inherit these issues.
-
Limited Cross-Agent Communication: Agents don't share context or learnings with each other. For instance, the Development Engineer doesn't directly access the Program Manager's feature groupings, relying instead on the routing agent to pass information sequentially.
-
Evaluation Rigidity: Evaluation agents use fixed criteria that may not adapt to edge cases or varying project requirements. The max_interactions limit (10) could terminate the evaluation loop prematurely for complex queries.
-
No Feedback from Downstream Agents: Later-stage agents (Development Engineer) cannot provide feedback to earlier-stage agents (Product Manager) if they discover inconsistencies or gaps in the upstream outputs.
Shared Memory Architecture: Introduce a shared memory/context store accessible to all agents in the workflow.
Implementation Details:
- Create a
WorkflowContextclass that maintains a structured record of all agent outputs with metadata (timestamps, agent IDs, validation scores) - Modify each agent to write outputs to and read relevant context from this shared store
- Enable cross-referencing where Development Engineers can query original product specs and user stories directly, not just receive filtered information
- Add a "context injection" mechanism where each agent receives a summary of relevant prior work from other agents
Expected Benefits:
- Reduces information loss through sequential handoffs
- Enables better decision-making by giving each agent full visibility into upstream work
- Facilitates potential parallel processing of independent workflow branches
- Creates an audit trail for debugging and improving agent performance
- Allows for future implementation of feedback loops where downstream agents can flag issues to upstream agents
- Parallel Processing: Enable concurrent execution of independent workflow branches (currently sequential)
- Dynamic Evaluation Criteria: Adaptive quality standards based on project complexity
- Cross-Agent Learning: Shared context and feedback mechanisms
- Workflow Optimization: Performance monitoring and automatic optimization
- Integration APIs: RESTful endpoints for external system integration
This project is licensed under the MIT License - see the LICENSE file for details.