आपकी क्रैश रिपोर्ट, जो किसी द्वारा पढ़ी जाती हैं
Crashlytics आपको बताता है कि क्या टूटा। यह आपको यह नहीं बताता कि चालीस में से कौन सा आपकी सुबह के लायक है, न ही इसे लिखता है, और न ही टिकट खोलता है। यह हर घंटे ऐसा करता है, और कभी भी एक ही क्रैश को दो बार दर्ज नहीं करता है।
यह कैसे काम करता है
तीन चरण, और उनमें से कोई भी “कॉन्फ़िगर करना” नहीं है।
- 01
Firebase और GitHub को कनेक्ट करें
क्रैश रिपोर्ट के लिए आपका Google खाता, इश्यू के लिए आपका GitHub। फिर बताएं कि आपके ऐप के क्रैश किस रिपॉजिटरी के हैं — आपके लिए खोली गई फ़ाइल में एक पंक्ति।
- 02
यह हर घंटे एक क्रैश चुनता है
यह रैंक की गई रिपोर्ट पढ़ता है, पहले से दर्ज की गई सभी चीज़ों को छोड़ देता है, और बची हुई सबसे खराब चीज़ को लेता है। प्रति रन एक, ठीक से किया गया — एक घंटा लंबा इंतज़ार नहीं है और आधी-अधूरी बग रिपोर्ट किसी की मदद नहीं करती।
- 03
आपको एक इश्यू और क्रैश पर एक नोट मिलता है
प्रभाव, स्टैक ट्रेस और क्या हो रहा है इसकी समझ के साथ एक GitHub इश्यू। फिर Crashlytics इश्यू पर एक नोट जिसमें लिखा होता है कि उसने कौन सा इश्यू खोला है, ताकि क्रैश को देखने वाला कोई भी व्यक्ति देख सके कि एक एजेंट यहाँ आया था।
यह क्या कर सकता है
यह जानता है कि कौन सा क्रैश सबसे गंभीर है
केवल इवेंट की संख्या के बजाय प्रभावित उपयोगकर्ता, एक साल से चली आ रही समस्या के बजाय वर्तमान संस्करण में आई खराबी, और किसी फ्रेमवर्क के बजाय आपके कोड की ओर इशारा करने वाला स्टैक ट्रेस। यह बताता है कि इसने क्या छोड़ा और क्यों, ताकि आप असहमत हो सकें।
यह एक ही बग को दो बार दर्ज नहीं करेगा
इसके द्वारा दर्ज किया गया हर क्रैश इसकी Crashlytics id के विरुद्ध रिकॉर्ड किया जाता है। बिना मेमोरी वाला हर घंटे का काम दोपहर के भोजन से पहले एक ही टिकट को बारह बार खोल देगा, जो किसी से भी इसे हमेशा के लिए बंद कराने का सबसे तेज़ तरीका है।
एक रुका हुआ रन अगले रन द्वारा आगे बढ़ाया जाता है
यह काम करने से पहले यह लिख लेता है कि वह क्या करने वाला है। यदि कोई रन बीच में रुक जाता है, तो अगला रन उस नोट को पढ़ता है, जांचता है कि क्या इश्यू वास्तव में दर्ज किया गया था, और फिर से शुरू करने या दो बार दर्ज करने के बजाय वहीं से आगे बढ़ता है।
इसे कैसे सेटअप किया गया है
यह कैसे काम करता है, ताकि साइन इन करने से पहले आपको पता हो कि आपको क्या मिल रहा है।
- एनवायरनमेंट
- कोई सैंडबॉक्स नहीं और कोई शेल नहीं — यह एक API को पढ़ता है और दूसरे में लिखता है। अनुसूचित रन को केवल एक शेड्यूल तक सीमित अल्पकालिक क्रेडेंशियल मिलता है, आपके सत्र की प्रति नहीं।
- टूल
- रिपोर्ट, समस्याओं, इवेंट और नोट्स के लिए MCP पर Firebase Crashlytics; फाइलिंग के लिए MCP पर GitHub। इसके अपने रिकॉर्ड के लिए readFile, writeFile, editFile, glob और grep, getCurrentTime, तथा scheduleRun, listSchedules और cancelSchedule।
- मॉडल
- Claude Sonnet 5 पर पिन किया गया है, जिसके पीछे Haiku 4.5 है। निर्णय ही यहाँ का उत्पाद है — यह तय करना कि क्या कोई क्रैश किसी व्यक्ति के ध्यान के योग्य है, और एक ऐसी रिपोर्ट लिखना जिस पर वे बंद करने के बजाय कार्रवाई करेंगे।
- शुरुआती फ़ाइलें
- केवल एक रिपॉजिटरी मैपिंग के साथ शुरू किया गया है। दर्ज किए गए रिकॉर्ड की अनुपस्थिति ही पहले रन को बताती है कि यह पहला रन है।
- क्या सहेजा जाता है
- जो इसने दर्ज किया है वह सत्र के साथ रहता है, यही कारण है कि यह बिना खुद को दोहराए हर घंटे चल सकता है। रन के बीच कुछ भी हटाया नहीं जाता है।
लोग इससे जो पूछते हैं
- “अभी सबसे ज़्यादा क्या क्रैश हो रहा है?”
- “सबसे खराब क्रैश दर्ज करें और अब से हर घंटे जांचें।”
- “आप पहले से कौन से क्रैश दर्ज कर चुके हैं?”
- “हर घंटे वाले रन को रोकें।”
यह क्या नहीं करेगा
इनमें से हर एक ऐसी वास्तविक बाधा है जिसका हमने सामना किया है, कोई योजना की सूची वाली चीज नहीं।
- यह क्रैश पढ़ता है और इश्यू दर्ज करता है। यह समाधान नहीं लिखता — यह एक अलग काम है, और यदि आपके पास GitHub Copilot है तो यह बहाना बनाने के बजाय इश्यू उसे सौंप देगा।
- Firebase को कनेक्ट करने पर इसके द्वारा उपयोग की जाने वाली पहुंच से अधिक पहुंच मांगी जाती है। Google, Crashlytics के लिए कोई केवल-पढ़ने योग्य स्कोप प्रकाशित नहीं करता है, इसलिए सहमति स्क्रीन “देखें और प्रबंधित करें” कहती है। यह रिपोर्ट पढ़ता है और नोट जोड़ता है; टोकन कभी भी मॉडल तक नहीं पहुँचता है।
- प्रति रन एक क्रैश। एक रन के चरणों की तुलना में कहीं अधिक क्रैश होते हैं, और एक पूरी बग रिपोर्ट चार आंशिक रिपोर्टों से बेहतर होती है।
- अनुसूचित रन आपसे कुछ नहीं पूछ सकते। जवाब देने के लिए कोई नहीं होता, इसलिए वे दिए गए निर्देश के अनुसार काम करते हैं — इसीलिए यह उसे बुक करने से पहले उस निर्देश को मंज़ूर करने के लिए कहता है।
कौन सा मॉडल इसे सबसे बेहतर करता है
इस एजेंट के वास्तविक रन पर मापा गया, प्रति मॉडल। एक रन को तब समाप्त माना जाता है जब उसने अपने दम पर उत्तर दिया — कुछ भी विफल नहीं हुआ, किसी से कुछ भी स्वीकृत करने के लिए नहीं कहा गया, और इसके चरण समाप्त नहीं हुए। तीनों स्तंभों को एक साथ पढ़ें: एक मॉडल जो हार मानकर जल्दी समाप्त होता है, वह पहले पर खराब स्कोर करता है, और जो कड़ी मेहनत करके सब कुछ पूरा करता है, वह दूसरे पर खराब स्कोर करता है।
| मॉडल | पूरा होने की दर | मीडियन लागत | मीडियन समय | रन |
|---|---|---|---|---|
| claude-sonnet-5anthropic | 72% | $0.236 | 80से | 50 |
- पूरा होने की दर
- ऐसे रन जिन्होंने आपके बिना हस्तक्षेप किए काम पूरा कर दिया।
- मीडियन लागत
- एक सामान्य रन की लागत क्या है, क्रेडिट में।
- मीडियन समय
- कुल समय, पहले संदेश से लेकर उत्तर तक।
प्रत्येक पंक्ति के पीछे के रन का मध्यक। एक मॉडल तब दिखाई देता है जब उसके पास इस एजेंट पर 3 रन होते हैं, और रन की संख्या दिखाई जाती है ताकि आप आंक सकें कि कोई आंकड़ा किस पर आधारित है।
आपकी क्रैश रिपोर्ट, जो किसी द्वारा पढ़ी जाती हैं
यह पहले से ही सेट है। इसे खोलें और इससे कुछ पूछें।
क्रैश ट्राइएज सेट अप करें