Piloter les sessions longues
Demander à Claude d'effectuer rapidement une tâche est facile. Vous demandez, cela fonctionne, vous vérifiez le résultat. Mais les tâches longues, c'est une autre histoire. Refactoriser une dizaine de fichiers ou développer une nouvelle fonctionnalité peut prendre des heures. Et plus vous devez piloter Claude en cours de route, plus cela s'éternise.
La bonne nouvelle, c'est que vous disposez de nombreux outils pour aider Claude pendant ces sessions longues. Cela se résume en réalité à deux habitudes : cadrer le travail avant que Claude ne commence, et le piloter pendant qu'il s'exécute. Voyons ces deux aspects.
Cadrer le travail d'abord avec le mode plan
Avant que Claude n'écrive la moindre ligne, demandez-lui d'établir un plan. En mode plan, Claude effectue ses recherches sans modifier vos fichiers source. Il lit le code, détermine ce qui doit changer, et vous remet un plan à examiner.
Lorsque vous recevez ce plan, lisez-le réellement. Ne le survolez pas. Plus le plan est détaillé, moins vous aurez de surprises une fois que Claude commencera à l'exécuter. Si quelque chose ne va pas ou manque, demandez simplement à Claude de l'ajouter là où vous le souhaitez. Itérer sur un plan est bien plus rapide que de laisser Claude s'exécuter en espérant que tout se passe bien, puis de nettoyer les dégâts.
Piloter pendant que Claude travaille
Une fois que Claude est en cours d'exécution, vous disposez de plusieurs moyens pour le maintenir dans la bonne direction. Le premier est la compaction.
Compact
Compact résume votre conversation, utilise ce résumé comme nouveau contexte, et supprime les anciens messages. Cela libère votre fenêtre de contexte afin que Claude puisse continuer. Le risque est qu'un élément important soit omis du résumé, et que Claude s'écarte de sa trajectoire.
N'exécutez donc pas simplement /compact seul. Ajoutez des instructions après la commande pour indiquer à Claude comment résumer. Par exemple, si vous avez terminé le débogage il y a un moment et que seules certaines modifications d'API vous intéressent désormais, dites-le :
/compact Concentre-toi sur l'implémentation de l'option --versionTout ce que vous écrivez après la commande détermine ce que le résumé conserve. C'est votre volant de pilotage pour le contexte.
Rewind
Lorsque Claude s'engage dans la mauvaise direction, vous n'avez pas besoin de le reformuler pour vous en sortir. Rewind vous ramène à votre dernier point de contrôle. Chaque requête utilisateur crée un point de contrôle auquel vous pouvez revenir. Pour ouvrir le menu, appuyez deux fois sur Échap sur une requête vide.
Depuis le menu Rewind, vous disposez de plusieurs options :
- Restaurer le code et la conversation - revenir en arrière sur les deux à la fois.
- Restaurer la conversation - revenir en arrière uniquement sur la discussion.
- Restaurer le code - revenir en arrière uniquement sur les fichiers.
- Résumer à partir d'ici - résume tout ce qui suit le point de contrôle. Idéal si vous avez eu une conversation annexe et souhaitez simplement libérer de l'espace.
- Résumer jusqu'ici - résume tout ce qui précède le point de contrôle. Idéal lorsque vous avez eu une longue phase de préparation que vous souhaitez compresser, tout en conservant intactes les parties d'implémentation.
Laisser Claude fonctionner de manière plus autonome
Tout ce qui précède suppose que vous êtes impliqué de près, en observant et en corrigeant. Si vous souhaitez quelque chose de plus autonome, il y a goal et loop.
Goal
Goal définit une condition d'achèvement. Vous décrivez à quoi ressemble le fait d'être « terminé », et Claude continue de travailler sur plusieurs tours jusqu'à ce qu'un évaluateur rapide confirme que ces conditions sont remplies. Il ne s'arrêtera pas simplement la première fois qu'il pense avoir terminé.
Par exemple :
/goal tous les tests dans src/billing réussissent, et le vérificateur de types ne signale aucune erreurPour l'annuler, exécutez /goal clear. Une contrainte importante : l'évaluateur ne lit que la transcription. Votre condition doit donc être vérifiable à partir de la sortie que Claude produit réellement, comme les résultats d'une exécution de tests.
Loop
Loop exécute une requête à intervalle entre les tours, fixe ou auto-rythmé. Utilisez-le pour interroger quelque chose d'externe, comme une exécution CI ou un déploiement, et agir lorsque l'état change.
Pour arrêter une boucle auto-rythmée pendant qu'elle attend sa prochaine exécution, appuyez sur Échap. Une boucle à intervalle fixe continue de s'exécuter jusqu'à ce que vous demandiez à Claude de l'annuler ou que sept jours s'écoulent.
Exécuter du travail en parallèle avec les worktrees
La métaphore du pilotage suppose jusqu'à présent un seul volant dans une seule voiture. Mais lorsque vous exécutez plusieurs agents sur la même base de code, vous ne voulez pas deux volants dans une seule voiture. C'est dangereux. Deux sessions Claude se disputant les mêmes fichiers entraînent des conflits.
C'est là qu'interviennent les worktrees. Au lieu que les sessions se marchent dessus, chacune obtient sa propre arborescence de fichiers indépendante.
Comme chaque agent possède sa propre arborescence, ils ne peuvent pas écraser les modifications des autres. Lorsqu'une session se termine, une worktree propre est automatiquement supprimée.
Il existe un fichier utile à connaître. Un fichier .worktreeinclude à la racine du dépôt répertorie les fichiers ignorés par git à copier dans chaque worktree. Cela est utile pour des éléments comme un fichier de variables d'environnement ou une configuration locale dont vous avez besoin dans chaque worktree, mais que vous ne souhaitez pas valider dans le contrôle de version.
Pour récapituler
Gérer les sessions longues de Claude Code se résume à quelques habitudes :
- Cadrez votre travail d'abord, puis pilotez.
- Orientez votre compaction pour que le résumé conserve ce qui compte.
- Utilisez le menu Rewind pour corriger la trajectoire lorsque Claude s'écarte.
- Définissez un objectif lorsque vous pouvez mieux décrire ce qu'est « terminé » que les étapes à suivre.
- Exécutez du travail en parallèle dans des worktrees.
Faites cela, et vous pourrez faire confiance à une longue exécution sans surveiller chaque étape.