Este proyecto implementa una empresa virtual compuesta por agentes de IA especializados que colaboran de forma autónoma para desarrollar proyectos de software completos, utilizando la biblioteca Agno y modelos de lenguaje avanzados.
- Empresa Virtual Completa: Simula una empresa de desarrollo con especialistas en diferentes áreas
- Agentes Especializados: Coordinador, analista de mercado, desarrolladores frontend/backend y QA
- Flujo de Desarrollo Completo: Desde análisis de requerimientos hasta entrega final
- Análisis de Mercado: Evaluación de tendencias y competitividad del proyecto
- Desarrollo Paralelo: Implementación simultánea de backend y frontend
- Generación de Informes: Reportes detallados del proyecto para cada fase
- Interfaz Interactiva: Monitoreo en tiempo real del progreso utilizando Rich
- Coordinador de Proyecto: Gestiona todo el proceso de desarrollo y asigna tareas
- Analista de Mercado: Evalúa tendencias, competidores y oportunidades
- Investigador Técnico: Investiga tecnologías y mejores prácticas actuales
- Desarrollador Backend: Implementa APIs, bases de datos y lógica de negocio
- Desarrollador Frontend: Crea interfaces de usuario y componentes interactivos
- Tester y Analista de Calidad: Verifica la calidad del código y sugiere mejoras
La empresa virtual sigue un proceso de desarrollo estructurado en seis fases:
- Investigación y Análisis: Análisis de requerimientos y tecnologías recomendadas
- Diseño de Arquitectura: Diseño de componentes y estructura del sistema
- Análisis de Mercado: Evaluación de competidores y recomendaciones estratégicas
- Implementación: Desarrollo paralelo de componentes frontend y backend
- Testing y QA: Verificación de calidad y refactorización según feedback
- Ajustes Finales: Modificaciones basadas en análisis de mercado y testing
- Python 3.8+
- Google Gemini API Key
- OpenAI API Key (como respaldo)
- Dependencias listadas en
requirements.txt
- Clonar el repositorio:
git clone <url-del-repositorio>
cd empresa_virtual- Crear y activar un entorno virtual:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Instalar dependencias:
pip install -r requirements.txt- Configurar variables de entorno:
cp .env.example .env
# Editar .env y agregar tus API keys para Gemini y OpenAIPara iniciar la empresa virtual:
python main.pyEsto iniciará una interfaz interactiva donde podrás:
- Describir tu proyecto en detalle
- Observar el progreso en tiempo real mientras los agentes trabajan
- Revisar el informe final con la arquitectura, componentes y recomendaciones
- Encontrar los archivos de salida en la carpeta
projects/[timestamp]
El sistema funciona de forma autónoma, con los agentes especializados colaborando entre sí para completar todas las fases del desarrollo.
empresa_virtual/
├── agents/ # Agentes especializados
│ ├── coordinator_agent.py # Agente coordinador principal
│ ├── market_analysis_agent.py # Analista de mercado
│ ├── frontend_programmer_agent.py # Desarrollador frontend
│ ├── backend_programmer_agent.py # Desarrollador backend
│ └── qa_agent.py # Agente de control de calidad
├── config/ # Configuración del sistema
├── docs/ # Documentación generada
├── logs/ # Registros del sistema
├── output/ # Salidas temporales
├── projects/ # Proyectos completados
├── utils/ # Utilidades compartidas
├── .env.example # Ejemplo de configuración
├── main.py # Punto de entrada principal
├── README.md # Esta documentación
└── requirements.txt # Dependencias del proyecto
Las siguientes variables pueden ser configuradas en el archivo .env:
GEMINI_API_KEY: Tu API key de Google GeminiOPENAI_API_KEY: Tu API key de OpenAI (respaldo)LOG_LEVEL: Nivel de logging (default: INFO)DEFAULT_MODEL: Modelo de Gemini a usar (default: gemini-2.5-pro-exp-03-25)MAX_RETRIES: Número máximo de reintentos (default: 3)TIMEOUT_SECONDS: Tiempo máximo de espera (default: 300)TEMPERATURE: Temperatura para la generación (default: 0.7)MAX_TOKENS: Máximo de tokens por respuesta (default: 2000)
- Fork el repositorio
- Crear una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abrir un Pull Request
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.