- Au début, en utilisant Claude Code, l’approche consistait simplement à enchaîner instructions de prompt et cycles de correction, mais pour les tâches complexes, cela a révélé des problèmes de dépendance à l’historique de la conversation et de limites de contexte
- Pour y remédier, on lui fait rédiger un document de planification (plan document) avant toute implémentation, qui devient dans une nouvelle session l’unique source de vérité (SSOT)
- Le document de planification contient une reformulation des exigences, des explications sur les détails d’implémentation, des commandes de vérification de la qualité du code, etc., et continue d’être mis à jour pendant l’implémentation comme un document vivant (living document)
- Cela permet de résoudre les problèmes de perte de contexte, et de reprendre le projet dans une nouvelle session à partir de ce seul document
- Au final, l’IA ne sert plus seulement d’outil d’exécution, mais joue le rôle d’un partenaire de conception collaboratif qui pousse le développeur à réfléchir et documenter plus en profondeur sa conception
Constats : les limites d’une approche par simple conversation
- Lorsqu’on travaille avec Claude Code de manière conversationnelle, cela convient aux tâches simples, mais à mesure que les tâches complexes prennent de l’ampleur, plusieurs limites majeures apparaissent
- La conversation devient l’unique source de vérité, si bien qu’un nouveau message peut facilement écraser une instruction précédente, sans qu’il soit toujours facile d’identifier clairement quand cela se produit
- En raison de la limite de taille du contexte de l’IA, plus la conversation s’allonge, plus certaines informations antérieures risquent d’être perdues
- Même si Claude Code dispose d’une fonction de compression des conversations, cela ne supprime pas complètement cette limite
Expérimentation d’une approche centrée sur le document de planification
- Pour résoudre ce problème, une approche fondée sur un document de planification a été testée
- Au démarrage, on demande à Claude Code de décrire aussi précisément que possible la fonctionnalité à implémenter ou le bug à corriger
- On mentionne également les fichiers source existants ou les documents de planification déjà rédigés qui peuvent servir de référence
- On évite les consignes d’implémentation trop détaillées afin d’encourager le rôle de proposition de conception de l’IA
- Une fois le document de planification jugé suffisamment satisfaisant, on efface l’historique de conversation et on redémarre avec ce seul plan comme contexte
- Le plan comprend un résumé de la fonctionnalité, un plan d’implémentation, du code et du pseudocode, ainsi que des commandes de type checking, lint et test
Un processus de conception collaboratif
- Quand la conception proposée par l’IA ne convient pas, on fournit un retour précis afin d’orienter vers une approche révisée
- Au fil des échanges, on peut aussi se rendre compte que la première proposition de l’IA était plus adaptée, ce qui s’avère plus efficace que de coder uniquement à partir de sa propre conception
- Une conversation structurée offre une expérience proche de celle d’une discussion de plan avec un collègue développeur
- L’IA ne propose pas spontanément une approche totalement différente, mais peut suggérer d’autres alternatives si on l’interroge
La méthode du document vivant (Living Document)
- Le document de planification n’est pas rédigé une fois pour toutes : il continue d’être mis à jour tout au long de l’implémentation
- Les changements révélés pendant l’implémentation, le contrôle de types, le lint ou les tests y sont reflétés en temps réel
- On prend l’habitude, à chaque commit de code, de demander une vérification de l’état le plus récent du plan
- Comme le plan reste constamment à jour, il suffit de le joindre à une nouvelle session de conversation pour reprendre exactement où l’on s’était arrêté, sans perte de contexte
Revue de code et évolution des habitudes de développement
- Une fois l’implémentation commencée, on vérifie périodiquement les changements et, si le résultat est satisfaisant, on tend à accorder davantage de confiance au travail de l’IA
- Lors de la revue finale du code, le document de planification mis à jour aide à comprendre les fondements des décisions techniques
- Le fait de préparer et documenter minutieusement un plan en amont permet de devenir un meilleur développeur
- Comme il faut l’expliquer à l’IA, on clarifie plus nettement son propre processus de décision
Du chaos à la méthode
- Cette approche fait du document de planification la source unique de vérité, résout les problèmes de perte de contexte et favorise une réflexion architecturale
- Le document de planification contient à la fois la spécification et le journal d’implémentation, en documentant non seulement le « quoi », mais aussi le « pourquoi » et le « comment »
- Le résultat final est un processus de développement planifié, bien documenté et fiable
- L’IA s’impose non plus comme un simple exécutant, mais comme un partenaire de conception collaboratif
Aucun commentaire pour le moment.