Sub-agents vs agent teams Claude : comment choisir
Sub-agents vs agent teams Claude : comment choisir
Sub-agents ou agent teams ? Deux paradigmes, deux philosophies. Patterns d'orchestration, pièges courants et règle de découpage par contexte.
Réservez votre diagnostic IA
Un expert Webotit analyse vos flux, identifie les quick-wins et vous propose une feuille de route personnalisée.
45 min · Gratuit · Réponse sous 24h
Voir les disponibilitésClaude propose deux paradigmes multi-agents. Les sub-agents sont des instances isolées et éphémères : une tâche, un résultat compressé, terminé. Les agent teams sont des instances persistantes qui communiquent entre elles via une task list partagée — pour la coordination longue. La vraie règle de découpage : séparez par contexte nécessaire, jamais par rôle.
Le multi-agents n'est pas la réponse par défaut
Dès qu'une tâche devient un peu ambitieuse, le réflexe surgit : "il me faut plusieurs agents."
Dans la majorité des cas, c'est prématuré.
La bonne question, ce n'est pas "combien d'agents ?". C'est "quel type de coordination ce problème exige-t-il ?"
La réponse change tout. Architecture, coûts, latence, maintenabilité.
Claude propose deux paradigmes : les sub-agents et les agent teams. En surface, on pourrait les confondre. En réalité, ils répondent à des problèmes très différents.
Sub-agents : isoler pour mieux compresser
Un sub-agent, c'est une instance Claude spécialisée qui tourne dans sa propre fenêtre de contexte, isolée du reste.
Imaginez un directeur de recherche. Il ne lit pas chaque source primaire lui-même. Il confie des questions précises à des chercheurs, chacun revient avec un résumé, et il synthétise l'ensemble.
C'est exactement ce que font les sub-agents.
Chaque sub-agent reçoit :
- Un system prompt dédié qui définit sa spécialité
- Des outils spécifiques — pas tous, juste les siens
- Une fenêtre de contexte vierge et cloisonnée
- Un seul objectif à remplir
Quand il a terminé, seul le résultat final remonte au parent. Pas la chaîne de raisonnement. Pas les tâtonnements. Juste le signal utile.
Coordonne, délègue, synthétise
Une contrainte qui rend le système lisible
Les sub-agents ne peuvent pas en créer d'autres. Ils ne se parlent pas entre eux. Chaque résultat remonte au parent, point.
Cette limitation est délibérée. Elle rend le flux d'information prévisible : on sait toujours où circule la donnée, et qui prend les décisions.
Pas de surprises. Pas de chaîne de délégation incontrôlée.
En pratique : définir des sub-agents avec le SDK
from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition
async def main():
async for message in query(
prompt="Audite le module d'authentification pour les failles de sécurité",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Grep", "Glob", "Agent"],
agents={
"security-reviewer": AgentDefinition(
description="Spécialiste sécurité. Pour les audits de vulnérabilités.",
prompt="Tu es un spécialiste sécurité, expert en identification de failles.",
tools=["Read", "Grep", "Glob"],
model="claude-opus-4-6", # sécurité = mission critique → modèle le plus capable
),
"performance-optimizer": AgentDefinition(
description="Spécialiste performance. Pour les problèmes de latence.",
prompt="Tu es un ingénieur performance, expert en bottlenecks.",
tools=["Read", "Grep", "Glob"],
model="claude-sonnet-4-6", # perf = tâche analytique → bon ratio coût/qualité
),
},
),
):
print(message)Le champ description est le signal de routage. C'est lui qui dit au parent quel sub-agent appeler. Quand le prompt mentionne "failles de sécurité", le parent choisit security-reviewer. S'il mentionne "latence", il choisit performance-optimizer.
La description doit être spécifique. Vague = mauvais routage.
Agent teams : travailler ensemble, pas chacun dans son coin
Les agent teams, c'est un tout autre modèle.
Là où les sub-agents sont des travailleurs éphémères — une mission, un résultat, au revoir —, les agent teams sont des instances qui durent. Elles communiquent directement entre elles. Elles partagent un état.
L'analogie la plus juste : la différence entre embaucher des freelances pour des missions ponctuelles… et constituer une vraie équipe qui bosse dans la même pièce.
Les trois rouages
Un agent team repose sur trois piliers :
- Un team lead — il répartit le travail, coordonne, synthétise
- Des teammates — des instances autonomes, chacune avec sa fenêtre de contexte, qui avancent en parallèle
- Une task list partagée — ce qui reste à faire, ce qui est en cours, ce qui est fini, avec les dépendances entre tâches
Un cycle de vie concret
Claude (Team Lead) :
└── spawnTeam("auth-feature")
Phase 1 — Conception :
└── spawn("architect", prompt="Concevoir le flux OAuth",
plan_mode_required=true)
Phase 2 — Implémentation (en parallèle) :
└── spawn("backend-dev", prompt="Implémenter le contrôleur OAuth")
└── spawn("frontend-dev", prompt="Construire les composants login")
└── spawn("test-writer", prompt="Écrire les tests d'intégration",
blockedBy=["backend-dev"])Remarquez le blockedBy sur le test writer. Il attend que le backend ait terminé avant de démarrer — sans intervention manuelle du lead.
C'est la task list partagée qui orchestre ça. Pas un humain.
Assigne, coordonne, synthétise
Les teammates se parlent directement
C'est la grande différence avec les sub-agents. Les teammates peuvent s'envoyer des messages entre eux. Remonter un blocage, partager une découverte, ajuster un choix — sans que tout transite par le lead.
On peut aussi interagir directement avec un teammate individuel. On n'est pas obligé de passer par le chef pour tout.
Face à face : sub-agents vs agent teams
| Critère | Sub-agents | Agent teams |
|---|---|---|
| Durée de vie | Éphémère (une tâche) | Persistant (session longue) |
| Communication | Résultat → parent uniquement | Peer-to-peer + lead |
| État partagé | Aucun | Task list + dépendances |
| Spawn récursif | Interdit (1 seul niveau) | Via le lead |
| Cas d'usage | Recherche parallèle, exploration | Feature complète, refactoring coordonné |
| Complexité | Faible | Élevée |
| Coût | Proportionnel aux tâches | Surcoût de coordination |
| Prévisibilité | Très haute (flux linéaire) | Moyenne (interactions dynamiques) |
En deux phrases :
- Sub-agents = on délègue, on récupère, c'est fini. Pas de conversation entre eux. Pas de mémoire partagée.
- Agent teams = on collabore dans la durée. Les agents accumulent du contexte, et quand l'un fait une découverte, les autres en bénéficient immédiatement.
La vraie règle : découper par contexte, pas par rôle
C'est là que la plupart des architectures multi-agents se plantent.
L'instinct naturel, c'est de découper par rôle : un planificateur, un implémenteur, un testeur. Ça a l'air propre. En réalité, ça crée un jeu du téléphone où l'information se dégrade à chaque passage de main.
- L'implémenteur ne sait pas ce que le planificateur avait en tête
- Le testeur ne sait pas ce que l'implémenteur a décidé
- La qualité chute à chaque frontière
Même agent. Même contexte.
Séparé uniquement quand le contexte est isolé
Le bon réflexe : raisonner par contexte
Posez-vous une seule question : de quel contexte cette sous-tâche a-t-elle besoin ?
Si deux sous-tâches ont besoin d'informations qui se recoupent fortement, elles appartiennent au même agent. Si elles peuvent fonctionner avec des informations réellement séparées et des interfaces propres entre elles — là, on découpe.
Un cas concret : un agent qui implémente une fonctionnalité devrait aussi écrire ses tests. Il a déjà tout le contexte. Séparer implémentation et tests dans deux agents crée un problème de transmission qui coûte plus cher que le parallélisme ne rapporte.
On ne sépare que quand le contexte est véritablement isolable.
Cinq patterns d'orchestration qui tiennent en production
Peu importe le paradigme choisi, cinq patterns couvrent l'essentiel des besoins réels.
Cinq patterns d'orchestration
pour systèmes multi-agents IA
Séquentiel. Chaque sortie alimente l'étape suivante.
Le bon modèle pour la bonne tâche.
Tâches indépendantes. Couverture large.
Décompose, délègue, synthétise.
Qualité avant vitesse. Boucle jusqu'à satisfaction.
1. Chaînage séquentiel (prompt chaining)
Chaque étape traite la sortie de la précédente. On l'utilise quand l'ordre compte et que les étapes dépendent les unes des autres.
Étape 1 → Étape 2 → Étape 3
↓
vérification optionnelle2. Routage (routing)
Un classifieur décide quel spécialiste traite la requête. Les questions simples vont vers un modèle rapide et peu coûteux. Les questions complexes vers un modèle plus capable. C'est comme ça qu'on évite l'explosion des coûts.
┌→ Simple → Haiku
Classifieur ─────┤
└→ Complexe → Sonnet / Opus3. Parallélisation
Des sous-tâches indépendantes qui tournent en même temps. Soit la même tâche est exécutée plusieurs fois pour obtenir des sorties variées (vote), soit des sous-tâches différentes avancent simultanément (sectionnement).
4. Orchestrateur-workers
Un agent central découpe le travail, le distribue à des workers, et recolle les morceaux. C'est le pattern dominant en production — pour les sub-agents comme pour les agent teams.
5. Évaluateur-optimiseur
Un agent produit, un autre évalue et renvoie du feedback. On boucle jusqu'à ce que ce soit bon. Utile quand la qualité prime sur la vitesse.
| Pattern | Quand l'utiliser | Paradigme privilégié |
|---|---|---|
| Chaînage | Étapes dépendantes, ordre strict | Mono-agent ou sub-agents |
| Routage | Requêtes hétérogènes, maîtrise des coûts | Mono-agent |
| Parallélisation | Tâches indépendantes, couverture large | Sub-agents |
| Orchestrateur-workers | Tâches complexes décomposables | Sub-agents ou agent teams |
| Évaluateur-optimiseur | Qualité critique, itérations | Sub-agents |
Quand ne PAS passer au multi-agents
C'est la partie que personne n'écrit.
On a vu des équipes passer des mois à construire des pipelines multi-agents sophistiqués… pour découvrir qu'un meilleur prompting sur un seul agent donnait le même résultat.
On commence simple. On n'ajoute de la complexité que quand on peut mesurer qu'elle est nécessaire.
Trois situations où ça se justifie
- Protection du contexte — une sous-tâche produit du bruit non pertinent pour la tâche principale. La confiner dans un sub-agent évite de saturer le contexte.
- Vraie parallélisation — des recherches ou explorations indépendantes qui gagnent à tourner en même temps.
- Spécialisation — la tâche exige des system prompts contradictoires, ou un agent croule sous tellement d'outils que ses performances se dégradent.
Trois situations où c'est le mauvais choix
- Les agents ont en permanence besoin du contexte des autres
- Les dépendances inter-agents créent plus de surcoût que de valeur
- La tâche est suffisamment simple pour qu'un agent bien prompté la gère seul
Trois échecs récurrents (et comment les éviter)
1. Des descriptions floues = du travail en double
Si la mission de chaque agent n'est pas claire — objectif précis, format de sortie attendu, outils autorisés, périmètre explicite —, deux agents vont explorer la même chose sans s'en rendre compte.
Une bonne description, c'est un contrat. Pas une vague intention.
2. Les agents de vérification déclarent "c'est bon" sans vérifier
Sans instructions concrètes — exécuter toute la suite de tests, couvrir ces cas précis, ne rien valider tant que chaque test n'est pas vert — les agents de vérification produisent des faux positifs.
La rigueur ne se suggère pas. Elle se prescrit.
3. Les coûts en tokens s'envolent sans qu'on s'en aperçoive
Chaque agent consomme des tokens. Chaque échange entre agents en consomme davantage. Sans garde-fous, la facture grimpe vite.
La parade :
- Réserver le modèle le plus capable aux décisions à fort enjeu
- Router le travail de routine vers des modèles rapides et économiques
- Poser des limites de budget : tokens, tours de boucle, durée
Méthode : passer du mono-agent au multi-agents sans se brûler
Commencer par un agent unique bien outillé
On lui donne les bons outils, un system prompt précis, et on le pousse jusqu'à trouver où il casse. Ce point de rupture indique exactement ce qu'il faut ajouter.
Identifier les vraies frontières de contexte
Cette sous-tâche peut-elle fonctionner avec des informations véritablement isolées ? Si oui, c'est un candidat pour un agent séparé. Si non, on la garde dans le même agent.
Choisir le bon paradigme
Tâches indépendantes et éphémères → sub-agents. Coordination longue avec état partagé → agent teams. Ne pas choisir le plus sophistiqué par défaut.
Rédiger des descriptions d'agents spécifiques
Chaque agent : un objectif clair, un format de sortie, des outils autorisés, des frontières explicites. La description est le signal de routage — spécifique, pas générique.
Échelonner les modèles et fixer des budgets
Modèle capable pour les décisions critiques, modèle rapide pour le routage et l'extraction. Limites de tokens, de tours et de durée. Sans budget, on paie des boucles.
FAQ
Questions frequentes
Quelle est la différence entre sub-agents et agent teams ?
Les sub-agents sont éphémères et isolés : ils exécutent une tâche et renvoient un résultat compressé au parent, sans se parler entre eux. Les agent teams sont persistants, avec une task list partagée et une communication directe entre coéquipiers — sans tout faire transiter par le lead.
Quand choisir des sub-agents plutôt que des agent teams ?
Les sub-agents conviennent au travail parallélisable sans coordination : recherche indépendante, exploration de code, vérifications où le parent n'a besoin que du résumé. Les agent teams s'imposent quand les agents doivent s'ajuster en cours de route — réconcilier des sorties, ou quand une découverte dans un fil change ce qu'un autre fil doit faire.
Pourquoi découper par contexte plutôt que par rôle ?
Découper par rôle (planificateur → implémenteur → testeur) crée un jeu du téléphone : l'information se dégrade à chaque passage de main. Découper par contexte garantit que chaque agent possède toute l'information nécessaire à sa sous-tâche. Moins de pertes, moins d'hypothèses incompatibles.
Les sub-agents peuvent-ils en créer d'autres ?
Non. C'est une contrainte intentionnelle : les sub-agents ne peuvent ni en spawner d'autres ni communiquer entre eux. Tout remonte au parent, qui reste le seul coordinateur. Cette contrainte rend le système prévisible et le flux d'information traçable.
Faut-il toujours passer au multi-agents pour les tâches complexes ?
Non. On commence toujours par un agent unique bien prompté et bien outillé. Le multi-agents se justifie dans trois cas : protéger le contexte du bruit, paralléliser des tâches réellement indépendantes, ou spécialiser quand un agent croule sous trop d'outils. Des équipes ont passé des mois en multi-agents pour découvrir qu'un meilleur prompt suffisait.
Sources et references
Articles associés
Agents IA : Le Guide Complet pour les Entreprises
Un agent IA est un système qui exécute des tâches, pas seulement des réponses : il observe (données, mails, docs), planifie, agit via des outils (APIs) et vérifie. La clé en entreprise n’est pas “l’autonomie totale”, mais l’autonomie gouvernée : permissions m
LireMulti-agents 2026 : coordination, rôles, arbitrage
Une architecture multi-agents n’est pas un gadget : elle assigne des responsabilités (routeur, extracteur, critic, exécuteur) et aide à contrôler le risque. En 2026, LangGraph, AutoGen ou CrewAI rendent ça accessible, mais ça n’améliore pas tout : sans arbitr
LireArchitecture d’un agent IA : LLM, outils, mémoire, traces
Un agent IA est une boucle logicielle qui combine un LLM, des outils (API), une mémoire (RAG/state) et des garde-fous pour atteindre un objectif. Il observe, planifie, agit, vérifie, puis recommence. En production, la différence se fait sur la traçabilité, le
Lire