Najdrahšie klávesové klávesy v softvérovom inžinierstve nie sú zložité algoritmy alebo architektonické návrhy. , , , a Vyhlásenia sú uverejnené o 2 hod. console.log("here") print("check 1") System.out.println("please work") Nazývame to "Shotgun Debugging." Vystrelíte sprej náhodných hlásení a kódových úprav v kódovej báze, dúfajúc, že jeden z nich zasiahne cieľ. Je to vyčerpávajúce a úprimne povedané, je to neprofesionálne. V akejkoľvek inej inžinierskej disciplíne – občianskej, elektrickej, mechanickej – je analýza porúch prísnym, vedeckým procesom.V softvéri sa príliš často spoliehame na intuíciu a svalovú pamäť.Pôsobíme menej ako Sherlock Holmes a viac ako panicky zasiahnutý amatér, ktorý sa pokúša rozptýliť bombu odrezaním náhodných drôtov. Problém nie je v tom, že chyby sú ťažké. problém je v tom, že naše . methodology is weak Zaobchádzame s AI (ChatGPT, Claude, Copilot) ako s generátorom kódu, ktorý ho žiada, aby „napísal funkciu.“ Ale toto je plytvanie jeho potenciálom. Nepotrebujete AI, aby ste napísali viac kódu. Potrebujete AI, aby ste konali ako . Senior Debugging Forensic Specialist Deficit „root cause“ Keď mladší vývojár vidí chybu, pýta sa: Keď senior developer vidí chybu, pýtajú sa: "Ako odstrániť chybové hlásenie?" "Prečo je systém v stave, v ktorom je táto chyba možná?" Väčšina všeobecných AI výzvy fungujú na juniorskej úrovni. Vložte chybu, a AI navrhuje rýchly patch (často blok), ktorý potláča príznak, ale ignoruje chorobu. try-catch Ak chcete získať diagnózu na vyššej úrovni, potrebujete System Prompt, ktorý núti AI ignorovať povrchnú opravu a hľadať koreňovú príčinu. Pomocník na opravu chýb (Bug Fix Assistant) Vyvinul som špecifickú osobnú výzvu na tento presný účel. Zabraňuje AI halucinovať jednoduché opravy a núti ju dokázať svoju hypotézu dôkazmi. To premieňa váš LLM do hrubý, ale brilantný senior inžinier, ktorý odmieta nechať vás zlúčiť hack fix. Tu je kompletná štruktúra výzvy. Skopírujte to do vášho obľúbeného modelu AI. # 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. Prečo to funguje: Psychológia prompt Ak sa pozriete bližšie na rýchlu konštrukciu, uvidíte, že je navrhnutá tak, aby odolala bežnej lenivosti AI. Mandát „Multiple Solutions“ Všimnite si požiadavku: "Poskytovanie viacerých prístupov k riešeniam podľa bezpečnosti, výkonu a udržateľnosti." Štandardné AI odpovede vám zvyčajne poskytnú prvé riešenie, ktoré štatisticky dokončí vzor. To je často "Rýchla oprava" (napríklad pridaním null kontroly). Požadovaním hodnotených riešení nútite model, aby prešiel vyhľadávacím priestorom hlbšie. Hotfix (pre núdzové situácie vo výrobe). Refactor (správna architektonická fixácia) Moderný prístup (použitie nových jazykových funkcií). Vektor „prevencie“ Rýchlosť vyžaduje a To presúva interakciu z "janitorial práce" (vyčistenie neporiadku) na "mentorstvo" (učenie sa, ako sa nevrátiť nabudúce). Prevention Tips Mal som túto výzvu, aby mi vysvetlil, že moja "chyba" bola v skutočnosti nesprávnym pochopením životného cyklu React, alebo zneužitím Pythonových variabilných predvolených argumentov. 3. „Prečo“ nad „Ako“ Inštrukcie zabraňuje efektu "Magic Black Box", kde vložíte kód, dostanete výsledok a nič sa nenaučíte. núti AI ukázať svoju prácu, podobne ako učiteľ matematiky, ktorý sa pýta na deriváciu, nie len na odpoveď. "Pomôžte vývojárovi pochopiť, PREČO sa vyskytla chyba" Ako ho používať (bez zmeny kontextu) Nemusíte byť rigidní. uchovávam túto výzvu uloženú v mojich poznámkach (alebo ako systémové pokyny v ChatGPT). Trigger: Prilepte výzvu (alebo aktivujte osobu). Dump: Kopírujte a prilepte svoj denník chýb, 50 riadkov kódu okolo zlyhania a krátke "Očakával som X, ale dostal Y." Recenzia: Prečítajte si najprv podrobnú analýzu.Neprejdite na kód.Pochopte scénu zločinu predtým, ako ju vyčistíte. Úvodná stránka > To funguje na mojom stroji Debugging je konečnou skúškou vývojárov. vyžaduje trpezlivosť, logiku a pokoru. Ale nevyžaduje utrpenie. Používaním AI ako štruktúrovaného forenzného nástroja namiesto magického prútika prestanete hádať. Prestaňte debugovať so strelnou pištoľou.Začnite debugovať so skalpelom.