promptgarten 🌱
🌍 ZH
Guide●●○5 min · +40 XP

Checkpoints et rollbacks : revenir en arrière proprement plutôt que bricoler

Des commits Git avant les étapes risquées et des fonctions de rewind intégrées transforment une tentative d'agent ratée en un simple « retour en arrière », au lieu de corriger sans fin.

Deux niveaux de checkpoints

Dans le travail avec des agents, les checkpoints sont utiles à deux niveaux : durablement dans Git (un commit avant une étape risquée, que tu peux récupérer de façon ciblée à tout moment), et localement dans l'outil lui-même, comme le checkpointing de Claude Code, qui sauvegarde automatiquement l'état des fichiers avant chaque prompt.

Comment fonctionne le rewind de Claude Code

Avant chaque prompt, Claude Code enregistre automatiquement un instantané du code. Via /rewind (ou deux fois Échap avec le champ de saisie vide), tu ouvres un menu d'options de récupération – de la remise à zéro complète du code et de la conversation, jusqu'à la remise à zéro de la seule conversation, le code étant conservé.

Pourquoi revenir en arrière vaut mieux que de bricoler

Quand un agent s'est fourvoyé dans une mauvaise approche, « le laisser simplement continuer à réparer » mène souvent à toujours plus de patches sur une base déjà cassée. Un rollback propre vers le dernier état fonctionnel, suivi d'un nouveau départ conscient, est généralement plus rapide qu'une situation bloquée sauvée étape par étape.

La limite des checkpoints

Les checkpoints intégrés ne capturent que les modifications que l'outil lui-même a effectuées via ses tools de fichiers – les modifications faites via des commandes bash comme rm, mv ou cp n'y figurent pas. Les checkpoints complètent Git, mais ne le remplacent pas : les checkpoints sont le « annuler » local, Git est l'historique durable.

EXEMPLE

git add -A && git commit -m "checkpoint : avant le refactoring de auth.py" # ensuite, laisser l'agent travailler librement # si nécessaire : git reset --hard HEAD~1 (retour au checkpoint) # ou au sein de la session : /rewind → "Réinitialiser le code" pour le dernier prompt

🛠️ EXERCICE — À TOI DE JOUER

Pose consciemment un checkpoint Git avant une tâche d'agent risquée, et teste aussi bien /rewind qu'un rollback Git.

  1. Fais un commit de l'état actuel propre de ton projet avec un message de checkpoint clair.
  2. Fais réaliser par un agent une modification importante et risquée (par ex. un refactoring sur plusieurs fichiers).
  3. Utilise /rewind pour réinitialiser uniquement le code de façon ciblée, tout en conservant la conversation.
  4. Simule un cas plus grave : reviens en plus, à titre de test, au commit précédent avec git reset --hard.

AUTO-VÉRIFICATION

  • As-tu pu, avec /rewind, réinitialiser uniquement le code de façon ciblée, sans perdre la conversation ?
  • Qu'aurais-tu fait si l'agent avait supprimé le fichier via rm à la place ?

QUIZ RAPIDE

Qu'est-ce que le checkpointing de Claude Code NE capture PAS, ce qui rend Git toujours nécessaire pour cela ?

Partager:𝕏in💬

SOURCES

SUJETS LIÉS

Agent bloqué ? Comment t'en sortir ●●○Git et GitHub pour les vibe coders ●○○Commandes slash, hooks & Co : piloter Claude Code ●●○Git worktrees pour des agents IA en parallèle ●●○