← नवीनतम पेपर
💻 computer science

Promptware Engineering: Software Engineering for Prompt-Enabled Systems

यह शोध पत्र "प्रॉम्प्टवेयर इंजीनियरिंग" (promptware engineering) का प्रस्ताव करता है, जो एक नई कार्यप्रणाली है जो प्रॉम्प्ट-सक्षम प्रणालियों के विकास की तदर्थ (ad hoc) और परीक्षण-त्रुटि (trial-and-error) वाली प्रकृति को संबोधित करने के लिए स्थापित सॉफ्टवेयर इंजीनियरिंग सिद्धांतों को अनुकूलित करती है, जिससे प्रॉम्प्ट-आधारित सॉफ्टवेयर के संपूर्ण जीवनचक्र के लिए एक व्यवस्थित ढांचा प्रदान किया जा सके।

मूल लेखक: Zhenpeng Chen, Chong Wang, Weisong Sun, Xuanzhe Liu, Jie M. Zhang, Yang Liu

प्रकाशित 2026-01-28
📖 8 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Zhenpeng Chen, Chong Wang, Weisong Sun, Xuanzhe Liu, Jie M. Zhang, Yang Liu

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

मुख्य विचार: "वाइल्ड वेस्ट" से "सभ्य शहर" तक

कल्पना कीजिए कि सॉफ्टवेयर डेवलपमेंट पहले एक सख्त ब्लूप्रिंट के साथ घर बनाने जैसा था। आपके पास एक सटीक भाषा (कोड) थी और एक अनुमानित निर्माता (कंप्यूटर) था। यदि आपने कोई गलती की, तो निर्माता रुक जाता और चिल्लाता, "त्रुटि! आप एक कील भूल गए!"

अब, हम लार्ज लैंग्वेज मॉडल्स (LLMs) का उपयोग करके एक नए प्रकार का घर बना रहे हैं। ब्लूप्रिंट के बजाय, हम निर्माता को यह बताने के लिए प्रॉम्प्ट्स (प्राकृतिक भाषा निर्देश) का उपयोग कर रहे हैं कि उसे क्या करना है। समस्या क्या है? निर्माता एक बहुत ही प्रतिभाशाली, लेकिन अप्रत्याशित मानव कलाकार की तरह है। वे "कंप्यूटर कोड" नहीं बोलते; वे "मानव भाषा" बोलते हैं, जो बारीकियों, अस्पष्टता और मूड के उतार-चढ़ाव से भरी होती है।

इस पेपर के लेखक इस नए तरीके से निर्माण करने को "प्रॉम्प्टवेयर" (Promptware) कहते हैं। उनका तर्क है कि अभी प्रॉम्प्ट्स के साथ निर्माण करना "वाइल्ड वेस्ट" (अनियंत्रित क्षेत्र) की तरह है। डेवलपर्स केवल अनुमान लगा रहे हैं, चीजें आजमा रहे हैं, इस उम्मीद में कि यह काम कर जाएगा, और जब यह टूट जाता है तो इसे ठीक कर रहे हैं। वे इसे "प्रॉम्प्टवेयर संकट" (Promptware Crisis) कहते हैं।

इसे ठीक करने के लिए, वे "प्रॉम्प्टवेयर इंजीनियरिंग" का प्रस्ताव देते हैं। यह विचार है कि हमें प्रॉम्प्ट्स की इस नई, अव्यवस्थित दुनिया में पारंपरिक सॉफ्टवेयर इंजीनियरिंग के सख्त, संगठित नियमों को लाने की आवश्यकता है। हमें प्रॉम्प्ट्स को आकस्मिक नोट्स की तरह मानना बंद करना होगा और उन्हें गंभीर, संरचित सॉफ्टवेयर आर्टिफैक्ट्स की तरह मानना शुरू करना होगा।


यह इतना अलग क्यों है? (10 अंतर)

पेपर पारंपरिक सॉफ्टवेयर की तुलना इस नए "प्रॉम्प्टवेयर" से करते हुए 10 प्रमुख अंतरों पर प्रकाश डालता है। यहाँ उपमा दी गई है:

  1. संरचना बनाम अराजकता (Structure vs. Chaos): पारंपरिक कोड एक कठोर लेगो सेट की तरह है; हर टुकड़ा बिल्कुल फिट बैठता है। प्रॉम्प्ट्स मिट्टी की एक थैली की तरह हैं; आप उन्हें किसी भी तरह से ढाल सकते हैं, लेकिन हर बार उन्हें एक विशिष्ट आकार में पूरी तरह से फिट करना कठिन होता है।
  2. निश्चितता बनाम अनुमान (Certainty vs. Guesswork): यदि आप एक पारंपरिक प्रोग्राम को दो बार चलाते हैं, तो यह बिल्कुल एक जैसा काम करता है। यदि आप एक LLM से दो बार एक ही सवाल पूछते हैं, तो यह आपको दो थोड़े अलग उत्तर दे सकता है क्योंकि यह संभाव्यता (प्रोबेबिलिस्टिक) पर आधारित है (जैसे पासा फेंकना)।
  3. सही बनाम "काफी अच्छा" (Right vs. "Good Enough"): कोड में, एक सेमीकोलन का छूटना एक घातक त्रुटि है। प्रॉम्प्ट्स में, एक टाइपो (लिखने की गलती) उत्तर को बस थोड़ा अजीब बना सकती है, या यह AI को एक फर्जी तथ्य की कल्पना (hallucination) करने पर मजबूर कर सकता है। यहाँ कोई एक "सही" उत्तर नहीं है।
  4. ब्लैक बॉक्स (The Black Box): जब एक पारंपरिक प्रोग्राम क्रैश होता है, तो आपको एक विस्तृत मानचित्र मिलता है कि वह कहाँ टूटा। जब एक LLM विफल होता है, तो वह बिना यह बताए कि क्यों, बस आपको एक गलत उत्तर दे देता है। यह एक जादूगर की तरह है जो टोपी से खरगोश निकालता है; आप खरगोश को देखते हैं, लेकिन आप नहीं जानते कि वह वहाँ कैसे पहुँचा।
  5. मानवीय विचित्रताएं (Human-like Quirks): पारंपरिक कंप्यूटर रोबोट होते हैं; उनकी भावनाएं नहीं होतीं। LLMs इंसानों की तरह व्यवहार करते हैं। वे पक्षपाती, भावुक या विनम्र हो सकते हैं। यह बातचीत के लिए तो अच्छा है लेकिन अनुमानित इंजीनियरिंग के लिए बुरा है।
  6. स्मृति संबंधी मुद्दे (Memory Issues): एक पारंपरिक प्रोग्राम सब कुछ याद रखता है जब तक कि आप उसे भूलने के लिए न कहें। एक LLM का ध्यान बहुत कम होता है; वह एक लंबी बातचीत की शुरुआत को भूल जाता है जब तक कि आप उसे लगातार याद न दिलाते रहें (एक गोल्डफिश की तरह)।
  7. सुरक्षा (Security): पारंपरिक सॉफ्टवेयर में लॉक किए गए दरवाजे और गार्ड होते हैं। LLMs खुले घरों की तरह हैं; यह किसी के लिए भी उन्हें रहस्य बताने या ऐसी चीजें करने के लिए धोखा देना आसान है जो उन्हें नहीं करनी चाहिए (जिसे "प्रॉम्प्ट इंजेक्शन" कहा जाता है)।

रोडमैप: इसे कैसे ठीक करें

लेखक प्रॉम्प्ट्स को प्रबंधित करने के लिए एक पूर्ण जीवन चक्र का प्रस्ताव करते हैं, ठीक वैसे ही जैसे इंजीनियर सॉफ्टवेयर का प्रबंधन करते हैं। यहाँ वे क्या सुझाव देते हैं, पेपर के विशिष्ट शोध अवसरों का उपयोग करते हुए दिया गया है:

1. आवश्यकताएँ (Requirements - "क्या")

प्रॉम्प्ट लिखने से पहले, आपको पता होना चाहिए कि आप वास्तव में क्या चाहते हैं। लेकिन चूंकि LLMs अप्रत्याशित हैं, आप केवल यह नहीं कह सकते कि "इसे परफेक्ट बनाओ।" आपको परिभाषित करना होगा:

  • AI को क्या करना चाहिए।
  • इसका व्यवहार कैसा होना चाहिए (टोन, शैली)।
  • किसे टालना है (पूर्वाग्रह, सुरक्षा जोखिम)।
  • उपमा: केवल यह कहने के बजाय कि "एक पुल बनाओ," आपको कहना होगा, "एक ऐसा पुल बनाएं जो सस्पेंशन ब्रिज जैसा दिखे, 10 टन भार सह सके, और जब वह चरमराए तो समुद्री डाकू जैसी आवाज न करे।"

2. डिज़ाइन (Design - "योजना")

हमें डिज़ाइन पैटर्न (Design Patterns) की आवश्यकता है। जिस तरह वास्तुकारों के पास रसोई या बाथरूम बनाने के मानक तरीके होते हैं, हमें प्रॉम्प्ट लिखने के मानक तरीके चाहिए।

  • विचार: सामान्य कार्यों (जैसे टेक्स्ट का सारांश लिखना या कोड लिखना) के लिए पूर्व-अनुमोदित, परीक्षित संरचनाओं के साथ एक "प्रॉम्प्ट लाइब्रेरी" बनाएं ताकि डेवलपर्स को हर बार पहिया फिर से बनाने की आवश्यकता न पड़े।

3. कार्यान्वयन (Implementation - "निर्माण")

हमें बेहतर उपकरणों की आवश्यकता है। वर्तमान में, प्रॉम्प्ट लिखना बिना स्पेलचेक वाले टाइपराइटर पर टाइप करने जैसा है।

  • विचार: ऐसे प्रॉम्प्ट IDEs (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) बनाएं जो एक स्मार्ट एडिटर की तरह काम करें। वे आपके प्रॉम्प्ट की अस्पष्टता की जांच करेंगे, बेहतर शब्दों का सुझाव देंगे, और यहाँ तक कि आपके बिखरे हुए प्राकृतिक भाषा को एक संरचित प्रारूप में "कंपाइल" भी करेंगे जिसे AI बेहतर समझ सके।

4. परीक्षण और डिबगिंग (Testing & Debugging - "गुणवत्ता नियंत्रण")

यह सबसे कठिन हिस्सा है। आप उस चीज़ का परीक्षण कैसे करते हैं जो हर बार बदल जाती है?

  • फ्लैकी टेस्ट (Flaky Tests): यदि एक टेस्ट फेल होता है लेकिन अगली बार पास हो जाता है, तो क्या प्रॉम्प्ट टूटा हुआ है, या AI का बस उस दिन बुरा दिन था? हमें नए तरीकों की आवश्यकता है जो इस यादृच्छिकता (randomness) को ध्यान में रखें।
  • ओरेकल समस्या (The Oracle Problem): सामान्य सॉफ्टवेयर में, आप सही उत्तर जानते हैं। AI के साथ, "सही" उत्तर अक्सर व्यक्तिपरक (subjective) होता है। हमें यह तय करने के लिए नए तरीकों की आवश्यकता है कि AI का उत्तर "काफी अच्छा" है या नहीं।
  • डिबगिंग (Debugging): चूंकि हम AI के मस्तिष्क के अंदर नहीं देख सकते, इसलिए हमें डिबगिंग को एक जासूसी खेल की तरह मानना होगा। हमें यह देखने के लिए प्रॉम्प्ट में एक बार में एक शब्द बदलना होगा कि क्या ठीक करता है, और हर बदलाव का विस्तृत लॉग रखना होगा।

5. विकास और परिनियोजन (Evolution & Deployment - "अपडेट")

प्रॉम्प्ट स्थिर नहीं होते; उन्हें विकसित होने की आवश्यकता है।

  • वर्जन कंट्रोल (Version Control): जैसे सॉफ्टवेयर के वर्जन्स होते हैं (v1.0, v1.1), प्रॉम्प्ट्स को वर्जनिंग की आवश्यकता होती है। यदि AI अपडेट के बाद एक प्रॉम्प्ट टूट जाता है, तो हमें पुराने वर्जन पर तुरंत वापस जाने में सक्षम होना चाहिए।
  • निगरानी (Monitoring): एक बार जब प्रॉम्प्ट लाइव हो जाता है, तो हमें इसे लगातार देखना होगा। क्या यह बहुत अधिक पक्षपाती हो रहा है? क्या यह रहस्य लीक कर रहा है? क्या यह धीमा हो रहा है? हमें इन मुद्दों को वास्तविक समय में पकड़ने के लिए "गार्डरेल्स" (सुरक्षा घेरे) की आवश्यकता है।

निष्कर्ष

पेपर का तर्क है कि हम प्रॉम्प्ट्स को एक "जुगाड़" या त्वरित समाधान के रूप में मानना जारी नहीं रख सकते। जैसे-जैसे हम AI को अधिक महत्वपूर्ण प्रणालियों (जैसे बैंकिंग, स्वास्थ्य सेवा या ग्राहक सेवा) में एकीकृत कर रहे हैं, "ट्रायल-एंड-एरर" (परीक्षण और त्रुटि) वाला दृष्टिकोण बहुत खतरनाक है।

प्रॉम्प्टवेयर इंजीनियरिंग इस क्षेत्र को पेशेवर बनाने का आह्वान है। यह प्राकृतिक भाषा की अराजकता को इसमें लाने के बारे में है कि आप इंजीनियरिंग के अनुशासन को लागू करें, जिससे "अनुमान लगाने के खेल" से विश्वसनीय, सुरक्षित और स्केलेबल सॉफ्टवेयर सिस्टम में बदला जा सके।

नोट: यह पेपर एक "विज़न पेपर" है, जिसका अर्थ है कि यह एक रोडमैप और सोचने का एक नया तरीका रेखांकित करता है। यह अभी तक कोई तैयार उत्पाद या पूरी तरह से परीक्षित टूलसेट प्रदान नहीं करता है, बल्कि यह एक ब्लूप्रिंट है कि इस क्षेत्र के भविष्य को कैसा दिखना चाहिए।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →