DevOps-Gym: Benchmarking AI Agents in Software DevOps Cycle
यह शोध पत्र DevOps-Gym प्रस्तुत करता है, जो 30+ Java और Go प्रोजेक्ट्स के माध्यम से 700+ वास्तविक दुनिया के कार्यों वाला पहला एंड-टू-एंड बेंचमार्क है, जो पूर्ण DevOps वर्कफ़्लो में AI एजेंटों का मूल्यांकन करता है, और यह प्रकट करता है कि वर्तमान अत्याधुनिक मॉडल इश्यू रिज़ॉलिंग, टेस्ट जनरेशन, मॉनिटरिंग और बिल्ड कॉन्फ़िगरेशन जैसे जटिल कार्यों के साथ काफी संघर्ष करते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक शानदार नया प्रशिक्षु (apprentice) है जो व्यक्तिगत वाक्य और पैराग्राफ लिखने में अविश्वसनीय रूप से कुशल है। आप उससे एक कहानी लिखने के लिए कहते हैं, और वह एक बेहतरीन काम करता है। लेकिन अब, आप देखना चाहते हैं कि क्या वह एक पूरी पब्लिशिंग हाउस चला सकता है। इसमें न केवल कहानी लिखना शामिल है, बल्कि प्रिंटिंग प्रेस स्थापित करना, मशीनों को चलते हुए देखना कि वे गर्म तो नहीं हो रही हैं, मशीन के जाम होने पर उसे ठीक करना, और एक चेकलिस्ट लिखना भी शामिल है ताकि अगली बार वही समस्या न आए।
यह बिल्कुल वही है जिसे पेपर DEVOPS-GYM टेस्ट कर रहा है।
मुख्य विचार: "लेखक" से "फैक्ट्री मैनेजर" तक
कुछ समय से, AI कोड लिखने (जैसे प्रशिक्षु द्वारा वाक्य लिखना) में बहुत अच्छा रहा है। लेकिन वास्तविक सॉफ्टवेयर केवल लिखने के बारे में नहीं है; यह पूरे जीवनचक्र (lifecycle) के बारे में है, जिसे DevOps कहा जाता है। इसमें शामिल हैं:
- बिल्डिंग (Building): कोड को कंपाइल और रन करने योग्य बनाना।
- मॉनिटरिंग (Monitoring): चलते हुए प्रोग्राम पर नज़र रखना कि कहीं वह अजीब व्यवहार तो नहीं कर रहा (जैसे मशीन का गर्म होना)।
- फिक्सिंग (Fixing): समस्याओं को डीबग करना और पैच लगाना।
- टेस्टिंग (Testing): यह सुनिश्चित करना कि सुधार वास्तव में काम करता है और किसी और चीज़ को खराब नहीं करता है।
शोधकर्ताओं ने DEVOPS-GYM बनाया है, जो एक विशाल "जिम" या प्रशिक्षण मैदान है जिसमें 700 से अधिक वास्तविक दुनिया की चुनौतियाँ हैं। वे देखना चाहते थे कि क्या AI एजेंट पूरे 'फैक्ट्री मैनेजर' की तरह कार्य कर सकते हैं जो इन चारों चरणों को संभाल सके, न कि केवल लिखने वाले हिस्से को।
"जिम" सेटअप
शोधकर्ताओं ने Java और Go (दो भाषाएँ जो बड़ी कंपनियों में आम हैं, पाइथन के विपरीत जिसका उपयोग अक्सर AI प्रशिक्षण के लिए किया जाता है) में लिखे गए वास्तविक सॉफ्टवेयर प्रोजेक्ट्स का उपयोग करके एक वास्तविक वातावरण बनाया।
उन्होंने AI के लिए चार प्रकार के वर्कआउट डिज़ाइन किए:
- "सेटअप" वर्कआउट (Build & Config): AI को एक अस्त-व्यस्त प्रोजेक्ट को लेना है और उसे सही ढंग से बिल्ड करना है। यह एक जटिल फर्नीचर को बिना निर्देशों के असेंबल करने या एक ब्रांड के टूल्स से दूसरे ब्रांड पर स्विच करने जैसा है।
- "सर्वेक्षण" वर्कआउट (Monitoring): AI को एक चलते हुए प्रोग्राम की निगरानी करनी है और सूक्ष्म समस्याओं को पहचानना है, जैसे कि मेमोरी लीक (जहाँ प्रोग्राम धीरे-धीरे कंप्यूटर की सारी मेमोरी खा जाता है) या धीमा नेटवर्क कनेक्शन। यह एक सुरक्षा गार्ड की तरह है जिसे बेसमेंट में बाढ़ आने से पहले पाइप में रिसाव को नोटिस करना है।
- "रिपेयर" वर्कआउट (Issue Resolving): AI को एक रिपोर्ट में वर्णित बग को खोजना है और कोड को ठीक करना है।
- "क्वालिटी चेक" वर्कआउट (Test Generation): AI को यह साबित करने के लिए एक टेस्ट लिखना है कि बग दूर हो गया है।
उन्होंने End-to-End Pipeline टास्क भी बनाए, जो एक रिले रेस की तरह हैं। AI को सेटअप पूरा करना होगा, फिर निगरानी, फिर रिपेयर, और अंत में क्वालिटी चेक, यह सब एक ही बार में बिना बैटन गिराए करना होगा।
परिणाम: प्रशिक्षु अभी भी एक नौसिखिया मैनेजर है
शोधकर्ताओं ने आज के सबसे स्मार्ट AI एजेंटों का परीक्षण किया (Claude, OpenAI के o4-mini और अन्य मॉडलों का उपयोग करके)। यहाँ उन्हें क्या मिला:
- "सेटअप" कठिन है: सबसे अच्छे AI भी प्रोजेक्ट्स को सही ढंग से बिल्ड करने के लिए संघर्ष करते रहे। वे अक्सर कोड को कंपाइल करने के जटिल नियमों से भ्रमित हो जाते थे। सर्वश्रेष्ठ एजेंट केवल 52% बार सफल हुआ।
- "सर्वेक्षण" एक दुःस्वप्न है: यह सबसे बड़ी विफलता थी। AI चलते हुए सिस्टम की निगरानी करने में बहुत बुरा था। वे अक्सर समस्याओं को पहचानने में विफल रहे या विचलित हो गए। सफलता दर चौंकाने वाली रूप से कम थी, अक्सर 0% से 20%। यह एक ऐसे सुरक्षा गार्ड की तरह है जो सो जाता है या गलत कैमरे को देखता रहता है।
- "रिपेयर" भाषा पर निर्भर है: AI पाइथन (जिसे उसने प्रशिक्षण में बहुत देखा है) में बग ठीक करने में अच्छा था, लेकिन जब उन्होंने Java और Go में बदलाव किया, तो प्रदर्शन काफी गिर गया। यह एक ऐसे अनुवादक की तरह है जो परफेक्ट फ्रेंच बोलता है लेकिन तकनीकी मैनुअल को जर्मन में अनुवाद करने के लिए कहा जाने पर लड़खड़ा जाता है।
- रिले रेस पूरी तरह विफल रही: जब उन्हें क्रम में चारों चरण करने के लिए कहा गया, तो 0% AI एजेंट सफल हुए। वे पूरी तस्वीर को अपने दिमाग में नहीं रख सके। वे बिल्ड को ठीक कर सकते थे, लेकिन फिर मॉनिटरिंग करना भूल गए, या बग को ठीक किया लेकिन टेस्ट लिखना भूल गए।
वे क्यों विफल हुए?
पेपर सुझाव देता है कि ये "फैक्ट्री मैनेजर" अभी तैयार क्यों नहीं हैं:
- वे टूल्स को नहीं जानते: AI को विशिष्ट सिस्टम टूल्स (जैसे मेमोरी उपयोग की जाँच करना या बिल्ड फाइलों को प्रबंधित करना) का उपयोग करने के लिए पर्याप्त प्रशिक्षित नहीं किया गया है।
- वे विचलित हो जाते हैं: एक सिस्टम को समय के साथ देखते समय, AI अपना ध्यान खो देता है। वह घंटों तक चलते हुए सिस्टम की लंबी कहानी को संभालने में सक्षम नहीं है।
- उनके पास गहरा ज्ञान नहीं है: वे एक साधारण टाइपो को ठीक कर सकते हैं, लेकिन वे बड़े सॉफ्टवेयर सिस्टम के निर्माण और संचालन के गहरे, जटिल नियमों को नहीं समझते हैं।
निष्कर्ष
DEVOPS-GYM एक वास्तविकता की जाँच है। जबकि AI कोड स्निपेट लिखने में अद्भुत है, यह वर्तमान में अपने आप पूरी सॉफ्टवेयर फैक्ट्री चलाने के लिए तैयार नहीं है। यह वास्तविक दुनिया के सॉफ्टवेयर को बनाने, देखने, ठीक करने और परीक्षण करने के अस्त-व्यस्त, जटिल और दीर्घकालिक कार्यों के लिए संघर्ष करता है। शोधकर्ताओं का कहना है कि AI को वास्तव में पूर्ण सॉफ्टवेयर विकास चक्र को स्वचालित करने से पहले हमें बहुत अधिक काम करने की आवश्यकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।