Distribution de tâches dans Claude Code
Répartis le travail Claude Code sur des sous-agents Task parallèles avec un schéma de délégation à 7 slots. Règles de délimitation, principes de coordination, et erreurs à éviter.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.
Problème : Sur les gros projets dans Claude Code, le travail s'enlise en exécution monothread. Tu regardes Claude faire les choses une par une alors que le même travail pourrait se répartir sur plusieurs agents. La vitesse de développement tombe au niveau de l'étape série la plus lente.
Gain rapide : Ajoute ce schéma de délégation dans ton CLAUDE.md, puis référence-le quand tu demandes une fonctionnalité complexe :
# Feature Implementation Pattern
When implementing features, use 7-parallel-Task distribution:
1. **Component**: Create main component file
2. **Styles**: Create component CSS/styling
3. **Tests**: Create test files
4. **Types**: Create TypeScript definitions
5. **Hooks**: Create custom hooks/utilities
6. **Integration**: Update routing and imports
7. **Config**: Update docs and package.jsonDemande une fonctionnalité et Claude lit l'instruction dans CLAUDE.md, puis lance plusieurs agents Task en parallèle au lieu de les mettre en file d'attente un à un.
Comment fonctionne vraiment l'orchestration des tâches
Le Task tool est le mécanisme derrière l'exécution parallèle dans Claude Code. Appeler le Task tool crée un sous-agent indépendant avec sa propre fenêtre de contexte. L'agent Claude principal a une charge interactive. Il attend les réponses humaines, bascule entre opérations, maintient l'état de la conversation. Les sous-agents Task réduisent ces coûts en exécutant du travail spécialisé en parallèle.
Par défaut, Claude gère les lectures de fichiers, recherches et récupérations de contenu via des outils dédiés (Read, Grep, Glob) dans le thread principal. Task est réservé pour créer des sous-agents. Sans instructions de délégation explicites, Claude lance rarement des agents parallèles et préfère l'exécution séquentielle. L'instruction CLAUDE.md change ce comportement par défaut.
La mentalité multi-threading
Pense comme un programmeur qui gère des threads. Claude peut coordonner plusieurs agents spécialisés en même temps, mais seulement quand la délégation est clairement définie. Sans limites de tâches, Claude revient toujours au travail série.
Principes de coordination essentiels :
- Définition des limites : chaque agent possède des types de fichiers ou opérations spécifiques
- Évitement des conflits : deux agents n'écrivent jamais sur la même ressource
- Optimisation du contexte : supprime les détails inutiles avant de déléguer
- Regroupement logique : regroupe les petites tâches liées pour éviter la sur-fragmentation
Gérer le routage à la main pour chaque requête est la partie difficile. Un classificateur basé sur la complexité peut trier les tâches automatiquement : les corrections triviales vont directement à un spécialiste, les tâches modérées obtiennent un seul sous-agent, et le travail complexe multi-phase passe par un pipeline de planification avant que les agents parallèles soient déployés. Configure-le une fois et le routage cesse d'être une décision manuelle.
Schémas de distribution parallèle
Le schéma à 7 agents pour les fonctionnalités
Ajoute ça dans CLAUDE.md pour activer la distribution parallèle automatique :
## Parallel Feature Implementation Workflow
When implementing features, spawn 7 parallel Task agents:
1. **Component**: Create main component file
2. **Styles**: Create component styles/CSS
3. **Tests**: Create test files
4. **Types**: Create type definitions
5. **Hooks**: Create custom hooks/utilities
6. **Integration**: Update routing, imports, exports
7. **Remaining**: Update package.json, docs, config files
### Context Optimization Rules
- Strip comments when reading code files for analysis
- Each Task handles ONLY specified files or file types
- Task 7 combines small config/doc updates to avoid over-fragmentationLes builds de fonctionnalités s'accélèrent significativement parce que les goulots d'étranglement séquentiels disparaissent. Claude lit l'instruction et distribue le travail sur les agents Task sans que tu aies à lui répéter à chaque fois.
Délégation basée sur les rôles
Pour la revue de code et l'analyse, dis à Claude de créer des agents Task spécialisés :
Analyze this codebase using parallel Task agents with these roles:
- Senior engineer: Architecture and performance
- Security expert: Vulnerability assessment
- QA tester: Edge cases and validation
- Frontend specialist: UI/UX optimization
- DevOps engineer: Deployment considerationsChaque rôle gravite naturellement vers différents outils et angles, donc le résultat combiné est plus complet que n'importe quelle exécution single-agent.
Distribution par domaine
Pour le travail backend, prompt avec une structure parallèle explicite :
Implement user authentication system using parallel Task agents:
1. Database schema and migrations
2. Auth middleware and JWT handling
3. User model and validation
4. API routes and controllers
5. Integration tests
6. Documentation updatesVérification du succès : Claude appellera le Task tool plusieurs fois dans une seule réponse, créant des agents qui tournent en même temps. Les fonctionnalités qui traînent en mode série se complètent significativement plus vite une fois le travail parallélisé.
Règles de coordination
Coût en tokens vs performance : plus d'agents Task n'est pas toujours mieux. Chaque appel Task paye un coût d'initialisation pour le contexte. Regrouper des opérations liées bat souvent le lancement d'un nouvel agent pour chaque petite tâche.
Préservation du contexte : quand Claude délègue, il décide quel contexte chaque agent reçoit. Écris tes instructions pour que chaque agent voit les informations spécifiques à son domaine sans que le reste du projet suive.
Résolution des conflits : conçois les limites de tâches pour éviter les collisions d'écriture. Divise par fichier ou par ligne de fonctionnalité, jamais par lignes individuelles dans un fichier partagé. Deux agents qui écrivent dans le même fichier créent des conflits de fusion.
Intégration des retours : les agents Task remettent leurs résultats à la session principale. Planifie comment les sorties vont fusionner. Réfléchis aux dépendances entre les tâches parallèles pendant la phase d'orchestration, pas après.
Schémas de distribution avancés
Ces schémas vont au-delà du simple parallélisme. Ils règlent les problèmes de coordination qui apparaissent dès que tu lances 5+ agents sur de vraies fonctionnalités.
Chaînes de validation
Le schéma qualité le plus courant sépare la construction de la vérification. Les agents d'implémentation tournent en parallèle, tu attends que tous finissent, puis les agents de validation tournent séquentiellement sur le résultat combiné. La validation doit être séquentielle parce que les validateurs ont besoin de voir l'état final de chaque fichier, pas la tranche en cours qu'on leur a assignée.
# Implementation phase (parallel Task agents)
Tasks 1-5: Core feature development
# Validation phase (sequential, after implementation)
Task 6: Integration testing
Task 7: Security review
Task 8: Performance verificationSans la structure en deux phases, les agents de validation inspectent des fichiers pendant que d'autres agents écrivent encore dedans. Tu obtiens des faux positifs et des problèmes manqués. Pour associer spécialistes et validateurs, voir les schémas de conception de sous-agents.
Coordination de recherche
Les tâches de recherche se parallélisent bien parce qu'elles sont en lecture seule. Aucun agent n'écrit dans des fichiers partagés, donc le risque de conflit est nul. Ça fait de la recherche le meilleur point d'entrée pour la distribution de tâches.
Research user dashboard implementations using parallel Tasks:
1. **Technical**: React dashboard libraries and patterns
2. **Design**: Modern dashboard UI/UX examples
3. **Performance**: Optimization strategies for data-heavy UIs
4. **Accessibility**: WCAG compliance for dashboard interfacesChaque agent renvoie un résumé structuré. L'orchestrateur assemble ensuite les quatre rapports en une seule recommandation. C'est plus rapide que demander à un seul agent de rechercher les quatre dimensions de bout en bout, et les contextes isolés empêchent un thread de recherche de biaiser un autre.
Projets inter-domaines
Les fonctionnalités full-stack touchent le frontend, le backend et l'infrastructure en même temps. L'approche en cascade (d'abord le backend, puis le frontend, puis l'infra) est sûre mais lente. La distribution parallèle inter-domaines est plus rapide, mais elle exige des limites de fichiers strictes.
La règle : chaque agent possède un répertoire, jamais un seul fichier partagé avec un autre agent. L'agent backend possède src/api/, l'agent frontend possède src/components/, et l'agent infrastructure possède infra/. Le contrat partagé entre eux est un fichier d'interface TypeScript ou un schéma d'API qu'un agent écrit en premier (séquentiellement) avant que la phase parallèle s'ouvre. Pour une vue plus approfondie de ce type de coordination multi-domaines, voir les schémas d'orchestration d'équipes.
Erreurs courantes de distribution
Sur-fragmentation. Lancer un nouvel agent Task pour chaque petite opération brûle des tokens en initialisation sans améliorer la vitesse. Des prompts qui lancent 12 agents pour une fonctionnalité qui touche 4 fichiers sont courants. Chaque agent a besoin d'un contexte d'initialisation (charger CLAUDE.md, comprendre la tâche), donc 12 agents paient 12 fois la surcharge avant que le vrai travail commence. Le remède : regroupe les micro-tâches liées. Un agent qui gère "types, interfaces et schémas de validation" est moins cher et plus rapide que trois agents traitant un fichier chacun.
Sous-spécification. Une délégation vague force les agents à deviner la portée. Dis à un agent "gère le frontend" et il pourrait réécrire ton routing, refactoriser des composants que tu n'as jamais touchés, et importer des bibliothèques que tu n'as pas demandées. Le flux parallèle se casse parce que les autres agents attendaient l'API de composant existante. Une bonne délégation nomme les fichiers exacts à créer ou modifier, les signatures de fonction attendues, et le format de sortie. "Create src/components/Dashboard.tsx that exports a Dashboard component accepting DashboardProps with a data: TimeSeriesPoint[] prop" est le bon niveau de spécificité.
Conflits de ressources. C'est l'erreur la plus destructrice parce qu'elle produit du code qui semble complet mais est silencieusement cassé. Deux agents qui écrivent dans le même fichier barrel index.ts s'écrasent mutuellement les exports. Le dernier à écrire gagne. Les exports de l'autre agent disparaissent. Le build peut encore passer si rien n'importe les exports manquants pour l'instant. Tu ne trouves le problème que plus tard quand tu essaies d'utiliser la fonctionnalité. Attribue la propriété des fichiers au niveau de l'agent, jamais au niveau de la fonction.
Duplication du contexte. Un CLAUDE.md surchargé est passé à chaque agent créé. 400 lignes de CLAUDE.md sur 7 agents signifie 7 copies de 400 lignes chargées dans des contextes séparés. L'orchestrateur décide ce que chaque agent reçoit, mais il penche vers l'inclusion. Garde CLAUDE.md focalisé sur les règles opérationnelles plutôt que sur la documentation encyclopédique du projet, et laisse les agents lire les fichiers spécifiques dont ils ont besoin au lieu de tout hériter d'avance.
Ce qui se passe quand la distribution foire
Voici un vrai mode de défaillance. Un développeur a réparti une fonctionnalité de paramètres utilisateur sur 5 agents : un pour la migration de base de données, un pour la route API, un pour le composant de formulaire React, un pour les tests, et un pour les types TypeScript. Ça paraît raisonnable. Le problème : l'agent des types et l'agent API devaient s'accorder sur la forme de l'interface UserSettings, mais ils ont tourné en parallèle sans contrat partagé.
L'agent des types a créé UserSettings avec un champ preferences comme objet plat. L'agent API a construit la route en attendant preferences comme structure imbriquée avec des sous-objets theme et notifications. L'agent du formulaire React a supposé encore une autre forme parce que ses instructions disaient juste "construis un formulaire de paramètres." Les trois agents ont terminé avec succès. Le build a échoué avec 14 erreurs de types.
Le remède était évident avec le recul : lancer l'agent des types en premier (séquentiellement), puis déployer les agents restants en parallèle. Cette étape séquentielle de 30 secondes aurait évité 20 minutes de débogage. La leçon : les interfaces partagées sont des dépendances, et les dépendances doivent tourner avant les tâches qui les consomment. C'est pourquoi le schéma de chaîne de validation existe.
Prochaines actions
Commence avec le schéma à 7 agents sur la prochaine implémentation complexe. Colle la configuration CLAUDE.md, puis demande une fonctionnalité. Plusieurs appels au Task tool devraient apparaître dans la réponse de Claude.
Prends l'habitude de la distribution parallèle en pratiquant avec le guide de conception des sous-agents, puis monte en puissance vers la coordination avancée avec les fondamentaux des agents.
Pour choisir entre exécution parallèle, séquentielle et en arrière-plan, voir le guide des meilleures pratiques des sous-agents.
Pour des schémas d'implémentation spécifiques, consulte les agents personnalisés et construis des distributeurs de tâches spécialisés pour ton workflow.
Surveille ta vitesse de complétion des tâches. Une exécution bien distribuée devrait livrer des résultats notablement plus rapides que l'exécution série. Suis la métrique. Laisse-la guider comment tu dimensionnes et découpes le prochain lot de travail.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.
Conception de sous-agents dans Claude Code
Répartis une revue de code difficile sur des sous-agents spécialistes. Architecture, sécurité et performance tournent chacun dans leur propre contexte, les résultats fusionnent en quelques minutes.
Équipes d'agents Builder-Validator
Associe un agent builder à un validator en lecture seule dans Claude Code. La tâche 2 est bloquée par la tâche 1 via addBlockedBy, ce qui garantit une relecture indépendante de chaque sortie.