Ne perdez jamais le fil : voici le checkpointing dans Kiro

Par
JO

Jonathan Vogel

Developer Advocacy

DA

Dan Kiuna

Developer

En tant que développeurs, nous sommes tous passés par là. Vous travaillez avec un assistant de programmation IA et vous progressez bien sur une fonctionnalité. L'agent effectue une série de changements—mise à jour de fichiers, refactorisation du code, ajout de nouvelles fonctionnalités. Puis, soudainement, quelque chose ne va pas. Peut-être que l'agent a mal compris une exigence. Peut-être qu'il a fait une supposition qui ne correspond pas à votre architecture. Ou peut-être que vous voulez simplement essayer une approche différente.

Le défi n'est pas seulement d'annuler les changements de code—c'est de perdre le contexte de votre conversation. Vous pourriez rétablir vos fichiers, mais vous vous retrouvez ensuite à essayer de reconstituer où vous en étiez dans votre dialogue avec l'IA. Le flux est rompu, et retrouver le fil demande du temps et de l'énergie mentale.

Et si vous pouviez expérimenter sans crainte? Et si vous pouviez laisser votre assistant IA s'attaquer à des refactorisations ambitieuses, en sachant que vous pourriez instantanément revenir en arrière si les choses ne se déroulent pas comme prévu? C'est la confiance qu'apporte le checkpointing au développement assisté par l'IA.

Qu'est-ce que le checkpointing?

Le checkpointing vous donne le pouvoir de revenir en arrière sur les changements de Kiro à n'importe quel point de votre session de développement. À mesure que Kiro modifie votre base de code, il crée automatiquement des marqueurs de checkpoint dans votre historique de clavardage. Pensez-y comme des points de sauvegarde automatique dans un jeu vidéo—si les choses dérapent et que vous perdez plus de points de vie que prévu, vous pouvez revenir à un checkpoint antérieur et essayer une approche différente.

Chaque checkpoint capture les changements spécifiques que Kiro a apportés à vos fichiers pendant cette session. En un seul clic, vous pouvez annuler toute modification de fichier apportée par l'agent après ce checkpoint, tout en préservant l'historique de votre conversation jusqu'à ce point de restauration. Vous conservez le contexte, vous annulez les changements non désirés et vous revenez à la construction.

Important : le checkpointing n'annule que les changements apportés par Kiro pendant la session en cours. Nous ne sauvegardons pas l'ensemble de votre base de code; seuls les fichiers modifiés par l'agent durant cette session spécifique peuvent être restaurés. Remarque : la restauration d'un checkpoint rétablit l'état complet de tout fichier que Kiro a touché, pas seulement les changements de Kiro. Si vous ou un autre outil avez apporté des modifications à ces mêmes fichiers après le checkpoint, ces modifications seront également perdues. Assurez-vous d'utiliser un système de contrôle de version si vous modifiez manuellement le code ou si d'autres systèmes modifient des fichiers pendant que vous travaillez avec Kiro.

Pourquoi le checkpointing est important

Le développement assisté par l'IA est puissant, mais il n'est pas parfait. Les grands modèles de langage sont probabilistes par nature. Parfois, ils font le bon choix. Parfois, non. La clé consiste à vous donner, à vous le développeur, le contrôle sur le processus.

Sans le checkpointing, chaque changement généré par l'IA comporte un risque. Vous pourriez hésiter à laisser Kiro s'attaquer à une refactorisation complexe parce que vous craignez le nettoyage à faire si quelque chose ne va pas. Vous pourriez passer plus de temps à réviser chaque changement que vous n'en passeriez à écrire le code vous-même. La crainte de perdre des progrès peut en réalité vous ralentir.

Le checkpointing change cette dynamique. Il vous donne la confiance nécessaire pour laisser Kiro prendre des décisions plus audacieuses. Vous voulez essayer une approche architecturale différente? Allez-y. Si ça ne fonctionne pas, vous êtes à un clic de votre point de départ. Vous voulez expérimenter avec une nouvelle bibliothèque? Aucun problème. Le checkpoint est là si vous en avez besoin.

Comment ça fonctionne

Le checkpointing dans Kiro est conçu pour être invisible jusqu'à ce que vous en ayez besoin. Vous n'avez pas à vous souvenir de créer des checkpoints ou à les gérer manuellement. Kiro s'en occupe pour vous.

Pendant que vous travaillez avec Kiro, des lignes de checkpoint apparaissent automatiquement dans votre interface de clavardage. Avant de commencer une tâche, un checkpoint est créé. Ces marqueurs visuels facilitent la visualisation de la structure de votre session de développement d'un simple coup d'œil.

Quand vous voulez revenir en arrière, cliquez simplement sur le bouton « Restaurer » sur une ligne de checkpoint. Kiro annule tout—tous les changements de fichiers apportés par l'agent et votre historique de conversation—vous remettant exactement à ce moment précis. Si vous aviez tapé un message sans l'avoir envoyé, il sera toujours là dans votre fenêtre de clavardage, prêt à être modifié ou envoyé. C'est comme un voyage dans le temps pour votre session de développement. Vous récupérez non seulement l'état du code, mais aussi le contexte complet d'où vous en étiez et à quoi vous pensiez.

Le checkpointing et le développement piloté par les Specs

Le checkpointing s'associe naturellement au flux de travail de développement piloté par les Specs de Kiro. Lorsque vous travaillez sur une spécification, vous pourriez vouloir essayer différentes approches pour mettre en œuvre une exigence particulière. Le checkpointing rend cette exploration sans risque. Vous pouvez aussi utiliser les checkpoints pour marquer l'achèvement de jalons majeurs dans votre Spec. Vous avez terminé l'implémentation du système d'authentification? C'est un checkpoint. Vous avez complété la couche de données? Un autre checkpoint. Ces marqueurs vous donnent une carte claire de votre progression et facilitent le retour aux étapes précédentes si vous devez apporter des changements.

Scénarios concrets

Regardons quelques scénarios où le checkpointing excelle :

Expérimentation sécuritaire : Vous vous demandez si une refactorisation particulière améliorerait la performance de votre code. Laissez Kiro effectuer les changements et exécuter vos tests de performance. Si les résultats ne sont pas ceux que vous espériez, revenez au checkpoint. Aucun mal fait. La capacité d'expérimenter sans conséquences est incroyablement libératrice.

Raffinement itératif : Parfois, vous devez essayer quelques variations avant de trouver la bonne solution. Avec le checkpointing, vous pouvez itérer rapidement. Essayez une approche, évaluez-la, revenez en arrière si nécessaire, et essayez à nouveau. Chaque itération s'appuie sur les leçons de la précédente, mais sans le fardeau des tentatives ratées qui encombrent votre base de code.

Exploration de différentes implémentations : Vous construisez un nouveau point de terminaison d'API et vous ne savez pas s'il faut utiliser REST ou GraphQL. Demandez d'abord à Kiro de l'implémenter en REST. Révisez le code, testez-le, voyez comment ça se sent. Pas tout à fait ce qu'il vous fallait? Revenez au checkpoint et demandez à Kiro d'essayer GraphQL à la place. Même conversation, approche différente, zéro nettoyage manuel.

Récupération après un malentendu : Vous demandez à Kiro « d'ajouter l'authentification au service utilisateur ». Kiro implémente OAuth2, mais vous vouliez en fait des clés API simples. Plutôt que d'annuler manuellement des dizaines de changements de fichiers, vous revenez au checkpoint d'avant que Kiro ne commence et vous clarifiez vos exigences. Kiro réessaie, cette fois avec la bonne approche.

Renforcer la confiance dans le développement assisté par l'IA

Le vrai pouvoir du checkpointing n'est pas seulement la capacité d'annuler des changements. C'est la confiance qu'il vous donne pour travailler différemment.

Avec le checkpointing, vous pouvez traiter le développement assisté par l'IA davantage comme une conversation et moins comme une transaction. Vous pouvez explorer des idées, tester des hypothèses et itérer rapidement sans vous soucier du coût de vous tromper. Vous pouvez laisser Kiro gérer des tâches plus complexes parce que vous savez que vous avez un filet de sécurité.

Ce changement de mentalité est subtil mais profond. Au lieu de contrôler minutieusement chaque étape que Kiro entreprend, vous pouvez vous concentrer sur la vue d'ensemble—ce que vous essayez de construire et pourquoi. Au lieu de dépenser votre énergie mentale sur « et si ça allait mal », vous pouvez la dépenser sur « et si ça allait bien ».

Le checkpointing et le contrôle de version

Soyons clairs : le checkpointing ne remplace pas le contrôle de version. Vous devriez continuer à utiliser Git (ou votre système de contrôle de version préféré) dans le cadre de votre flux de travail de développement. Pensez au contrôle de version comme à votre historique de projet à long terme et à votre outil de collaboration, tandis que le checkpointing est votre outil d'expérimentation et d'itération à court terme.

Le checkpointing excelle pendant les sessions de développement actives lorsque vous explorez des idées et itérez rapidement avec Kiro. Une fois que vous avez trouvé une approche qui vous satisfait, validez-la dans le contrôle de version comme vous le feriez normalement. Les deux outils servent des objectifs différents et fonctionnent mieux ensemble.

Essayez-le vous-même

Le checkpointing est disponible dès maintenant dans Kiro. Vous n'avez rien à configurer ni à changer dans votre façon de travailler. Commencez simplement une conversation avec Kiro, apportez quelques changements, et regardez les lignes de checkpoint apparaître. Quand vous devrez revenir en arrière, elles seront là, prêtes à vous attendre.

Nous avons conçu Kiro pour vous donner plus de contrôle sur le développement assisté par l'IA, pas moins. Le checkpointing est une grande partie de cette vision. Il s'agit de faire de l'IA un véritable partenaire dans votre processus de développement—un partenaire qui vous donne la liberté d'explorer, d'expérimenter et d'itérer sans crainte.

Prêt à programmer avec confiance? Téléchargez Kiro et voyez comment le checkpointing change votre façon de travailler avec l'IA.


Vous avez des questions sur le checkpointing ou vous voulez partager comment vous l'utilisez? Joignez la conversation dans notre communauté Discord ou suivez-nous sur X, LinkedIn, et Bluesky.