De duurste keystroken in software engineering zijn niet complexe algoritmen of architecturale ontwerpen. - het en Verklaringen getypt op 2 AM. console.log("here") print("check 1") System.out.println("please work") We noemen dit "Shotgun Debugging." U schiet een spray van willekeurige logging-aanduidingen en code-tweaks op de codebase, in de hoop dat een van hen het doel bereikt. Het is vervelend. Het is vermoeiend. En eerlijk gezegd, het is onprofessioneel. In elke andere technische discipline – civiel, elektrisch, mechanisch – is falenanalyse een rigoureus, wetenschappelijk proces.In software vertrouwen we te vaak op intuïtie en spiergeheugen.We handelen minder als Sherlock Holmes en meer als een in paniek geraakte amateur die probeert een bom te verdampen door willekeurige draden te snijden. Het probleem is niet dat bugs moeilijk zijn, het probleem is dat onze . methodology is weak We behandelen AI (ChatGPT, Claude, Copilot) als een code-generator en vragen het om "een functie te schrijven." Maar dit is een verspilling van zijn potentieel. Je hebt geen AI nodig om meer code te schrijven, je hebt AI nodig om als een . Senior Debugging Forensic Specialist De ‘root cause’ tekortkoming Wanneer een junior ontwikkelaar een fout ziet, vragen ze: Wanneer een senior ontwikkelaar een fout ziet, vragen ze: "Hoe maak ik het foutbericht verdwijnen?" "Waarom is het systeem in een toestand waar deze fout mogelijk is?" U plaatst een fout en de AI suggereert een snelle patch (vaak een blok) die het symptoom onderdrukt, maar de ziekte negeert. try-catch Om een diagnose op het hoogste niveau te krijgen, heb je een System Prompt nodig die de AI dwingt om de oppervlakkige fix te negeren en de oorzaak te zoeken. De "Bug Fix Assistant" Prompt Ik heb een specifieke persona prompt ontwikkeld voor dit exacte doel.Het voorkomt dat de AI eenvoudige correcties hallucineert en dwingt het om zijn hypothese met bewijs te bewijzen. Het transformeert je LLM in een grumpy maar briljante senior ingenieur die weigert om je te laten fuseren een hacky fix. Hier is de volledige promptstructuur. Kopieer dit in uw favoriete AI-model. # 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. Waarom dit werkt: de psychologie van de prompt Als je goed kijkt naar de prompt-constructie, zie je dat het is ontworpen om gemeenschappelijke AI-lazen tegen te gaan. Het "Multiple Solutions" mandaat Let op de vereiste: "Het leveren van meerdere oplossingsbenaderingen gerangschikt naar veiligheid, prestaties en onderhoud." Standaard AI-reacties geven u meestal de eerste oplossing die het patroon statistisch voltooit. Dit is vaak de "Quick Fix" (bijv. het toevoegen van een null-check). Door geordende oplossingen te eisen, dwingt u het model om de zoekruimte dieper te doorkruisen. De hotfix (voor productie noodsituaties). De Refactor (de “juiste” architecturale fix). De moderne aanpak (met behulp van nieuwere taalfuncties). De ‘preventie’ vector De snelheid vereist een Dit verplaatst de interactie van "janitoriaal werk" (het opruimen van een puinhoop) naar "mentoring" (leren hoe je de volgende keer niet kunt verspillen). Prevention Tips Ik had deze prompt om me uit te leggen dat mijn "bug" eigenlijk een misverstand van de React-levenscyclus was, of een misbruik van Python's mutabele standaardargumenten. Het ‘waarom’ over ‘hoe’ De instructie Het voorkomt het "Magic Black Box" -effect waar je code plak, een resultaat krijgt en niets leert. Het dwingt de AI om zijn werk te tonen, vergelijkbaar met een wiskunde-leraar die om de derivatie vraagt, niet alleen het antwoord. "Help de ontwikkelaar om te begrijpen waarom de bug heeft plaatsgevonden" Hoe het te gebruiken (zonder de context te veranderen) Je hoeft niet stijf te zijn. ik houd deze prompt opgeslagen in mijn notities (of als een systeeminstructie in ChatGPT). Trigger: Plaats de prompt (of activeer de persona). Dump: Kopieer-pas uw foutlogboek, de 50 regels code rond het falen, en een korte "Ik verwachtte X maar kreeg Y." Lees eerst de gedetailleerde analyse. sprong niet naar de code. Begrijp de misdrijfsscène voordat je het opruimt. Het einde van "It Works on My Machine" Debuggen is de ultieme test van een ontwikkelaar. Het vereist geduld, logica en nederigheid. Door AI te gebruiken als een gestructureerd forensisch hulpmiddel in plaats van een magische wand, stop je met raden. Stop met het debuggen met een schotgun. Begin met het debuggen met een scalpel.