# Prompts के लिए Versioning और Change Control — Prompt Engineering

Source: https://www.geekswithgeeks.com/hi/prompt-engineering/v-version

> ट्रैक करें कि किस prompt ने कौन-सा नतीजा दिया।

## Prompts production कोड हैं

Prompts को बिखरी strings की जगह **नाम और संस्करण** वाली files के रूप में version control में रखें। हर अनुरोध के लिए **prompt संस्करण, मॉडल नाम और settings** (temperature, max tokens) दर्ज करें ताकि नतीजे दोहराए जा सकें और regressions का पीछा हो सके। Prompt बदलावों की कोड की तरह समीक्षा करें, CI में test set चलाएँ, और तेज़ rollback के साथ क्रमिक रूप से लाएँ (traffic का छोटा प्रतिशत, फिर अधिक)। जहाँ provider अनुमति दे वहाँ **मॉडल संस्करण** पिन करें, क्योंकि चुपचाप मॉडल अद्यतन व्यवहार बदल सकते हैं; मॉडल बदलने या upgrade करने पर अपने tests दोबारा चलाएँ।

## Prompt registry, चलाकर

मैंने यह सादा-Python (सिर्फ़ standard library) उदाहरण चलाया। हर prompt पाठ को छोटा hash और आकार मिलता है ताकि आप ठीक बता सकें कि किस संस्करण ने नतीजा दिया; एक अक्षर बदलने से भी hash बदलता है।

```python
import hashlib, json

prompts = {
    "v1": "Summarise the text.",
    "v2": "Summarise the text in 2 sentences for a manager. Say 'unknown' if unsure.",
}
registry = {}
for name, text in prompts.items():
    registry[name] = {"sha": hashlib.sha256(text.encode()).hexdigest()[:8], "chars": len(text)}
print(json.dumps(registry, indent=1))

```

Output:

```
{
 "v1": {
  "sha": "f4b75c21",
  "chars": 19
 },
 "v2": {
  "sha": "300246f4",
  "chars": 73
 }
}
```

## मॉडल संस्करण पिन करें

जहाँ उपलब्ध हो तिथि वाला मॉडल identifier उपयोग करें ताकि provider का चुपचाप अद्यतन आपके नतीजे रातोंरात न बदले।

**Quiz:** हर मॉडल call के साथ क्या log होना चाहिए?

- [ ] सिर्फ़ तारीख़
- [ ] कुछ नहीं
- [x] Prompt संस्करण, मॉडल नाम और settings
- [ ] User का password

*Answer:* Prompt संस्करण, मॉडल नाम और settings. दोहराव के लिए ठीक पता होना चाहिए कि किसने हर आउटपुट बनाया।
