Skill Open Source · Claude Code

Votre IA debug au hasard.
Voici comment lui apprendre la methode.

Un pipeline structure en 5 phases pour que vos agents IA arretent de tâtonner et debugguent comme un senior.

Arnaud Lamande · Chef d'equipe IT · Praticien BMAD

"Ton code est clean, 0 finding."

C'est ce que me disait mon reviewer Opus apres avoir implemente une story.

Sauf que le Docker test derriere trouvait 3 regressions.

Vous connaissez le scenario : vous decrivez un bug a votre assistant IA. Il modifie un fichier. Les tests echouent. Il modifie le meme fichier autrement. Toujours rouge. Il ajoute un try/except. Dix minutes et 50 000 tokens plus tard, votre code est dans un etat pire qu'au depart.

Ce comportement a un nom : le flailing. L'IA tâtonne sans comprendre, comme un developpeur junior qui modifie des trucs au hasard en esperant que ca passe au vert.

Le probleme n'est pas l'IA. Le probleme, c'est qu'on lui demande de resoudre un bug sans methode.

Le vrai probleme : on a automatise le chaos

Quand un developpeur senior debug, il ne commence pas par modifier du code. Il observe. Il lit la stack trace. Il remonte la chaine d'appels. Il formule des hypotheses. Il les confronte aux faits. Et seulement apres, il touche au code.

Quand on donne un bug a une IA sans framework, on saute directement a l'etape "modifier du code". On supprime tout le raisonnement qui fait la difference entre un patch qui tient et un hack qui explose en production trois jours plus tard.

Pas de methode action immediate flailing

J'ai passe les derniers mois a construire un pipeline structure pour corriger ca. Il s'appelle dev-bugfix-pipeline, c'est une skill pour Claude Code, et il est en open source.

L'idee : forcer l'IA a reflechir avant d'agir

Le pipeline impose une discipline en 5 phases — de la description du bug jusqu'au commit. L'IA n'a pas le droit de toucher au code avant d'avoir traverse un processus de diagnostic rigoureux.

Diagnostic Validation Avocat du diable Impl + Review Respire

Phase 1 — Diagnostic structure

Pas de code. Que du raisonnement.

🔬
Ishikawa + 5 Whys + FVDebug
Opus · ~40k tokens

Au lieu de laisser l'IA sauter sur la premiere explication plausible, le pipeline lui impose le diagramme d'Ishikawa adapte au software. Elle doit generer 5 a 7 hypotheses reparties sur 7 categories : Logique, Donnees, Interface, Environnement, Architecture, Concurrence, Historique.

Pourquoi 7 categories ?

Pour casser l'anchoring bias. Sans cette contrainte, un LLM s'ancre sur la premiere hypothese qui semble tenir et ne lâche plus. En le forcant a explorer des categories qu'il n'aurait pas envisagees (concurrence ? historique de migrations ?), on obtient des diagnostics nettement plus fiables.

Ensuite, pour chaque hypothese, l'IA produit des arguments POUR et CONTRE — une technique issue de la recherche FVDebug de NVIDIA sur le debugging assiste par LLM. Et enfin, les 5 Whys de Toyota sur les 3 meilleures hypotheses pour creuser jusqu'a la cause racine.

Resultat

Quand l'IA arrive a l'implementation, elle a une comprehension profonde du probleme. Pas juste "cette ligne crashe", mais "cette ligne crashe parce que le contrat d'interface a change lors de la migration Pydantic v2 et que le middleware d'erreur ne gere pas le nouveau format de validation".

Phase 2 — Validation humaine

🤝
L'IA propose, le developpeur valide
2-3 rounds d'elicitation

Le diagnostic est presente au developpeur en 2-3 rounds de questions ciblees. L'IA ne decide pas seule — elle guide le developpeur vers la confirmation ou la correction de son analyse.

C'est le principe d'elicitation de la methodologie BMAD : l'IA propose des hypotheses structurees, l'humain apporte sa connaissance du contexte metier que le code seul ne revele pas.

Phase 3 — Avocat du diable

👹
Stress-test avant implementation
Opus · verdict trinaire

Avant d'ecrire la premiere ligne de code, un revieweur adversarial challenge la solution proposee. Il argumente CONTRE la solution, identifie les risques de regression, les edge cases manques, et propose au minimum 2 alternatives.

Le verdict est trinaire : PROCEED (go), REVISE (ajuster), ou PIVOT (changer d'approche). Cette etape tourne une seule fois — pas de boucle infinie. C'est un gate, pas un comite.

Phase 4 — Implementation + Review par personas

3 revieweurs specialises en parallele
Opus x3 ∥ + Sonnet eval

L'implementation suit, encadree par les acceptance criteria et le diagnostic valide. Puis le code passe devant 3 revieweurs specialises en parallele : un Security Auditor, un Architecture Purist, et un Edge Case Hunter.

Chaque persona a son propre angle d'attaque et ne voit pas les findings des autres (pour eviter le biais de conformite). Un evaluateur consolide, deduplique, et priorise. S'il reste des findings critiques, le cycle recommence — mais jamais plus de 3 rounds.

Phase 5 — Le protocole Respire

Circuit breaker pour agents IA qui flail

C'est la piece dont je suis le plus fier, et elle vient d'une idee de Gael Pereur. Le constat : quand un agent IA s'enlise, lui demander de "reessayer mieux" ne marche pas. Il faut un protocole de rupture.

Respire n'est pas declenche par l'agent lui-meme — c'est l'orchestrateur qui surveille des signaux concrets :

!! 2 echecs consecutifs de tests
!! Le meme fichier modifie 3 fois pour le meme probleme
!! Un pattern revert + micro-variation
!! Un message d'erreur identique apres correction

Quand un signal est detecte, tout s'arrete. L'agent est "tue". Le protocole se deroule en 4 temps :

01
SITREP
Un rapport de situation brutal et honnete. Qu'est-ce qu'on a essaye ? Qu'est-ce qui a echoue ? Quels sont les trous dans notre comprehension ?
02
RECHERCHE
Des requetes ciblees basees sur les erreurs exactes — pas "mon API marche pas", mais "TypeError FastAPI response_model Pydantic v2 migration". Recherche web + locale dans le codebase.
03
PLAN
Un plan d'action avec un Differentiation Guard obligatoire : le nouveau plan DOIT differer sur au moins un axe fondamental. Pas de micro-variation autorisee.
04
RETRY
Un nouvel agent frais, avec le contexte enrichi. Un changement a la fois, scope verrouille, interdiction de modifier les tests. Si le retry echoue aussi ? Arret definitif.

Pourquoi un framework "carre" est indispensable

1.
Biais d'action
Les LLM veulent toujours produire du code
2.
Cout du flailing
50k tokens de tentatives > 10k de diagnostic
3.
Auto-diagnostic
Un agent ne detecte pas son propre echec

Le point cle

L'externalisation de la detection de flailing (l'orchestrateur observe, pas l'agent) est une decision architecturale critique. C'est le meme principe que dans la vraie vie : quand vous etes dans le trou, vous ne voyez pas la sortie.

En pratique

La skill s'utilise directement dans Claude Code :

# Avec un tech-spec BMAD
/dev-bugfix-pipeline _bmad-output/tech-spec-fix-parsing.md

# En mode ad-hoc (juste une description du bug)
/dev-bugfix-pipeline "json.loads plante sur les reponses Mistral wrappees en backticks"

# Mode rapide pour les bugs triviaux
/dev-bugfix-pipeline "typo dans le endpoint /api/users" -D -X -e

# Mode auto (zero confirmation, pipeline complet)
/dev-bugfix-pipeline tech-spec.md -a

Le pipeline s'adapte : il auto-detecte le projet (langage, framework de test, patterns), estime la complexite du bug, et recommande le niveau de rigueur approprie. Un typo n'a pas besoin du diagramme d'Ishikawa. Un bug de concurrence multi-module, si.

A retenir

Le debugging assiste par IA, c'est comme le reste de l'ingenierie : la discipline bat le talent. Surtout quand le "talent" a tendance a halluciner.

Le pipeline complet est disponible en open source. Une skill Claude Code composee de fichiers Markdown orchestres — zero dependance, zero setup complexe.

Si vous travaillez avec Claude Code et que vous en avez marre de voir vos agents tourner en rond sur des bugs, essayez-la.

Voir la skill sur GitHub Contactez-moi
#ClaudeCode #BMAD #Debugging #AIAssistedDev #OpenSource #DevTools #LLM #SoftwareEngineering