diff --git a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/README.md b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/README.md index a11adb3..29948c6 100644 --- a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/README.md +++ b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/README.md @@ -13,12 +13,12 @@ https://github.com/user-attachments/assets/a0befa3a-f4c3-400d-9790-4b9e37254405 - **CEO Agent**: Strategic leader and final decision maker - Analyzes startup ideas using structured evaluation - Makes strategic decisions across product, technical, marketing, and financial domains - - Uses AnalyzeStartupTool and MakeStrategicDecision tools + - Uses AnalyzeProjectRequirements tool - **CTO Agent**: Technical architecture and feasibility expert - Evaluates technical requirements and feasibility - Provides architecture decisions - - Uses QueryTechnicalRequirements and EvaluateTechnicalFeasibility tools + - Uses CreateTechnicalSpecification tool - **Product Manager Agent**: Product strategy specialist - Defines product strategy and roadmap @@ -41,18 +41,18 @@ The agency uses specialized tools built with OpenAI Schema for structured analys - **Analysis Tools**: AnalyzeProjectRequirements for market evaluation and analysis of startup idea - **Technical Tools**: CreateTechnicalSpecification for technical assessment -### 🔄 Asynchronous Communication +### 🤝 Multi-Agent Collaboration -The agency operates in async mode, enabling: -- Parallel processing of analyses from different agents -- Efficient multi-agent collaboration -- Real-time communication between agents -- Non-blocking operations for better performance +The agency coordinates five specialists through explicit communication flows: +- CEO drives strategic oversight across the team +- CTO and Developer collaborate on implementation feasibility +- Product and Client Success coordinate roadmap and go-to-market planning +- Each analysis is returned in a dedicated section in the Streamlit UI ### 🔗 Agent Communication Flows - CEO ↔️ All Agents (Strategic Oversight) - CTO ↔️ Developer (Technical Implementation) -- Product Manager ↔️ Marketing Manager (Go-to-Market Strategy) +- Product Manager ↔️ Client Success Manager (Go-to-Market Strategy) - Product Manager ↔️ Developer (Feature Implementation) - (and more!) diff --git a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/agency.py b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/agency.py index dfcddae..97c6ca6 100644 --- a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/agency.py +++ b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/agency.py @@ -23,9 +23,6 @@ class AnalyzeProjectRequirements(BaseTool): def run(self) -> str: """Analyzes project and stores results in shared state""" - if self.context is None: - raise RuntimeError("Tool context is not available.") - if self.context.get("project_analysis", None) is not None: raise ValueError("Project analysis already exists. Please proceed with technical specification.") @@ -64,9 +61,6 @@ class CreateTechnicalSpecification(BaseTool): def run(self) -> str: """Creates technical specification based on analysis""" - if self.context is None: - raise RuntimeError("Tool context is not available.") - project_analysis = self.context.get("project_analysis", None) if project_analysis is None: raise ValueError("Please analyze project requirements first using AnalyzeProjectRequirements tool.") @@ -248,7 +242,6 @@ def main() -> None: (product_manager, developer), (product_manager, client_manager), ], - shared_files_folder="shared_files", ) # Prepare project info diff --git a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/requirements.txt b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/requirements.txt index 76201a4..f3947eb 100644 --- a/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/requirements.txt +++ b/advanced_ai_agents/multi_agent_apps/agent_teams/ai_services_agency/requirements.txt @@ -1,3 +1,3 @@ -python-dotenv==1.0.1 +python-dotenv==1.1.1 agency-swarm==1.7.0 streamlit