अगर आपने कभी किसी एजेंट को बग ठीक करते देखा है, तो आपने उसे अंदाज़ा लगाते देखा है। वह कोड पढ़ता है, एक थ्योरी बनाता है, एक बदलाव करता है, और उम्मीद करता है। कभी-कभी वह सही होता है। अक्सर आपको एक ऐसा फिक्स मिलता है जो भरोसेमंद लगता है और असली बग को चुपचाप छिपा देता है।
डीबग मोड हमने इसी के लिए बनाया है। कोड के बारे में बैठकर तर्क करने के बजाय, एजेंट इस बात का सबूत ढूंढ़ता है कि कोड चलने पर क्या करता है।
यहाँ लूप है:
- एजेंट कई परिकल्पनाएँ बनाता है, और पहले सबसे संभावित पर काम करना शुरू करता है।
- फिर, एक परिकल्पना का परीक्षण करने के लिए लॉगिंग जोड़ी जाती है (इम्प्लीमेंटेशन को छुए बिना)।
- एक छोटा डीबग सर्वर आपके प्रोग्राम के चलने के दौरान रनटाइम आउटपुट को .cursor/debug.log में इकट्ठा करता है।
- आप बग को रिप्रोड्यूस करते हैं, और एजेंट अब लॉग पढ़ सकता है और समझ सकता है कि क्या हुआ, बजाय इसके कि उसे अंदाज़ा लगाना पड़े।
- Cursor लॉग में मूल कारण ढूंढ़ता है, फिक्स करता है, और अपनी जोड़ी गई लॉगिंग को हटा देता है।
यहाँ एक वास्तविक बग पर यह कैसे काम करता है, लगभग एक मिनट में तेज़ किया गया:
टीम इसका उपयोग कैसे करती है
कुछ दिलचस्प चीज़ें जो हमने आंतरिक रूप से डीबग मोड से हल की हैं:
- एक रेस कंडीशन जो 20 में से 1 बार होती थी। यह हमारे बेस्ट-ऑफ-एन रन में git मेटाडेटा को दूषित कर रही थी। डीबग मोड ने इसे एक घंटे से भी कम समय में पकड़ लिया।
- एक मेमोरी लीक, एक ही पास में ट्रेस किया गया। यह हमारे फ्रंटएंड फ्रेमवर्क के दुरुपयोग के कारण हुआ। फिक्स एक ही लाइन था।
- C++ में एक गहरा नेटिव क्रैश। एक इलेक्ट्रॉन क्रैश जिसे लोग आमतौर पर टाल देते हैं। लॉग ने इसे खोजने योग्य बना दिया।
- एक SSR फ्लिकर जिसे छोड़ दिया गया था। एक रेंडरिंग बग जिसे कोई छूना नहीं चाहता था, एक बार जब एजेंट देख सका कि पेज रनटाइम पर क्या कर रहा है, तो ठीक हो गया।
Shift+Tab के साथ इसे आज़माएँ (यह CLI में भी है, /debug के माध्यम से)।
मुझे यकीन है कि लोग इसका उपयोग उन तरीकों से कर रहे हैं जिनके बारे में मैंने नहीं सोचा है, तो मुझे बताएँ!





