Aller au contenu principal
Intermédiaire12 min

Module 7 — Subagents et partitionnement


Objectif

À la fin de ce module, tu sauras quand et comment splitter ton travail en subagents pour isoler le contexte.


Pourquoi les subagents ?

Les subagents ne servent pas à “jouer à la maison” ou anthropomorphiser des rôles. Ils servent à une chose : le contrôle du contexte.

Le cas d’usage le plus courant : laisser un subagent faire la recherche/summarization avec un contexte frais, pendant que l’agent parent garde un contexte propre pour l’implémentation.


Quand partitionner

Situation Partitionner ? Raison
Contexte estimé > 60% de la fenêtre Oui Éviter la compaction agressive
Tâches indépendantes Oui Isoler le raisonnement
Recherche dans un gros codebase Oui Le subagent explore, le parent décide
Bugfix simple (< 5 fichiers) Non Overhead non justifié
Tâches fortement couplées Non Coordination coûte plus cher

Règle : Moins de 3 sous-tâches indépendantes = l’overhead de coordination dépasse souvent les économies.


Le subagent idéal

Le subagent idéal retourne un résultat structuré que l’agent parent peut utiliser sans re-explorer :

## Recherche : Authentification JWT

### Fichiers pertinents
- src/auth/controller.ts : génération du token (ligne 45-67)
- src/middleware/auth.ts : validation (ligne 12-34)
- src/config/jwt.ts : configuration (ligne 8-15)

### Flow d'information
1. Requête → middleware/auth.ts (validation)
2. → auth/controller.ts (génération)
3. → config/jwt.ts (paramètres)

### Hypothèses de cause
1. Regex email trop stricte (probabilité : haute)
2. Parsing du payload incorrect (probabilité : moyenne)

### Recommandation
Vérifier la regex dans middleware/auth.ts ligne 23

Types d’architecture multi-agent

Pattern Quand Structure
Orchestrateur Tâches complexes, multi-étapes 1 coordonnateur + N workers
Peer-to-peer Collaboration égale Agents qui se passent le contexte
Hiérarchique Équipes structurées Manager → Leads → Workers

Pour le code : Orchestrateur est le plus courant. Le parent garde le plan, les subagents exécutent.


Exemple dans Claude Code

# 1. Lancer un subagent pour la recherche
/claude subagent research "Trouve tous les usages de la fonction auth()"

# 2. Le subagent retourne un résumé structuré
# (pas les raw outputs de grep)

# 3. L'agent parent utilise ce résumé pour planifier

# 4. Lancer un subagent pour l'implémentation
/claude subagent implement "Applique le plan phase 1"

Handoff propre

Le handoff entre agents est le point de fragilité. Structure toujours le résultat d’un subagent avec :

  1. Intent : Ce que la tâche devait accomplir
  2. Findings : Ce qui a été découvert
  3. Decisions : Ce qui a été décidé
  4. State : L’état actuel (tests, fichiers modifiés)
  5. Next : Ce qui reste à faire

Checklist de validation

  • Je sais quand partitionner (>60% fenêtre, tâches indépendantes)
  • Je sais quand NE PAS partitionner (<3 sous-tâches, couplage fort)
  • Mes subagents retournent des résultats structurés
  • J’ai un format de handoff standardisé
  • Je compte l’overhead de coordination avant de partitionner

Piège courant

Partitionner trop tôt. → Pour un bugfix de 3 fichiers, lancer 3 subagents crée plus d’overhead qu’il n’économise de tokens. Chaque subagent a son propre system prompt, ses tool definitions, et ses messages de coordination. Seuil de rentabilité : typiquement 3+ sous-tâches indépendantes de taille significative.


Prochaine étape

→ Module 8 (Workflow Research → Plan → Implement) pour la méthode de production complète