REprompt: Prompt Generation for Intelligent Software Development Guided by Requirements Engineering
यह शोध पत्र REprompt प्रस्तुत करता है, जो एक मल्टी-एजेंट फ्रेमवर्क है जो आवश्यकताओं के इंजीनियरिंग (requirements engineering) सिद्धांतों का लाभ उठाकर सिस्टम और यूजर प्रॉम्प्ट्स को स्वचालित रूप से उत्पन्न और अनुकूलित करता है, जिससे वास्तविक सॉफ्टवेयर विकास परिदृश्यों में लार्ज लैंग्वेज मॉडल-आधारित कोडिंग एजेंटों द्वारा निर्मित आर्टिफैक्ट्स की गुणवत्ता को बढ़ाया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक घर बनाना चाहते हैं, लेकिन एक आर्किटेक्ट से बात करने के बजाय, आप एक बहुत ही बुद्धिमान, लेकिन थोड़े भ्रमित रोबोट बिल्डर को अस्पष्ट निर्देश चिल्लाकर दे रहे हैं। आप कहते हैं, "मेरे लिए एक कूल घर बनाओ।" वह रोबोट एक महल, एक अंतरिक्ष यान, या बिना छत वाला घर बना सकता है, क्योंकि उसे नहीं पता कि आपके लिए "कूल" का सटीक अर्थ क्या है।
आज सॉफ्टवेयर लिखने के लिए लार्ज लैंग्वेज मॉडल्स (LLMs) का उपयोग करने में यही समस्या है। वे रोबोट बिल्डर हैं, और "प्रॉम्प्ट्स" (आपके निर्देश) अक्सर बहुत अस्पष्ट होते हैं, जिससे अव्यवस्थित या खराब कोड बनता है।
यह पेपर एक नया टूल पेश करता है जिसे REprompt कहा जाता है। REprompt को एक जादुई मंत्र के रूप में नहीं, बल्कि एक प्रोफेशनल रिक्वायरमेंट्स इंजीनियर (आवश्यकता इंजीनियर) के रूप में देखें जो आपके और रोबोट बिल्डर के बीच खड़ा होता है।
मुख्य विचार: प्रॉम्प्ट्स को ब्लूप्रिंट की तरह मानना
सॉफ्टवेयर बनाने की दुनिया में, रिक्वायरमेंट्स इंजीनियरिंग (Requirements Engineering) नामक एक अनुशासन है। यह वह प्रक्रिया है जहाँ इंजीनियर क्लाइंट्स के साथ बैठते हैं, सही सवाल पूछते हैं, यह पता लगाते हैं कि वास्तव में क्या आवश्यक है, इसे एक स्पष्ट ब्लूप्रिंट में लिखते हैं, और निर्माण शुरू होने से पहले यह जांचते हैं कि ब्लूप्रिंट समझ में आ रहा है या नहीं।
लेखकों ने महसूस किया कि जब हम AI से बात करते हैं, तो हम इस महत्वपूर्ण चरण को छोड़ देते हैं। हम बस एक त्वरित आदेश दे देते हैं। REprompt इसे एक संरचित इंजीनियरिंग प्रक्रिया में बदलकर ठीक करता है।
REprompt कैसे काम करता है: चार-चरणीय टीम
एक AI द्वारा यह अनुमान लगाने के बजाय कि आप क्या चाहते हैं, REprompt चार विशिष्ट AI "एजेंट्स" (पात्रों) की एक टीम का उपयोग करता है जो एक मानव इंजीनियरिंग टीम की तरह कार्य करते हैं। वे चार चरणों से गुजरते हैं, बिल्कुल एक वास्तविक घर बनाने की तरह:
द इंटरव्यूअर और द इंटरव्यूवी (एलिसिटेशन/जानकारी जुटाना):
- उपमा: कल्पना कीजिए कि एक जासूस (इंटरव्यूअर) एक गवाह (इंटरव्यूवी) से बात कर रहा है।
- क्या होता है: आप एक अस्पष्ट विचार देते हैं (जैसे, "मुझे एक गेम चाहिए")। इंटरव्यूअर AI, इंटरव्यूवी AI से स्मार्ट सवालों की एक श्रृंखला पूछता है: "नियम क्या हैं? खिलाड़ी कौन हैं? यदि आप हार जाते हैं तो क्या होता है?" इंटरव्यूवी एक संरचित तरीके से उत्तर देता है। यह आपकी अस्पष्ट इच्छा को जरूरतों की एक विस्तृत सूची में बदल देता है।
द एनालिस्ट (विश्लेषण):
- उपमा: एक आर्किटेक्ट जो जासूस के नोट्स को देख रहा है और एक रफ स्केच बना रहा है।
- क्या होता है: इंटरव्यूअर AI उन सभी उत्तरों को लेता है और उन्हें एक ड्राफ्ट "सॉफ्टवेयर रिक्वायरमेंट्स स्पेसिफिकेशन" में व्यवस्थित करता है। यह एक अव्यवस्थित इच्छाओं की सूची को एक औपचारिक 'टू-डू लिस्ट' में बदलने जैसा है।
द स्पेसिफायर (स्पष्टीकरण):
- उपमा: एक अनुवादक जो आर्किटेक्ट के स्केच को निर्माण दल के लिए एक सख्त, चरण-दर-चरण निर्देश पुस्तिका में बदल देता है।
- क्या होता है: यह एजेंट (जिसे CoTer कहा जाता है) ड्राफ्ट को लेता है और उसे एक "चेन ऑफ थॉट" (सोचने की श्रृंखला) में बदल देता है।
- यदि आप सॉफ्टवेयर (जैसे कि एक गेम) के लिए पूछ रहे हैं, तो यह कार्य को प्रोग्रामिंग के सख्त चरणों की एक सूची में तोड़ देता है (जैसे, "पहले, बोर्ड बनाएं। दूसरे, टुकड़े जोड़ें।")।
- यदि आप AI की अपनी पर्सनैलिटी को बेहतर बनाने (सिस्टम प्रॉम्प्ट) की कोशिश कर रहे हैं, तो यह निर्देशों को स्पष्ट अनुभागों में व्यवस्थित करता है: "आप कौन हैं," "आप क्या जानते हैं," और "आप कैसे व्यवहार करते हैं।"
द क्रिटिक (वैलिडेशन/सत्यापन):
- उपमा: एक बिल्डिंग इंस्पेक्टर जो निर्माण शुरू होने से पहले ब्लूप्रिंट की जांच करता है।
- क्या होता है: यह एजेंट अंतिम निर्देश पुस्तिका को देखता है। यह पूछता है: "क्या कुछ छूट गया है? क्या यह भ्रमित करने वाला है? क्या यह आपस में विरोधाभासी है?" यदि उत्तर "हाँ" है, तो यह इसे ठीक करने के लिए स्पेसिफायर के पास वापस भेज देता है।
उन्होंने क्या टेस्ट किया (परिणाम)
शोधकर्ताओं ने केवल इसके बारे में बात नहीं की; उन्होंने इसे बनाया और दो मुख्य तरीकों से इसका परीक्षण किया:
1. AI के "जॉब डिस्क्रिप्शन" (सिस्टम प्रॉम्प्ट्स) में सुधार करना
उन्होंने एक प्रसिद्ध मल्टी-एजेंट सिस्टम MetaGPT (जो सॉफ्टवेयर बनाने वाले AI वर्कर्स की एक टीम की तरह है) का उपयोग किया। उन्होंने टीम लीडर्स और आर्किटेक्ट्स के मूल "जॉब डिस्क्रिप्शन्स" (प्रॉम्प्ट्स) को लिया और उन्हें REprompt के माध्यम से चलाया।
- परिणाम: AI टीम ने बहुत बेहतर दस्तावेज़ (जैसे प्रोजेक्ट प्लान और डिज़ाइन ब्लूप्रिंट) तैयार किए। जब मनुष्यों ने उन योजनाओं से बनाए गए वास्तविक सॉफ्टवेयर का परीक्षण किया, तो वे अधिक खुश थे, उन्हें उपयोग में आसान पाया, और महसूस किया कि सॉफ्टवेयर की गुणवत्ता उच्च थी। यह निर्माण दल को एक बेहतर ब्लूप्रिंट देने जैसा है, ताकि घर की छत टपकने वाली न हो।
2. आपके निर्देशों (यूजर प्रॉम्प्ट्स) में सुधार करना
उन्होंने YouWare नामक एक प्लेटफॉर्म पर REprompt का परीक्षण किया, जहाँ लोग वेब ऐप्स जेनरेट करने के लिए सरल अनुरोध टाइप करते हैं।
- परिणाम: जब उपयोगकर्ताओं ने "मुझे एक स्नेक गेम चाहिए" या "मुझे एक कैलकुलेटर चाहिए" जैसे सरल अनुरोध टाइप किए, तो REprompt ने विवरणों को विस्तार देने के लिए पहले "इंटरव्यू" किया, फिर बेहतर निर्देशों को AI को दिया। परिणामी गेम और टूल्स काफी बेहतर, खेलने में अधिक मजेदार और अधिक सुचारू रूप से काम करने वाले थे, बजाय इसके कि उपयोगकर्ता सीधे सरल अनुरोध टाइप करते।
निष्कर्ष (टेकअवे)
पेपर का दावा है कि REprompt इसलिए काम करता है क्योंकि यह AI को धीमा होने और एक पेशेवर इंजीनियर की तरह सोचने के लिए मजबूर करता है। कोडिंग में जल्दबाजी करने के बजाय, यह पहले सवाल पूछता है, योजना व्यवस्थित करता है, और त्रुटियों की जांच करता है।
- REprompt के बिना: आप कहते हैं "एक घर बनाओ," और रोबोट ईंटों का ढेर बना देता है।
- REprompt के साथ: रोबोट पूछता है, "कितना बड़ा? कितने कमरे? कौन सी शैली?" यह एक योजना लिखता है, योजना की जांच करता है, और फिर एक ऐसा घर बनाता है जो वास्तव में वैसा ही दिखता है जैसा आप चाहते थे।
यह अध्ययन साबित करता है कि मानव सॉफ्टवेयर इंजीनियरिंग (रिक्वायरमेंट्स इंजीनियरिंग) के तरीकों को अपनाकर, हम AI एजेंटों को हमारे लिए सॉफ्टवेयर समझने और बनाने में बहुत बेहतर बना सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।