88 lines
3.9 KiB
Markdown
88 lines
3.9 KiB
Markdown
### Étape 0 : Préparation de l'environnement du projet
|
||
Tâches :
|
||
- Créer backend minimal
|
||
- Créer modèle de données simple
|
||
- langGraph
|
||
___
|
||
|
||
### Étape 1 : Analyse du Besoin & Qualification (Agent PM / Business Analyst)
|
||
- L'utilisateur entre une demande en langage naturel.
|
||
- **Agent 1 (PM)** analyse la demande. Si des informations manquent pour coder, il pose des questions clarificatrices à l'utilisateur jusqu'à obtenir un cahier des charges complet.
|
||
- **Vérification BDD :** Avant de coder, le système cherche dans une base de données vectorielle si un projet similaire existe déjà.
|
||
- *Si oui :* On propose le lien à l'utilisateur. Si l'utilisateur valide, le workflow s'arrête ici.
|
||
- *Si non (ou si l'utilisateur rejette l'existant) :* On passe à l'étape 2.
|
||
|
||
Outils :
|
||
- LangGraph -> LangGraph est adapté aux workflows multi‑agents avec états, transitions conditionnelles, persistance et human‑in‑the‑loop
|
||
- Python -> backend, les agents, les appels LLM, les tests, les embeddings et les intégrations + compatible avec autres tools
|
||
- Pydantic AI / Pydantic -> forcer l’Agent PM à produire un cahier des charges structuré
|
||
- Chainlit -> adapté aux interfaces conversationnelles
|
||
BDD :
|
||
- Qdrant -> adapté à la recherche sémantique + stocker les embeddings de projets/scripts
|
||
- Snowflake Arctic Embed 2.0 -> modèle d’embedding
|
||
- Redis (optionnel) -> cache de recherche ;sessions utilisateur ;état temporaire ;verrouillage d’un workflow ;file d’attente simple
|
||
|
||
Tâches :
|
||
- Interface Chainlit
|
||
- Créer le prompt Agent PM
|
||
- Créer le schéma Pydantic du cahier des charges
|
||
- Gérer les questions clarificatrices
|
||
- Valider le cahier des charges
|
||
- Recherche d’existant (Qdrant/Snowflake Arctic Embed 2.0/Redis)
|
||
___
|
||
|
||
### Étape 2 : Génération de Code (Agent Développeur)
|
||
- **Agent 2 (Dev)** reçoit le cahier des charges validé et génère l'arborescence et le code source du projet.
|
||
|
||
Outils :
|
||
- LangGraph -> LangGraph est adapté aux workflows multi‑agents avec états, transitions conditionnelles, persistance et human‑in‑the‑loop
|
||
- Mistral ou Gemma (modèle trop généraliste/léger->tache simple) -> DeepSeek Coder/Qwen2.5
|
||
- vLLM -> meilleur choix qu’Ollama pour une plateforme plus industrialisée. Llama.cpp modèles quantifiés sur CPU ou machines modestes + moins adapté à une plateforme multi‑utilisateur
|
||
- Pydantic
|
||
|
||
Tâches :
|
||
- Créer le prompt Agent Dev
|
||
- Partie dev
|
||
___
|
||
|
||
### Étape 3 : Tests et Assurance Qualité (Agent QA / Testeur)
|
||
- **Agent 3 (QA)** récupère le code de l'Agent 2. Il doit exécuter le code (via une sandbox sécurisée) ou générer/exécuter des tests unitaires pour vérifier la qualité, la sécurité et le fonctionnement.
|
||
- **Boucle de correction automatique (Loop 1) :** Si les tests échouent, l'Agent 3 renvoie les erreurs à l'Agent 2 avec les logs. L'Agent 2 corrige et renvoie à l'Agent 3. Cette boucle tourne au maximum X fois jusqu'à ce que le code soit "vert".
|
||
|
||
Outils :
|
||
- Docker
|
||
- Ruff -> qualité de code
|
||
- Bandit -> sécurité
|
||
- Semgrep (optionnel) -> règles de sécurité et qualité plus larges
|
||
Boucle correction :
|
||
- LangGraph
|
||
- Pydantic
|
||
|
||
Tâches :
|
||
- QA et sandbox
|
||
- Intégration Ruff/Bandit/Semgrep
|
||
- Boucle automatique Dev-QA
|
||
___
|
||
|
||
### Étape 4 : Livraison & Feedback Utilisateur (Boucle Humaine)
|
||
- Une fois le code validé par l'Agent 3, il est présenté à l'utilisateur.
|
||
- L'utilisateur teste et valide.
|
||
- *Si Validé :* Le projet est sauvegardé dans la base de données (pour la recherche de l'Étape 1) et livré (ex: zip ou dépôt GitHub).
|
||
- *Si Refusé :* L'utilisateur indique ce qui ne va pas. Tout le contexte (code actuel + retours) est renvoyé à l'**Étape 1** pour réanalyse, et le cycle recommence.
|
||
|
||
Outils :
|
||
- Chainlit
|
||
- Git (optionnel)
|
||
|
||
Tâches :
|
||
- Interface Chainlit
|
||
- Livraison
|
||
___
|
||
|
||
### Étape finale :
|
||
|
||
Tâches :
|
||
- Tests fonctionnels de bout en bout
|
||
- Sécurité minimale
|
||
- Documentation finale
|
||
- Présentation |