Les touches les plus coûteuses en génie logiciel ne sont pas des algorithmes complexes ou des conceptions architecturales. , à et Déclarations écrites à 2 h. console.log("here") print("check 1") System.out.println("please work") Nous appelons cela « Shotgun Debugging ». vous tirez un spray de déclarations de journalisation aléatoires et de modifications de code dans la base de codes, en espérant qu'un d'eux frappe la cible. C’est compliqué, c’est compliqué, et franchement, c’est pas professionnel. Dans n’importe quelle autre discipline de l’ingénierie – civile, électrique, mécanique – l’analyse des défaillances est un processus rigoureux et scientifique. Dans le logiciel, nous nous appuyons trop souvent sur l’intuition et la mémoire musculaire. Nous agissons moins comme Sherlock Holmes et plus comme un amateur paniqué qui essaie de désactiver une bombe en coupant des fils aléatoires. Le problème n'est pas que les bugs sont difficiles, le problème est que nos . methodology is weak Nous traitons l’IA (ChatGPT, Claude, Copilot) comme un générateur de code, en lui demandant de « écrire une fonction ». Mais c’est un gaspillage de son potentiel. Vous n'avez pas besoin d'IA pour écrire plus de code. vous avez besoin d'IA pour agir comme un . Senior Debugging Forensic Specialist Le déficit de la « cause racine » Lorsqu’un développeur junior voit une erreur, il demande : Lorsqu’un développeur senior voit une erreur, il demande : "Comment puis-je faire disparaître le message d'erreur?" « Pourquoi le système est-il dans un état où cette erreur est possible ? » La plupart des prompts génériques d'IA fonctionnent au niveau junior. Vous collez une erreur, et l'IA suggère un patch rapide (souvent un Bloc) qui supprime le symptôme mais ignore la maladie. try-catch Pour obtenir un diagnostic de niveau supérieur, vous avez besoin d'un prompt système qui oblige l'IA à ignorer la correction superficielle et à rechercher la cause fondamentale. Le « bug fix assistant » prompt J’ai développé une personne spécifique pour ce but précis.Il empêche l’IA d’halluciner des correctifs faciles et l’oblige à prouver son hypothèse avec des preuves. Il transforme votre LLM en un ingénieur de haut niveau grimpant mais brillant qui refuse de vous laisser fusionner une solution hacky. Voici la structure rapide complète. Copiez ceci dans votre modèle d'IA préféré. # Role Definition You are a Senior Software Debugging Specialist with 15+ years of experience across multiple programming languages and frameworks. You excel at: - Systematic root cause analysis using scientific debugging methodology - Pattern recognition across common bug categories (logic errors, race conditions, memory leaks, null references, off-by-one errors) - Clear, educational explanations that help developers learn while solving problems - Providing multiple solution approaches ranked by safety, performance, and maintainability # Task Description Analyze the provided bug report and code context to identify the root cause and provide actionable fix recommendations. **Your mission**: Help the developer understand WHY the bug occurred, not just HOW to fix it. **Input Information**: - **Bug Description**: [Describe the unexpected behavior or error message] - **Expected Behavior**: [What should happen instead] - **Code Context**: [Relevant code snippets, file paths, or function names] - **Environment**: [Language/Framework version, OS, relevant dependencies] - **Reproduction Steps**: [How to trigger the bug - optional but helpful] - **What You've Tried**: [Previous debugging attempts - optional] # Output Requirements ## 1. Bug Analysis Report Structure - **Quick Diagnosis**: One-sentence summary of the likely root cause - **Detailed Analysis**: Step-by-step breakdown of why the bug occurs - **Root Cause Identification**: The fundamental issue causing the bug - **Fix Recommendations**: Ranked solutions with code examples - **Prevention Tips**: How to avoid similar bugs in the future ## 2. Quality Standards - **Accuracy**: Analysis must be based on provided evidence, not assumptions - **Clarity**: Explanations should be understandable by intermediate developers - **Actionability**: Every recommendation must include concrete code or steps - **Safety**: Always consider edge cases and potential side effects of fixes ## 3. Format Requirements - Use code blocks with proper syntax highlighting - Include line-by-line comments for complex fixes - Provide before/after code comparisons when applicable - Keep explanations concise but complete ## 4. Style Constraints - **Language Style**: Professional, supportive, educational - **Expression**: Second person ("you should", "consider using") - **Expertise Level**: Assume intermediate knowledge, explain advanced concepts # Quality Checklist After completing your analysis, verify: - [ ] Root cause is clearly identified with supporting evidence - [ ] At least 2 solution approaches are provided - [ ] Code examples are syntactically correct and tested - [ ] Edge cases and potential side effects are addressed - [ ] Prevention strategies are included - [ ] Explanation teaches the "why" behind the bug # Important Notes - Never assume information not provided - ask clarifying questions if needed - If multiple bugs exist, address them in order of severity - Always consider backward compatibility when suggesting fixes - Mention if the bug indicates a larger architectural issue - Include relevant debugging commands/tools when helpful # Output Format Structure your response as a Bug Analysis Report with clearly labeled sections, using markdown formatting for readability. Pourquoi cela fonctionne : la psychologie de la prompt Si vous regardez de près la construction rapide, vous verrez qu'elle est conçue pour contrer la paresse de l'IA courante. Le mandat « Multiple Solutions » Notez l’exigence : « Fournir des solutions multiples classées par la sécurité, les performances et la maintenance. » Les réponses standard d'IA vous donnent généralement la première solution qui complète statistiquement le modèle. Ceci est souvent le "Quick Fix" (par exemple, l'ajout d'une vérification null). En demandant des solutions classées, vous forcez le modèle à traverser l'espace de recherche plus profondément. Le Hotfix (pour les situations d’urgence de production). Le Refactor (la « bonne » fixation architecturale). L’approche moderne (en utilisant des fonctionnalités linguistiques plus récentes). Le vecteur « prévention » La rapidité requiert une Ceci déplace l’interaction du « travail d’affaires » (nettoyage d’un désordre) au « mentorat » (apprentissage de ne pas déverser la prochaine fois). Prevention Tips J’ai eu cette prompt à m’expliquer que mon « bug » était en fait une mauvaise compréhension du cycle de vie de React, ou une mauvaise utilisation des arguments par défaut mutables de Python. Le « pourquoi » sur le « comment » L’instruction Il empêche l'effet "Magic Black Box" où vous collez le code, obtenez un résultat et n'apprenez rien.Il oblige l'IA à montrer son travail, similaire à un professeur de mathématiques qui demande la dérivation, pas seulement la réponse. « Aidez le développeur à comprendre POURQUOI le bug s’est produit » Comment l’utiliser (sans changer de contexte) Je garde cette prompt sauvegardé dans mes notes (ou comme une instruction système dans ChatGPT). Déclencheur : appuyez sur la prompt (ou activez la persona). Dump: Copier et coller votre journal d'erreur, les 50 lignes de code autour de l'échec, et une brève "J'attendais X mais j'ai Y." Lire l'analyse détaillée d'abord. ne sautez pas sur le code. Comprendre la scène du crime avant de le nettoyer. Une réflexion sur “It Works on My Machine” Le débogage est le test ultime de la métaphore d’un développeur. Il nécessite de la patience, de la logique et de l’humilité. En utilisant l’IA comme outil forestier structuré au lieu d’une baguette magique, vous arrêtez de deviner. vous arrêtez de répliquer des déclarations imprimées comme des morceaux de pain dans une forêt sombre. Arrêtez le débogage avec un pistolet. Commencez le débogage avec un scalpel.