"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > प्रॉम्प्ट इंजीनियरिंग (आलसी प्रोग्रामर्स के लिए): बिल्कुल वही कोड प्राप्त करना जो आप चाहते हैं (और इससे भी अधिक, चैटजीपीटी से बाहर)

प्रॉम्प्ट इंजीनियरिंग (आलसी प्रोग्रामर्स के लिए): बिल्कुल वही कोड प्राप्त करना जो आप चाहते हैं (और इससे भी अधिक, चैटजीपीटी से बाहर)

2024-11-08 को प्रकाशित
ब्राउज़ करें:833

Prompt Engineering (For Lazy Programmers): Getting Exactly the Code You Want (and Even More, Out of ChatGPT)

बिल गेट्स ने यह सब कहा है... एक आलसी प्रोग्रामर बनें!.

एक प्रोग्रामर के रूप में, तुरंत काम करने वाले कोड से बेहतर कुछ नहीं है—कोई बग नहीं, कोई अंतहीन डिबगिंग नहीं। कुछ त्वरित तकनीकों का पालन करके, आप चैटजीपीटी को न केवल कोड, बल्कि अनुकूलित, पूरी तरह कार्यात्मक और प्रलेखित कोड, एज केस, परीक्षण और यहां तक ​​कि प्रदर्शन अनुकूलन के साथ लिखने के लिए प्राप्त कर सकते हैं।

पर पहले...

प्रॉम्प्ट इंजीनियरिंग क्या है?

आर्टिफिशियल इंटेलिजेंस, विशेष रूप से चैटजीपीटी, सामग्री निर्माण, कोडिंग सहायता और जटिल सवालों के जवाब देने के लिए एक शक्तिशाली उपकरण बन गया है। फिर भी, बहुत से लोग इसकी पूरी क्षमता का दोहन नहीं करते हैं। जादू इस बात में निहित है कि आप अपने अनुरोधों को किस प्रकार व्यक्त करते हैं—जिसे हम त्वरित इंजीनियरिंग कहते हैं। इस लेख में, हम ऐसी तकनीकों का पता लगाएंगे जो आपके चैटजीपीटी अनुभव को और अधिक उपयोगी बना सकती हैं, कुछ ट्रिक्स पर प्रकाश डालेंगे जो एक सॉफ्टवेयर प्रोग्रामर के रूप में आपके संकेतों को औसत से शानदार तक ले जा सकते हैं।

प्रॉम्प्ट इंजीनियरिंग क्यों मायने रखती है?

चैटजीपीटी को बड़ी मात्रा में डेटा पर प्रशिक्षित किया जाता है, लेकिन इसकी प्रतिक्रियाएं आपके द्वारा दिए गए संकेत की गुणवत्ता से आकार लेती हैं। खराब शब्दों या अस्पष्ट संकेतों से अप्रासंगिक या सामान्य उत्तर मिल सकते हैं। इसके विपरीत, अच्छी तरह से संरचित संकेत विचारशील, सटीक और रचनात्मक प्रतिक्रियाएँ उत्पन्न कर सकते हैं।

यह मार्गदर्शिका आलसी प्रोग्रामर (मेरे जैसे?) को त्वरित इंजीनियरिंग का उपयोग करके चैटजीपीटी से उच्च-गुणवत्ता, अनुकूलित और यहां तक ​​​​कि अधिक कार्यात्मक कोड प्राप्त करने में मदद करेगी। ये विशेष रूप से चैटजीपीटी को भारी भारोत्तोलन करने में मदद करेंगे - कोड पीढ़ी को स्वचालित करना, इसमें सुधार करना और यहां तक ​​कि अनुकूलन और परीक्षणों का सुझाव देना। नीचे, मैंने ऐसे उदाहरण भी शामिल किए हैं जो सामान्य संकेतों बनाम अनुकूलित संकेतों और उनके द्वारा उत्पन्न परिणामों की तुलना करते हैं।

तो चलो शुरू हो जाओ!।

बेहतर कोड के लिए ऑटो-शोधन को ट्रिगर करना

ChatGPT को अक्षमताओं का पता लगाने, अनुकूलन का सुझाव देने, या सुविधाएँ जोड़ने के लिए ट्रिगर्स को एम्बेड करके अपनी प्रतिक्रियाओं को स्वचालित रूप से परिष्कृत करने के लिए कहें।

मूल संकेत: "एक स्ट्रिंग को उलटने के लिए एक पायथन फ़ंक्शन लिखें।"

def reverse_string(s):
    return s[::-1]

# Example usage:
print(reverse_string("hello"))  # Output: "olleh"

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

def reverse_string(s):
    return s[::-1]

# Trigger: Refining for large strings
def reverse_large_string(s):
    # Handle large strings in chunks for efficiency
    chunk_size = 100000  # Process in 100k chunks
    return ''.join(s[i:i chunk_size][::-1] for i in range(0, len(s), chunk_size))

# Example usage:
large_string = "a" * 1000000  # 1 million characters
print(reverse_large_string(large_string))
  • मूल कार्य सरल है और छोटे इनपुट के लिए काम करता है।

  • अनुकूलित, बहुत अधिक मेमोरी का उपभोग किए बिना बड़े तारों को उलटने के लिए एक कुशल खंड-आधारित समाधान पेश करता है।

बहु-चरणीय परियोजनाओं के लिए प्रासंगिक स्मृति

जब आपको बहु-चरणीय परियोजनाओं के लिए कोड की आवश्यकता होती है, तो ChatGPT पहले के चरणों को याद रख सकता है। यह अधिक जटिल वर्कफ़्लोज़ के लिए आदर्श है जहां आप एक परत को दूसरे के ऊपर बनाते हैं।

मूल संकेत: "उपयोगकर्ता प्रोफ़ाइल बनाने के लिए एक पायथन फ़ंक्शन लिखें।"

def create_user_profile(name, age, email):
    return {"name": name, "age": age, "email": email}

# Example usage:
user_profile = create_user_profile("Alice", 30, "[email protected]")
print(user_profile)

अनुकूलित संकेत: "उपयोगकर्ता प्रोफ़ाइल बनाने के लिए एक पायथन फ़ंक्शन लिखें। अब, उपयोगकर्ता प्राथमिकताओं को संग्रहीत करने के लिए इसे विस्तारित करें और प्रोफ़ाइल को सहेजने के लिए इसे डेटाबेस से कनेक्ट करें।"

def create_user_profile(name, age, email, preferences):
    return {"name": name, "age": age, "email": email, "preferences": preferences}

# Extend with a database connection
import sqlite3

def save_user_profile(profile):
    conn = sqlite3.connect('users.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS users
                      (name TEXT, age INTEGER, email TEXT, preferences TEXT)''')
    cursor.execute('''INSERT INTO users (name, age, email, preferences)
                      VALUES (?, ?, ?, ?)''', 
                   (profile['name'], profile['age'], profile['email'], str(profile['preferences'])))
    conn.commit()
    conn.close()

# Example usage:
user_profile = create_user_profile("Alice", 30, "[email protected]", {"theme": "dark"})
save_user_profile(user_profile)

  • बेसिक प्रॉम्प्ट से पहला फ़ंक्शन एक सरल उपयोगकर्ता प्रोफ़ाइल बनाता है।

  • दूसरा संकेत डेटा सहेजने के लिए विस्तारित कार्यक्षमता के साथ एक डेटाबेस-कनेक्टेड उपयोगकर्ता प्रोफ़ाइल प्रबंधक बनाता है।

त्रुटि-मुक्त कोड के लिए डिबग मोड का अनुरोध करें

आप ChatGPT को ऐसे कार्य करने के लिए कह सकते हैं मानो वह डिबग मोड में चल रहा हो, जहां यह अंतिम आउटपुट देने से पहले कोड में संभावित समस्याओं की जांच करता है और उन्हें ठीक करता है।

उदाहरण सरल संकेत: "किसी संख्या के वर्गमूल की गणना करने के लिए एक पायथन फ़ंक्शन लिखें।"

import math

def square_root(n):
    return math.sqrt(n)

# Example usage:
print(square_root(16))  # Output: 4.0

ट्रिक: "किसी संख्या के वर्गमूल की गणना करने के लिए एक पायथन फ़ंक्शन लिखें। नकारात्मक इनपुट जैसी त्रुटियों की जांच करने के लिए डिबग मोड सक्रिय करें, और यदि आवश्यक हो तो फ़ंक्शन को फिर से लिखें।"

import math

def square_root(n):
    if n 



  • मूल फ़ंक्शन वैध इनपुट के लिए ठीक काम करता है लेकिन नकारात्मक संख्याओं के साथ क्रैश हो जाता है।

  • अनुकूलित प्रॉम्प्ट नकारात्मक इनपुट के लिए त्रुटि प्रबंधन सुनिश्चित करता है, कोड को तोड़ने के बजाय एक कस्टम संदेश लौटाता है।

भूमिका निभाना: एक कोड समीक्षक के रूप में कार्य करें

आप फीडबैक प्रदान करने और अपने कोड के लिए सर्वोत्तम प्रथाओं का सुझाव देने के लिए चैटजीपीटी को एक वरिष्ठ कोड समीक्षक के रूप में भूमिका निभाने के लिए कह सकते हैं।

उदाहरण संकेत: "एक वरिष्ठ डेवलपर के रूप में कार्य करें और मेरे पायथन फ़ंक्शन की समीक्षा करें जो जांचता है कि कोई संख्या प्रमुख है या नहीं। प्रदर्शन और पठनीयता के लिए सुधार का सुझाव दें।"

def is_prime(n):
    if n 



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

मल्टी-फ़ंक्शन आउटपुट के लिए लेयर्ड प्रॉम्प्टिंग का उपयोग करें

आप एक ही संकेत में कार्यक्षमता की परतों को ढेर कर सकते हैं, चैटजीपीटी को एक ही बार में कई संबंधित कार्यों को संभालने के लिए कह सकते हैं।

बेसिक प्रॉम्प्ट: "एक यादृच्छिक पासवर्ड उत्पन्न करने के लिए एक पायथन फ़ंक्शन लिखें।"

import random
import string

def generate_password(length):
    return ''.join(random.choices(string.ascii_letters   string.digits, k=length))

# Example usage:
print(generate_password(10))  # Output: Random 10-character password

अनुकूलित संस्करण: "एक यादृच्छिक पासवर्ड उत्पन्न करने के लिए एक पायथन फ़ंक्शन लिखें। पासवर्ड को निम्नलिखित मानदंडों को पूरा करना होगा: कम से कम 12 अक्षर, इसमें अपरकेस, लोअरकेस, संख्याएं और विशेष वर्ण शामिल हैं। इसके अलावा, लिखें पासवर्ड मजबूत है या नहीं यह जांचने के लिए एक सत्यापन फ़ंक्शन।"

import random
import string
import re

def generate_password(length):
    characters = string.ascii_letters   string.digits   string.punctuation
    password = ''.join(random.choices(characters, k=length))
    return password

def validate_password(password):
    # Check length
    if len(password) 



  • मूल संकेत एक यादृच्छिक पासवर्ड उत्पन्न करता है।

  • अनुकूलित एक जटिल पासवर्ड जनरेटर देता है और पासवर्ड की ताकत की जांच करने के लिए एक सत्यापन फ़ंक्शन शामिल करता है।

परीक्षण-संचालित विकास: एक संपूर्ण परीक्षण सूट तैयार करें

आप ChatGPT को एक बार में पूर्ण परीक्षण सूट के साथ कोड लिखने के लिए कह सकते हैं, जिससे यह सुनिश्चित हो सके कि आपका कोड न्यूनतम प्रयास के साथ उत्पादन के लिए तैयार है। (यदि आपको मदद मांगनी ही है, तो सुनिश्चित करें कि आप बहुत कुछ मांगें?)

बेसिक प्रॉम्प्ट: "यह जांचने के लिए एक पायथन फ़ंक्शन लिखें कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं।"

def is_palindrome(s):
    return s == s[::-1]

# Example usage:
print(is_palindrome("madam"))  # Output: True
print(is_palindrome("hello"))  # Output: False

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

def is_palindrome(s):
    s = ''.join(c.lower() for c in s if c.isalnum())  # Remove non-alphanumeric characters
    return s == s[::-1]

# Test suite
def test_is_palindrome():
    assert is_palindrome("madam") == True
    assert is_palindrome("hello") == False
    assert is_palindrome("A man, a plan, a canal, Panama") == True
    assert is_palindrome("") == True  # Edge case: empty string
    assert is_palindrome(" ") == True  # Edge case: only spaces

# Example usage:
print(is_palindrome("A man, a plan, a canal, Panama"))  # Output: True
  • मूल संस्करण पैलिंड्रोम की जांच करता है लेकिन किनारे के मामलों को छोड़ देता है।

  • छिपी हुई ट्रिक न केवल रिक्त स्थान और विराम चिह्नों को अनदेखा करके फ़ंक्शन को परिष्कृत करती है बल्कि पाइटेस्ट का उपयोग करके एक व्यापक परीक्षण सूट भी प्रदान करती है।

इन तकनीकों में महारत हासिल करके, आप कम काम करते हुए चैटजीपीटी से उच्च-प्रदर्शन, त्रुटि-मुक्त और उत्पादन-तैयार कोड निकाल सकते हैं। ऑटो-रिफाइनमेंट्स, मेमोरी ट्रिगर्स, एरर हैंडलिंग और संपूर्ण टेस्ट सुइट्स के साथ, आप अधिक कठिन नहीं बल्कि अधिक स्मार्ट कोड बनाएंगे।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/jamesbright/prompt-engineered-for-lazy-programmers-getting-exactly-the-code-you-want-and-even-more-out-of-chatgpt- 3plf? 1यदि कोई उल्लंघन है, तो कृपया उसे हटाने के लिए [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3