97 पॉइंट द्वारा baeba 2025-06-05 | 5 टिप्पणियां | WhatsApp पर शेयर करें

1. परिचय: प्रॉम्प्ट डेवलपमेंट प्रोडक्टिविटी तय करते हैं

  • AI coding assistant का प्रदर्शन प्रॉम्प्ट की गुणवत्ता पर निर्भर करता है। स्पष्ट अनुरोध बेहतर कोड देते हैं, जबकि अस्पष्ट सवाल बेकार आउटपुट पैदा करते हैं।
  • प्रॉम्प्ट लिखना अब डेवलपर्स के लिए एक आवश्यक कौशल है, और यह किसी डेवलपमेंट पार्टनर को प्रशिक्षित करने जैसा है।
  • यह लेख व्यावहारिक उदाहरणों और तुलनाओं के ज़रिए दिखाता है कि ‘अच्छा सवाल’ कैसे ‘अच्छा कोड’ बनाता है।

2. प्रभावी प्रॉम्प्ट के 7 सिद्धांत

संदर्भ दें
  • AI को आपके प्रोजेक्ट की पृष्ठभूमि पता नहीं होती, इसलिए language, framework, library, error message और उद्देश्य जैसी बातें स्पष्ट रूप से बतानी चाहिए।
  • उदाहरण: “Node.js + Express + Mongoose environment में user fetch के दौरान TypeError आ रहा है” जैसी तकनीकी पृष्ठभूमि शामिल करें।
लक्ष्य स्पष्ट करें
  • "कोड काम नहीं कर रहा" कहना मददगार नहीं है। “expected result ○○ है, लेकिन actual output △△ है। ऐसा क्यों हो रहा है?” जैसे सटीक तरीके से पूछें।
जटिल काम को हिस्सों में बाँटें
  • पूरे फीचर के बारे में एक साथ पूछने के बजाय step-by-step अनुरोध करना ज़्यादा प्रभावी होता है। उदाहरण: component > state management > API integration.
input/output उदाहरण शामिल करें
  • अगर आप इच्छित output का उदाहरण दिखाते हैं, तो AI आपकी मंशा को बेहतर समझता है। (e.g. [3,1,4][1,3,4])
भूमिका दें
  • “Senior React developer की तरह इस कोड का review करो” जैसी role-setting जवाब की गहराई और गुणवत्ता को बेहतर बनाती है।
संवादी तरीके से बार-बार सुधार करें
  • पहला जवाब परफेक्ट होना ज़रूरी नहीं है। आप feedback दें, तो AI उसी प्रवाह को आगे बढ़ाते हुए धीरे-धीरे अधिक सटीक परिणाम देता है।
कोड की consistency बनाए रखें
  • अगर function name, formatting, comment आदि में consistency हो, तो AI भी उसी प्रवाह को बनाए रखता है और गुणवत्ता बेहतर होती है।

3. debugging के लिए प्रॉम्प्ट रणनीतियाँ

error को स्पष्ट करें और expected behavior से तुलना करें
  • अगर आप error message, समस्या के लक्षण, अपेक्षित परिणाम और input value साथ में देते हैं, तो AI अधिक सटीक diagnosis कर सकता है।
line-by-line tracing माँगें
  • “इस variable की value कहाँ से गलत हुई, step-by-step trace करके बताओ” जैसे अनुरोध जटिल logic bug में प्रभावी होते हैं।
minimal reproducible code दें
  • पूरे कोड की जगह सिर्फ समस्या पैदा करने वाला मुख्य कोड दें, तो AI कारण को अधिक सटीकता से analyze कर सकता है।
स्पष्ट follow-up प्रश्न पूछें
  • “ऐसा result क्यों आ रहा है?” से बेहतर है, “इस हिस्से में कौन-सी condition गलत हो सकती है?” जैसा सीधा सवाल।
उदाहरण तुलना: खराब सवाल vs. अच्छा सवाल
  • अगर आप सिर्फ “कोड काम नहीं कर रहा” कहते हैं, तो अनुमान-आधारित जवाब मिलते हैं; लेकिन error message और कोड साथ देने पर सटीक समाधान मिलता है।

4. refactoring और optimization के लिए प्रॉम्प्ट रणनीतियाँ

refactoring का लक्ष्य स्पष्ट करें
  • सिर्फ “refactor कर दो” कहने के बजाय “readability बेहतर करनी है, performance सुधारनी है, API को modernize करना है” जैसे स्पष्ट लक्ष्य देने चाहिए।
  • अगर लक्ष्य अस्पष्ट हो, तो AI random सुधार करने की कोशिश कर सकता है या कोड को आपकी इच्छा के विपरीत दिशा में बदल सकता है।
language/environment का संदर्भ दें
  • “React class component → functional component conversion”, “Node.js 14 environment” जैसी जानकारी देने से प्रोजेक्ट स्टाइल या तकनीकी सीमाओं के अनुरूप बदलाव संभव होते हैं।
explanation भी साथ में माँगें
  • refactored code के साथ “इसे ऐसे क्यों बदला गया” यह भी पूछें, ताकि code quality review और सीख—दोनों का लाभ मिले।
role-based request से स्तर बढ़ाएँ
  • “Senior TypeScript developer की तरह refactor करो” जैसी request अधिक आधुनिक और गहरी सुधार-सुझाव ला सकती है।

5. नए फीचर implementation के लिए प्रॉम्प्ट रणनीतियाँ

फीचर को चरणों में बाँटकर पूछें
  • जटिल फीचर के लिए भी “feature structure design → UI generation → logic wiring” के क्रम में पूछने से अधिक स्थिर परिणाम मिलते हैं।
मौजूदा code style दें
  • अगर आप समान component या internal convention दिखाते हैं, तो प्रोजेक्ट की consistency के अनुरूप कोड बनता है। उदाहरण: “UserList के आधार पर ProductList बनाओ”
comment/TODO से मंशा बताएं
  • IDE में “// TODO: request validation implement करें” जैसी natural-language comment लिखने पर Copilot उसके अनुसार code block auto-generate कर सकता है।
input/output उदाहरण दें
  • input value और expected output के उदाहरण शामिल करने पर AI उन्हें पूरा करने की दिशा में काम करता है और सटीकता बढ़ती है।
feedback-आधारित iterative improvement
  • अगर पहला परिणाम अपेक्षा के अनुरूप न हो, तो “filter की जगह map इस्तेमाल करें” जैसा feedback दें; AI उसे तुरंत लागू कर आगे सुधार करता है।

6. असफल होने वाले प्रॉम्प्ट के 7 पैटर्न (Anti-patterns)

अस्पष्ट अनुरोध
  • “यह कोड क्यों नहीं चल रहा?” जैसे सवाल सिर्फ सामान्य और बेकार जवाब दिलाते हैं। error message, code और expected result शामिल करें।
बहुत ज़्यादा माँगें
  • “पूरी app बनाओ + authentication जोड़ो + deployment script भी दो” जैसे composite request से छूट या भ्रम पैदा होता है, इसलिए इन्हें चरणों में बाँटना चाहिए।
कोई सवाल ही नहीं
  • अगर आप सिर्फ कोड दे देते हैं और कोई अनुरोध नहीं करते, तो AI अक्सर summary दे देता है या असंबंधित output देता है; इसलिए सवाल का उद्देश्य स्पष्ट होना चाहिए।
success criteria अस्पष्ट
  • “इसे तेज़ करो”, “इसे बेहतर बना दो” जैसे निर्देशों के मानदंड स्पष्ट नहीं होते। उदाहरण: “इसे O(n) time complexity तक सुधारो” जैसा measurable criterion दें।
AI के सवालों को नज़रअंदाज़ करना
  • अगर AI पूछे “यह functional है या class-based?”, तो उसका जवाब देना चाहिए, तभी optimized output मिलेगा।
consistency की कमी
  • अगर style, syntax और terminology बार-बार बदलते रहें, तो AI भी भ्रमित होता है। एक ही शैली बनाए रखने से जवाब की गुणवत्ता बेहतर होती है।
“ऊपर वाला कोड” जैसी अस्पष्ट reference
  • बातचीत लंबी होने पर “ऊपर वाला कोड” अस्पष्ट हो जाता है। संभव हो तो कोड फिर से दें या function name स्पष्ट रूप से लिखें।

7. निष्कर्ष: AI के साथ सहयोग एक iterative conversation है

  • prompt engineering अब डेवलपर्स के लिए एक मुख्य communication skill है। संदर्भ देना, लक्ष्य स्पष्ट करना और iterative improvement इसकी बुनियाद हैं।
  • AI सिर्फ coding assistant नहीं, बल्कि collaborator और learning partner भी है। इसका सही उपयोग करने पर सिर्फ प्रोडक्टिविटी ही नहीं, डेवलपमेंट स्किल भी बेहतर होती है।
  • experiment, feedback और role-setting जैसी विभिन्न रणनीतियों का उपयोग करके AI को एक वास्तविक टीममेट की तरह इस्तेमाल किया जा सकता है।
  • अंतिम लक्ष्य तेज़ और अधिक सटीक code generation है, लेकिन साथ ही इसे बेहतर डेवलपर बनने के learning tool के रूप में भी सक्रिय रूप से इस्तेमाल करना चाहिए।

अच्छे vs. खराब प्रॉम्प्ट की तुलना तालिका

श्रेणी debugging refactoring फीचर implementation
अच्छा प्रॉम्प्ट TypeError यहाँ हो रहा है। expected value ○○ है, लेकिन NaN मिल रहा है। कारण बताइए. इस function में duplication हटाकर performance बेहतर करो। fetch वाले हिस्से को helper में अलग करो, और error message वही रहने दो. search bar वाला ProductList component बनाओ। /api/products से JSON लेकर list filter करो, और error·loading state भी शामिल करो.
खराब प्रॉम्प्ट मेरा function क्यों नहीं चल रहा? Refactor कर दो. search फीचर बना दो.

5 टिप्पणियां

 
bootno2316 2025-06-08

लगता है, यह इंसानी प्रोग्रामरों के साथ व्यवहार करने से अलग नहीं है।

 
xguru 2025-06-08

प्रोग्रामर के लिए Prompt Engineering Playbook

GN+ सारांश बॉट द्वारा संक्षेपित संस्करण भी साथ में देखें। Hacker News का सारांश कमेंट भी देखने लायक है।

 
baeba 2025-06-09

आपने इसे पहले ही पोस्ट कर दिया था..
धन्यवाद।

 
bichi 2025-06-05

कृपया, प्लीज़, ऐसा मत करो कहने पर भी 10 में 1 बार तो ऐसे करने वाले लोग मिल ही जाते हैं -_-

 
mango 2025-06-05

इंसान क्या जाने!