Pomona: Continuous Code Quality Improvement via Small, Automated Changes at Bloomberg
यह शोध पत्र पोमोना (Pomona) को प्रस्तुत करता है, जो काइज़न (Kaizen) से प्रेरित एक हल्का एजेंटिक टूल है, जो ब्लूमबर्ग में छोटे, कम जोखिम वाले पुल रिक्वेस्ट के माध्यम से तकनीकी ऋण (technical debt) की खोज और क्रमिक सुधार को स्वचालित करके कोड की गुणवत्ता में निरंतर सुधार करता है, जिससे एक महीने के परिनियोजन में उच्च मर्ज सफलता दर और मजबूत इंजीनियर स्वीकृति प्राप्त हुई।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, हलचल भरे पुस्तकालय (आपकी कंपनी का कोडबेस) का प्रबंधन कर रहे हैं। समय के साथ, कुछ किताबें गलत शेल्फ पर रख दी जाती हैं, कुछ पन्नों पर कॉफी के दाग लग जाते हैं, और कुछ नोट्स पेंसिल से लिखे जाते हैं जिन्हें मिटाने की जरूरत होती है। आमतौर पर, लाइब्रेरियन (सॉफ्टवेयर इंजीनियर) इन छोटी, परेशान करने वाली समस्याओं को ठीक करने के बजाय नई किताबें लिखने में बहुत व्यस्त रहते हैं। वे जानते हैं कि पुस्तकालय की सफाई की जरूरत है, लेकिन उनके पास इसे एक साथ करने का समय नहीं है।
यहाँ Pomona आता है, एक नया, सहायक रोबोट असिस्टेंट जिसे विशेष रूप से उन "छोटी चीजों" को करने के लिए डिज़ाइन किया गया है जिन्हें इंसान टालते रहते हैं।
Pomona कैसे काम करता है, इसे सरल अवधारणाओं में यहाँ समझाया गया है:
1. दो-चरणीय नृत्य: स्कैनिंग और रिपेयरिंग (Scanning and Repairing)
Pomona कोई जादुई छड़ी नहीं है जो एक बार में सब कुछ ठीक कर दे। इसके बजाय, यह एक मेहनती सफाईकर्मी की तरह एक विशिष्ट दिनचर्या का पालन करता है, जिसमें दो मुख्य "कौशल" शामिल हैं:
स्कैनर (आंखें): Pomona का यह हिस्सा पुस्तकालय में घूमकर छोटी समस्याओं की तलाश करता है। यह ऐसी चीजों की जांच करता है जैसे:
- गलत शेल्फ पर छोड़ी गई किताबें (लिंटिंग एरर)।
- "इसे बाद में ठीक करें" वाले पुराने स्टिकी नोट्स जो सालों से वहीं पड़े हैं (TODOs)।
- खाली और बेकार पन्ने (डेड कोड)।
- इंडेक्स में छूटे हुए अध्याय (टेस्ट गैप्स)।
एक बार जब यह समस्याओं को ढूंढ लेता है, तो यह उन्हें एक बैकलॉग (Backlog) (काम की सूची) में लिख देता है, और उन्हें उनकी महत्ता और ठीक करने में आसानी के आधार पर क्रमबद्ध करता है।
रिपेयरर (हाथ): यह हिस्सा टू-डू लिस्ट में से सबसे पहला, सबसे आसान और सबसे महत्वपूर्ण आइटम चुनता है। फिर यह एक बहुत ही छोटा, सूक्ष्म सुधार करता है—सोचिए कि यह केवल 10 पंक्तियों के टेक्स्ट को व्यवस्थित करना या एक सिंगल टाइपो (वर्तनी की गलती) को ठीक करना है। यह पूरे पुस्तकालय को फिर से बनाने की कोशिश नहीं करता; यह बस एक छोटा सा शेल्फ ठीक करता है।
2. "टाइनी पुल रिक्वेस्ट" (इंसानी जांच)
सबसे महत्वपूर्ण बात यह है कि Pomona अपने आप किताबों में बदलाव नहीं करता है। यह एक पुल रिक्वेस्ट (Pull Request - PR) बनाता है।
एक पुल रिक्वेस्ट को एक स्टिकी नोट की तरह समझें जो Pomona किसी किताब पर छोड़ देता है, जिस पर लिखा होता है: "हे, मैंने देखा कि इस पन्ने का हिस्सा उल्टा था। मैंने इसे सीधा कर दिया है। कृपया इस पर एक नज़र डालें और मुझे बताएं कि क्या मैंने इसे सही किया है।"
- छोटा मतलब सुरक्षित: क्योंकि बदलाव बहुत छोटे (लगभग 10 पंक्तियाँ) हैं, इसलिए एक मानव लाइब्रेरियन कुछ ही सेकंड में उन्हें देख सकता है।
- ह्यूमन इन द लूप (Human in the Loop): बदलाव किए जाने से पहले इंसान को "हाँ" कहना होता है। यह इंजीनियरों को नियंत्रण में रखता है और विश्वास पैदा करता है। उन्हें डर नहीं लगता कि रोबोट गलती से पूरा पुस्तकालय ही डिलीट कर देगा।
3. काइज़न (Kaizen) दर्शन
यह पेपर Pomona की तुलना काइज़न (Kaizen) से करता है, जो "निरंतर सुधार" का एक जापानी दर्शन है। साल में एक बार बड़े, डरावने नवीनीकरण प्रोजेक्ट करने के बजाय, Pomona हर दिन छोटे, निरंतर सुधार करने का सुझाव देता है। यह एक सप्ताहांत में पूरे घर को साफ करने की कोशिश करने और प्रतिदिन 10 मिनट तक एक कमरा व्यवस्थित करने के बीच का अंतर है।
4. जब उन्होंने इसे आज़माया तो क्या हुआ?
ब्लूमबर्ग (एक बड़ी वित्तीय कंपनी) की टीम ने एक महीने तक Pomona को काम करने दिया। यहाँ उन्हें क्या पता चला:
- यह काम कर गया: Pomona द्वारा सुझाए गए 17 छोटे सुधारों में से, 15 को स्वीकार किया गया और कोड में मिला दिया गया।
- यह तेज़ था: इनमें से अधिकांश सुधारों को 2 घंटे से भी कम समय में स्वीकृत और बंद कर दिया गया।
- लोगों को यह पसंद आया: जब इंजीनियरों से पूछा गया कि क्या वे Pomona का उपयोग करना चाहते हैं, तो 10 में से 8 ने हाँ कहा। उन्हें यह पसंद आया कि बदलाव छोटे और पढ़ने में आसान थे।
- रुकावट (The Bottleneck): समस्या केवल तब आई जब Pomona थोड़ा ज्यादा उत्साहित हो गया और पहली चीज़ को इंसान द्वारा चेक किए जाने से पहले ही उसे दोबारा ठीक करने की कोशिश करने लगा। टीम ने इसे ठीक करने के लिए Pomona को यह जांचने के लिए कहा कि क्या कोई सुधार पहले से ही प्रक्रिया में है।
5. यह क्यों महत्वपूर्ण है?
पेपर यह निष्कर्ष निकालता है कि जबकि AI बड़े, जटिल कोड लिखने में महान है, वर्तमान में यह छोटे, उबाऊ कार्यों के लिए एक सहायक के रूप में सबसे अच्छा है।
- विश्वास: इंजीनियर AI द्वारा बड़े बदलाव किए जाने को लेकर संशय में रहते हैं, लेकिन वे छोटे, स्पष्ट सुधारों के लिए उस पर भरोसा करते हैं।
- फोकस: "कचरा उठाने" (डेड कोड, पुराने नोट्स) के लिए रोबोट को संभालने देकर, इंसान नए फीचर्स बनाने पर ध्यान केंद्रित कर सकते हैं।
- नियंत्रण: यह सिस्टम इसलिए काम करता है क्योंकि अंतिम निर्णय हमेशा इंसान का होता है।
संक्षेप में, Pomona एक ऐसा टूल है जो टीमों को उनके कोड को साफ और स्वस्थ रखने में मदद करता है, जिससे वे मैन्युअल रूप से सब कुछ करने के लिए समय मिलने का इंतज़ार करने के बजाय, छोटे, स्वचालित और आसानी से स्वीकृत सुधार कर सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।