-
-
Notifications
You must be signed in to change notification settings - Fork 0
Multi Agent Pipeline.fr
Le cœur de WorkPilot AI est un pipeline d'agents qui coopèrent pour transformer une spec en code validé. Ce document explique précisément ce que chaque agent fait et comment ils s'articulent.
┌─────────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────┐ ┌─────────────┐
│ Spec Review │──▶│ Planner │──▶│ Coder │──▶│QA Review │──▶│ Prêt à │
│ (humain) │ │ │ │ (+ subagents)│ │ │ │ fusionner │
└─────────────┘ └─────────┘ └──────────────┘ └──────────┘ └─────────────┘
│
échecs critères
│
▼
┌──────────┐
│ QA Fixer │───┐
└──────────┘ │
▲ │
└────────┘
jusqu'à succès
ou 50 itérations max
Chaque étape est exécutée dans un worktree git isolé — votre branche principale est intouchée tant que vous n'approuvez pas la fusion.
Prompt : apps/backend/prompts/planner.md
Rôle : transformer la spec en un plan d'implémentation exécutable.
- Lit la spec complète (
spec.md,requirements.json,context.json) - Évalue la complexité réelle vs. annoncée
- Décompose en phases ordonnées avec dépendances
- Identifie les sous-tâches parallélisables
- Assigne un modèle et un budget de réflexion à chaque phase
- Écrit
implementation_plan.json
{
"phases": [
{
"id": 1,
"goal": "Créer le handler /health",
"model": "claude-sonnet-4-6",
"thinking_budget": 8000,
"depends_on": [],
"parallel": false
},
{
"id": 2,
"goal": "Écrire les tests unitaires et d'intégration",
"model": "claude-sonnet-4-6",
"thinking_budget": 5000,
"depends_on": [1],
"parallel": true,
"subtasks": 2
}
]
}Prompt : apps/backend/prompts/coder.md (+ coder_recovery.md)
Rôle : implémenter chaque phase du plan.
- Charge le contexte de la phase courante (fichiers, historique mémoire)
- Génère le code (création, modification, suppression)
- Exécute les commandes build/test dans le worktree
- En cas d'erreur, récupère automatiquement (script
coder_recovery.md) - Peut spawner des sous-agents parallèles pour les tâches indépendantes
- Commit à chaque fin de phase avec un message sémantique
Exemple : la phase « générer les tests » peut lancer 3 sous-agents :
- Un pour les tests unitaires
- Un pour les tests d'intégration
- Un pour les tests E2E
Le Coder principal consolide ensuite les résultats.
-
read_file,edit_file,create_file,delete_file -
bash(allowlist dynamique) -
semantic_search(via grepai) -
run_tests,run_build
Prompt : apps/backend/prompts/qa_reviewer.md
Rôle : valider que l'implémentation satisfait tous les critères d'acceptation.
- Lit les critères d'acceptation de la spec
-
Un par un, vérifie chaque critère :
- Exécute les tests appropriés
- Inspecte les fichiers modifiés
- Teste les endpoints / features manuellement via outils
- Écrit un rapport détaillé (
qa_report.md) - Si tout passe → statut
APPROVED - Sinon → génère un
QA_FIX_REQUEST.mdlistant les problèmes
| Type | Outil |
|---|---|
| Tests unitaires |
pytest, vitest, jest
|
| Tests d'intégration | Commandes du projet |
| Tests E2E | Playwright, Cypress, Electron MCP |
| Lint / Typecheck |
biome, ruff, tsc, eslint
|
| Comportement fonctionnel | Curl, Chrome DevTools MCP |
| Accessibilité | Axe-core via MCP |
Prompt : apps/backend/prompts/qa_fixer.md
Rôle : corriger les problèmes listés par le QA Reviewer.
- Lit
QA_FIX_REQUEST.mdet le rapport - Isole chaque problème
- Applique un correctif minimal ciblé
- Relance la batterie de tests localement
- Rend la main au QA Reviewer qui vérifie à nouveau
QA Reviewer ──► APPROVED? ──[oui]──► FIN
│
[non]
▼
QA Fixer ──► Retour au Reviewer
Maximum : 50 itérations
Si le max est atteint → la tâche passe en Human Review avec un rapport détaillé : souvent le signe d'un critère d'acceptation mal spécifié.
Le pipeline est reprenable à tout moment :
- Chaque phase est checkpointée dans le spec directory
- Si le process est tué (crash,
Ctrl+C, rate limit)… - …il suffit de relancer :
python run.py --spec 001reprend au dernier checkpoint
Pour pauser intentionnellement :
touch .workpilot/specs/001-name/PAUSE
echo "Ajout de ma note" > .workpilot/specs/001-name/HUMAN_INPUT.mdWorkPilot AI exploite le parallélisme à plusieurs niveaux :
| Niveau | Parallélisme |
|---|---|
| Inter-specs | Plusieurs tâches peuvent tourner en parallèle (worktrees distincts) |
| Inter-phases | Les phases marquées parallel: true peuvent tourner en même temps |
| Intra-phase | Le Coder peut lancer jusqu'à max_workers=3 sous-agents par défaut |
| Inter-agents IA | Le Planner peut utiliser Opus, le Coder Sonnet, le QA Haiku… |
Limite UI : 12 terminaux d'agents simultanés (configurable).
Vous pouvez configurer un modèle et un budget de réflexion différents pour chaque type d'agent :
from phase_config import get_phase_model, get_phase_thinking_budget
model = get_phase_model(spec_dir, "coding", cli_model=None)
thinking = get_phase_thinking_budget(spec_dir, "coding", cli_thinking=None)Cas d'usage : utiliser un modèle coûteux (Opus) uniquement pour la phase critique (QA Review sur feature complexe) et un modèle moins cher (Haiku) pour la génération de boilerplate.
Une fois toute la boucle QA passée, l'utilisateur a trois options :
| Action | Effet |
|---|---|
| Merge to main | Fusion sémantique du worktree dans la branche par défaut |
| Create PR | Pousse la branche sur le remote et crée une PR GitHub/GitLab |
| Discard | Supprime le worktree, rien n'est modifié sur main |
Le moteur de fusion sémantique IA gère les conflits en comprenant l'intention de chaque changement (cf. apps/backend/merge/).
Toutes les étapes sont tracées dans logs/workflow.log avec :
- Trace IDs pour corréler les événements d'une spec
- Durées par phase et par agent
- Consommation de tokens
- Commandes exécutées et leur retour
- Raisonnement (chain-of-thought) des agents
Le Workflow Logger permet aussi de voir les traces actives :
from core.workflow_logger import workflow_logger
active = workflow_logger.get_active_traces()➡️ Agents spécialisés — Test Generator, Refactorer, Migration…
Getting started / Pour débuter
- 🏠 Home
- 📘 Introduction · fr
- ⚡ Installation · fr
- 🚀 First project · fr
- 🧠 Key concepts · fr
- ❓ FAQ · fr
Usage
- 🖥 User interface · fr
- 📝 Creating a spec · fr
- 🔁 Multi-agent pipeline · fr
- 🤖 Specialized agents · fr
- 🔌 Integrations · fr
- 💡 AI providers · fr
- 🧩 Memory system · fr
Advanced / Avancé
Community / Communauté