Skip to content

Lab 3.5 : Workflows Multi-Claude

Module : 3.5 - Workflows Multi-Claude | ← SlidesDurée : 30 minutes Projet Exemple : hackathon-starter

Objectifs d'Apprentissage

À la fin de ce lab, vous serez capable de :

  • Utiliser le Plan Mode pour explorer une codebase legacy sans consommer le contexte d'implémentation
  • Transmettre les résultats d'exploration (SUMMARY.md) à une session Builder fraîche
  • Exécuter des sessions parallèles avec claude -w pour des tâches indépendantes
  • Choisir le bon pattern multi-session selon les caractéristiques de la tâche

Prérequis

  • Avoir complété les labs précédents du Jour 3
  • Connaître /rename, --resume, --continue (vus dans le Module 3.0)
  • Être capable d'ouvrir plusieurs fenêtres de terminal
  • Être familier avec le projet hackathon-starter

Pourquoi Multi-Session ?

La vraie raison n'est pas d'avoir "plusieurs perspectives" — c'est de contrôler le contexte.

Le contexte se dégrade à mesure qu'il se remplit. Will Ness l'a mesuré empiriquement :

  • 0-40% plein : raisonnement de haute qualité
  • 40-70% plein : qualité moyenne
  • 70%+ plein : qualité nettement dégradée

Explorer une codebase legacy consomme le contexte très vite. Tracer un flux d'authentification à travers six fichiers peut remplir la moitié de votre fenêtre de contexte avant même d'avoir écrit une ligne. Des sessions séparées donnent à chaque rôle un contexte propre.

Soyons honnêtes sur quand vous en avez vraiment besoin :

SituationRecommandation
Correction rapide, emplacement connuUne seule session suffit
Périmètre clair + bons testsBuild + "review your work" dans la même session
Exploration longue (50+ lectures de fichiers)Explore → Plan → Build
Tâches parallèles indépendantesclaude -w worktrees
Débogage complexe, cause racine inconnueHypothèses concurrentes (Agent Teams)
Changements sensibles à la sécuritéRevue en contexte vierge

La plupart du travail quotidien n'a pas besoin de multi-session. Réservez-le pour quand ça vaut le surcoût de coordination.


Configuration

bash
cd sample-projects/hackathon-starter

Tâche 1 : Explore → Plan → Build (15 minutes)

C'est le pattern principal pour le travail sur du code legacy. L'Explorer cartographie le territoire avec tout son contexte. Le Builder travaille depuis la carte, sans jamais brûler son contexte sur de l'archéologie.

Étape 1 : Lancer l'Explorer (Terminal A)

Ouvrez un terminal et naviguez vers le projet :

bash
cd sample-projects/hackathon-starter
claude

Dès que Claude démarre, nommez la session :

/rename explore-lab35

Activez le Plan Mode en appuyant deux fois sur Shift+Tab (le mode cycle : Normal → Auto-Accept → Plan Mode). L'indicateur de mode change dans l'interface. En Plan Mode, Claude planifie et lit des fichiers, mais ne modifie rien.

Vous pouvez aussi démarrer directement avec le flag :

bash
claude --permission-mode plan

Étape 2 : Donner sa mission à l'Explorer

Donnez ce prompt à l'Explorer (en anglais — Claude fonctionne mieux ainsi) :

Trace the authentication flow in this application. Start from the route handler
for login. Map every file involved: controllers, models, middleware, config.
Note the patterns used (callbacks, promises, passport strategies).
Save your findings to SUMMARY.md. Do not modify any source files.

Attendez que l'Explorer termine et produise SUMMARY.md.

Étape 3 : Lire le résumé

Ouvrez SUMMARY.md et lisez-le avant de continuer. Demandez-vous :

  • Quels fichiers sont impliqués dans l'authentification ?
  • Où se passe la gestion des sessions ?
  • Y a-t-il des middlewares inattendus ?

Le résumé est l'artefact de passation. S'il est vague, demandez à l'Explorer d'être plus précis avant de passer à la suite.

Étape 4 : Lancer le Builder (Terminal B)

Ouvrez un second terminal — nouvelle session, contexte vierge :

bash
cd sample-projects/hackathon-starter
claude

Nommez cette session immédiatement :

/rename build-lab35

Étape 5 : Donner sa mission au Builder

Read SUMMARY.md. Add rate limiting to the login endpoint — max 5 attempts per
IP per 15 minutes. Follow the patterns documented in the summary.
Write tests that match the existing test style.

La référence SUMMARY.md charge le fichier dans le contexte. Le Builder travaille depuis la carte de l'Explorer — il n'a jamais à relire les fichiers que l'Explorer a déjà tracés.

Critères de réussite

  • [ ] L'Explorer a produit un SUMMARY.md utile avec la carte du flux d'auth
  • [ ] Le Builder a démarré dans une session séparée (contexte vierge)
  • [ ] Le Builder n'a pas relu les fichiers que l'Explorer avait déjà cartographiés
  • [ ] Le rate limiting est implémenté
  • [ ] Les tests passent

Tâche 2 : Worktrees Parallèles avec claude -w (10 minutes)

Quand deux tâches sont indépendantes, lancez-les en parallèle. claude -w crée un répertoire isolé et une branche dédiée pour chaque session — pas de conflits de fichiers, nettoyage automatique.

Ouvrez deux terminaux et lancez-les simultanément :

Terminal 1 :

bash
cd sample-projects/hackathon-starter
claude -w add-validation

Donnez-lui cette tâche :

Add input validation to the user registration endpoint.
Validate email format and password strength (min 8 chars, at least one number).

Terminal 2 (en même temps) :

bash
cd sample-projects/hackathon-starter
claude -w add-tests

Donnez-lui cette tâche :

Write unit tests for the existing user profile update functionality.
Focus on edge cases: missing fields, invalid email, unauthorized access.

Les deux tournent en parallèle. Quand vous avez terminé, quittez l'une sans faire de modifications — le worktree et la branche sont supprimés automatiquement.

Critères de réussite

  • [ ] Les deux sessions ont tourné simultanément
  • [ ] Aucun conflit de fichiers entre elles
  • [ ] Le nettoyage automatique a fonctionné sur la session sans modifications
  • [ ] Temps total inférieur à une exécution séquentielle

Choisir Votre Approche

ApprocheQuand l'utiliserCoordination
Session uniqueTâches séquentielles, changements simplesAucune nécessaire
SubagentsTâches ciblées où seul le résultat compteAutomatique (l'agent principal gère)
claude -wTâches parallèles, isolation facileNettoyage automatique, vous changez de terminal
Worktrees manuelsBranches spécifiques, emplacements personnalisésManuel (vous gérez tout)
Agent Teams (expérimental)Travail parallèle complexe nécessitant une discussionAutomatisé (liste de tâches partagée + messagerie)

Isolation worktree des subagents : les subagents peuvent aussi tourner dans leur propre worktree. Demandez à Claude d'utiliser des worktrees pour ses agents, ou ajoutez isolation: worktree dans le frontmatter du subagent.

Guide de Décision Rapide

ScénarioRecommandation
Exploration de code legacy inconnuExplore → Plan → Build — contexte contrôlé par rôle
Grande refactorisationclaude -w — un worktree isolé par rôle
Fonctionnalités parallèles indépendantesclaude -w — un worktree par fonctionnalité
Subagents qui se marchent dessusAjoutez isolation: worktree dans le frontmatter
Débogage d'un problème connuSession unique — la concentration est préférable
Audit de sécuritéAgent Teams ou sessions manuelles — plusieurs réviseurs détectent plus

Conseils pour Réussir

  1. Nommez vos sessions immédiatement/rename explore-lab35 dès le démarrage, avant toute autre chose
  2. Reprenez par nomclaude --resume explore-lab35 reprend exactement là où vous vous étiez arrêté
  3. Forkez une sessionclaude --resume explore-lab35 --fork-session crée une nouvelle session à partir d'une existante, utile pour bifurquer depuis une exploration
  4. Nettoyez entre les phases/clear si vous restez dans la même session mais changez de rôle
  5. Utilisez les worktreesclaude -w gère l'isolation et le nettoyage automatiquement
  6. Plan Mode pour l'exploration — Shift+Tab deux fois, ou --permission-mode plan, empêche les modifications accidentelles pendant la cartographie

Worktrees pour le Travail Parallèle

Worktrees intégrés (recommandé)

Utilisez le flag --worktree (-w) — Claude crée et gère le worktree pour vous :

bash
# Terminal 1 : Claude Explorer dans son propre worktree
claude -w explore-lab35
# Crée .claude/worktrees/explore-lab35/ avec la branche worktree-explore-lab35

# Terminal 2 : Claude Builder dans son propre worktree
claude -w build-lab35
# Crée .claude/worktrees/build-lab35/ avec la branche worktree-build-lab35

# Nom auto-généré si omis
claude -w
# Crée quelque chose comme .claude/worktrees/bright-running-fox/

Le nettoyage est automatique : pas de modifications → le worktree et la branche sont supprimés en quittant. Des modifications existent → Claude propose de garder ou supprimer.

Astuce : ajoutez .claude/worktrees/ à votre .gitignore.

Worktrees manuels (pour plus de contrôle)

Quand vous avez besoin d'une branche spécifique ou d'un emplacement personnalisé :

bash
# Créer des worktrees pour le travail parallèle
git worktree add -b explore ../hackathon-explore
git worktree add -b build   ../hackathon-build

# Terminal 1 : Claude Explorer
cd ../hackathon-explore && claude

# Terminal 2 : Claude Builder
cd ../hackathon-build && claude

# Vérifier vos worktrees
git worktree list

# Nettoyer quand c'est terminé
git worktree remove ../hackathon-explore
git worktree remove ../hackathon-build

Rappel : chaque worktree peut nécessiter sa propre installation de dépendances (npm install, etc.).


Dépannage

Sessions en conflit sur les mêmes fichiers :

  • Travaillez sur des fichiers différents, ou utilisez claude -w pour l'isolation automatique

Confusion de contexte entre sessions :

  • Chaque session est indépendante — partagez le contexte pertinent explicitement via @fichier ou copier-coller

L'Explorer modifie du code malgré le Plan Mode :

  • Vérifiez que vous êtes bien en Plan Mode (l'indicateur apparaît dans l'interface)
  • Ajoutez "Do not modify any source files" au prompt comme filet de sécurité

Plan Mode ne s'active pas :

  • Appuyez deux fois sur Shift+Tab depuis le mode par défaut (Normal → Auto-Accept → Plan Mode)
  • Ou démarrez avec claude --permission-mode plan

Trop de sessions ouvertes :

  • Commencez avec 2, ajoutez-en plus seulement si nécessaire. Plus n'est pas toujours mieux.

Objectifs Avancés (Stretch Goals)

Si vous finissez en avance :

1. Essayez les Agent Teams

Activez CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, puis essayez :

Create an agent team to review the authentication module from three angles:
one teammate focused on security vulnerabilities, one on performance bottlenecks,
one on test coverage gaps. Synthesize their findings into a single report.

Utilisez claude --teammate-mode in-process pour garder tous les coéquipiers dans un terminal (Shift+Down pour naviguer entre eux), ou --teammate-mode tmux pour des panneaux séparés.

Limitation connue : /resume ne restaure pas les coéquipiers in-process. Si vous reprenez une session, le leader peut essayer de contacter des coéquipiers qui n'existent plus — dites-lui d'en créer de nouveaux.

2. Isolation de subagent avec worktree

Reprenez un subagent du Module 3.2 et ajoutez isolation: worktree dans son frontmatter. Observez comment chaque subagent obtient son propre répertoire isolé.

3. Aperçu de claude -p

Essayez claude -p pour exécuter une tâche en mode headless (sans interface interactive). C'est un avant-goût du Module 3.6 sur le CI/CD.


Livrables

À la fin de ce lab, vous devriez avoir :

  1. Un fichier SUMMARY.md produit par l'Explorer
  2. Des modifications de code faites par le Builder depuis un contexte vierge
  3. La compréhension concrète de quand chaque pattern vaut son surcoût de coordination

Prochaines Étapes

Après avoir complété ce lab, passez au Lab 3.6 : CI/CD & Mode Headless.

Claude for Coders Training Course