प्रोडक्शन समस्याओं को डीबग करने के प्रॉम्प्ट टेम्पलेट
प्रोडक्शन डीबगिंग के लिए दोबारा इस्तेमाल होने वाले AI प्रॉम्प्ट: साक्ष्य एकत्र करें, परिकल्पनाएँ जाँचें, छोटा fix लागू करें और सुरक्षित ढंग से सत्यापित करें।
प्रोडक्शन डीबगिंग में AI का उपयोग evidence-to-validation workflow की तरह करें: तथ्य एकत्र करें, परिकल्पनाएँ बनाएँ, उन्हें सत्यापित करें, साक्ष्य से समर्थित सबसे छोटा fix करें और सुरक्षित ढंग से जाँचें। किसी अस्पष्ट लक्षण से live समस्या patch करने के लिए सहायक से न कहें और परिणाम को बिना जाँचे लागू न करें।
नीचे के टेम्पलेट जाँच को तथ्यों पर टिकाए रखते हैं। logs या traces साझा करने से पहले secrets, access tokens, personal data और customer identifiers हटा दें।
प्रोडक्शन डीबगिंग क्रम
साक्ष्य -> परिकल्पनाएँ -> सत्यापन -> सबसे छोटा fix -> जाँच
हर प्रॉम्प्ट में अपेक्षित व्यवहार, देखा गया व्यवहार, environment, reproduction जानकारी, प्रासंगिक हाल के बदलाव और माँगे गए काम की सुरक्षित सीमा शामिल होनी चाहिए।
टेम्पलेट: शुरुआती incident triage
हमें production issue की जाँच करनी है। अभी code change प्रस्तावित न करें।
लक्षण: [उपयोगकर्ता या monitoring क्या दिखाते हैं।]
अपेक्षित व्यवहार: [क्या होना चाहिए।]
देखा गया व्यवहार: [वास्तव में क्या होता है।]
प्रभाव: [कौन प्रभावित है, आवृत्ति, गंभीरता और ज्ञात हो तो सुरक्षित fallback।]
Environment: [Version, deployment, browser/OS, region, feature flags या
runtime details.]
हाल के बदलाव: [प्रासंगिक deploys, migrations, configuration या dependencies.]
साक्ष्य: [Sanitized logs, errors, metrics, trace IDs, screenshots, commands.]
पुनरुत्पादन: [विश्वसनीय चरण, या बताएँ कि यह intermittent है।]
लौटाएँ:
1. पुष्टि किए गए तथ्यों की संक्षिप्त timeline;
2. संभावना और प्रभाव के क्रम में शीर्ष परिकल्पनाएँ;
3. हर परिकल्पना के लिए अगला सुरक्षित observation या reproduction step;
4. ऐसा कोई missing information जो diagnosis को वास्तविक रूप से रोकता है।
यह सहायक को इतना मटीरियल देता है कि वह आपके production systems तक पहुँच होने का दिखावा किए बिना तर्क कर सके।
टेम्पलेट: fix से पहले पुनरुत्पादन
इस issue को स्थानीय रूप से या स्वीकृत non-production
environment में पुन: उत्पन्न करने का प्रयास करें।
अपेक्षित: [Expected result.]
देखा गया: [Actual result.]
सेटअप: [Fixture, account state, command, configuration या test data.]
जाँचने वाला हाल का बदलाव: [Commit, release या behavior change.]
जब तक विफलता पुन: उत्पन्न न हो जाए या हमारे पास यह बताने वाला evidence-based कारण न हो कि
पुनरुत्पादन क्यों संभव नहीं है, production code न बदलें। सबसे छोटा
failing test, log sequence या command output कैप्चर करें जो
मुख्य परिकल्पनाओं को अलग करता है।
यदि पुनरुत्पादन असंभव हो, तो अनिश्चितता बताएँ और सुरक्षित instrumentation या rollback decision सुझाएँ—काल्पनिक code patch नहीं।
टेम्पलेट: sanitized logs का विश्लेषण
production failure के लिए इन sanitized logs का विश्लेषण करें।
संदर्भ: [Service/feature और अपेक्षित request flow.]
समय अवधि: [Start/end और timezone.]
अपेक्षित व्यवहार: [Expected success path.]
देखा गया व्यवहार: [Error या degraded behavior.]
हाल के बदलाव: [Deploy/configuration/dependency changes.]
Logs: [कालानुक्रमिक क्रम में Sanitized entries.]
तथ्यों को अनुमानों से अलग रखें। events को केवल वहाँ correlate करें जहाँ IDs, timestamps या
causal evidence उसका समर्थन करें। संभावित परिकल्पनाएँ, हर एक की पुष्टि करने वाला log या metric
और अगला सबसे कम जोखिम वाला observation सूचीबद्ध करें।
सहायक को पास-पास के timestamps को causal संबंध का प्रमाण नहीं मानने दें।
टेम्पलेट: command या script विफलता की जाँच
जाँच करें कि यह production maintenance command क्यों विफल हुआ।
Command: [secrets हटाकर Exact command.]
अपेक्षित आउटपुट: [Expected success signal.]
देखा गया आउटपुट: [Exact sanitized stderr/stdout और exit code.]
Environment: [Shell, working directory, OS/runtime version, प्रासंगिक files.]
हाल के बदलाव: [Script या deployment changes.]
पहले समझाएँ कि command वास्तव में क्या करता है और सबसे पहले विफल होने वाला
step पहचानें। ऐसे सुरक्षित diagnostic commands प्रस्तावित करें जो data न बदलें। विफलता
समझ लेने के बाद ही सबसे छोटा fix और उसे
non-production environment में सत्यापित करने का तरीका प्रस्तावित करें।
terminal विफलताओं के लिए सटीक input और output अक्सर prose सारांश से अधिक मूल्यवान होते हैं।
टेम्पलेट: rollout regression की जाँच
आकलन करें कि यह regression हाल के rollout से संबंधित है या नहीं।
Baseline: [rollout से पहले का Behavior/version.]
बदलाव: [Release, flag, migration या configuration difference.]
देखा गया regression: [कौन प्रभावित है और कैसे।]
साक्ष्य: [Metrics, logs, traces, screenshots या reproduction.]
बाध्यताएँ: साक्ष्य किसी निर्णय का समर्थन करने तक rollout न बदलें और data migrate न करें।
rollback path सुरक्षित रखें।
baseline और बदले हुए paths की तुलना करें। सबसे छोटा experiment,
feature-flag check या non-production test पहचानें जो causation की पुष्टि कर सके।
हर एक के confidence और tradeoffs के साथ rollback, mitigation या code investigation
सुझाएँ।
सही उत्तर rollback या feature flag adjustment हो सकता है, code change नहीं।
टेम्पलेट: सुरक्षित fix का अनुरोध
इसका उपयोग केवल तब करें जब साक्ष्य किसी कारण का समर्थन करे:
पुष्टि किया गया कारण: [Evidence-backed root cause.]
दायरा: [बदलने वाली Files, module या configuration.]
सुरक्षित रखने वाला व्यवहार: [Existing success path, public contract, permissions,
data, locale, performance या rollback behavior.]
सबसे छोटा fix प्रस्तावित करें। शामिल करें:
- यह पुष्टि किए गए कारण को क्यों हल करता है;
- regression test या reproducible check;
- स्वीकृत non-production environment में validation;
- rollout, monitoring और rollback पर विचार;
- वह व्यवहार जो अनिश्चित बना हुआ है।
इस बदलाव में असंबंधित रिफ़ैक्टरिंग शामिल न करें।
प्रॉम्प्ट वास्तविक incident को समीक्षा न किए जा सकने वाले rewrite का अवसर बनने से रोकता है।
टेम्पलेट: fix के बाद सत्यापन
मूल incident के सामने fix सत्यापित करें।
जाँचें:
1. मूल reproduction या failing test अब पास होता है;
2. सामान्य success path अपरिवर्तित रहता है;
3. प्रासंगिक error और edge paths अब भी सुरक्षित ढंग से व्यवहार करते हैं;
4. deployment या monitoring signals अपेक्षित recovery दिखाते हैं;
5. rollback condition उपलब्ध रहती है।
हर जाँच का साक्ष्य रिपोर्ट करें और जो कुछ सत्यापित नहीं हुआ उसका नाम स्पष्ट रूप से बताएँ।
सत्यापन को incident के मूल प्रश्न का उत्तर देना चाहिए, केवल यह पुष्टि नहीं करनी चाहिए कि नया code path चला।
अनुशासित अन्वेषक की तरह AI का उपयोग करें
AI साक्ष्य व्यवस्थित करने, परिकल्पनाएँ बनाने, अपरिचित कोड समझाने और टेस्ट सुझाने में मदद कर सकता है। यह access control, incident ownership, production safeguards या human review की जगह नहीं ले सकता।
सामान्य संरचना के लिए बेहतर AI प्रॉम्प्ट कैसे लिखें से शुरू करें। असुरक्षित shortcuts पहचानने के लिए AI कोडिंग सहायक की गलतियाँ और उनसे कैसे बचें का उपयोग करें, और कोड रिफ़ैक्टरिंग के प्रॉम्प्ट टेम्पलेट का उपयोग incident समझ लेने के बाद ही करें।
यदि साक्ष्य में shell commands शामिल हों, तो उन्हें बदलने से पहले workflow को सुरक्षित रूप से पुन: उत्पन्न करें। input, output और failure signals जाँचने की आदत बनाने के लिए ब्राउज़र में command-line scenarios का अभ्यास करें।
संदर्भ
ये दस्तावेज़ लिंक इस लेख में उपयोग किए गए कमांड के लिए आधिकारिक विवरण प्रदान करते हैं।