Codex के साथ सामान्य समस्याएं
Codex के साथ एक बार-बार होने वाली समस्या है चीजों को ढीले-ढाले शब्दों में डिज़ाइन या कार्यान्वित करने की प्रवृत्ति। मेरे अनुभव में, यह Claude के साथ थोड़ा कम आम है, लेकिन Codex के साथ, यह 5.5 में एक समस्या थी और 5.6 में भी बनी हुई है। यह उस समस्या के लिए एक प्रतिउपाय है।
उदाहरण के लिए, एक शोध रिपोर्ट के एक भाग में "Compression Point" नामक शीर्षक था। मुख्य भाग को पढ़ने पर, यह शब्द तीन अर्थों में उतार-चढ़ाव कर रहा था: "जब वार्तालाप इतिहास एक निर्धारित मात्रा तक पहुँचता है," "स्वचालित सारांशीकरण शुरू करने की सीमा," और "वास्तविक क्षण जब सारांशीकरण शुरू होता है।" लेखन धाराप्रवाह था और एक तकनीकी स्पष्टीकरण जैसा लग रहा था। हालाँकि, जैसे ही एक ही शब्द ने एक प्रारंभिक शर्त, एक मान, और एक घटना के रूप में कार्य किया, स्पष्टीकरण का विषय अपरिभाषित हो गया। परिणामस्वरूप, शोध निष्कर्ष दुखद रूप से गलत दिशा में चले गए।
इस विफलता से प्रेरित होकर, मैंने semantic-generation नामक एक कौशल बनाया। जबकि नाम एक टेक्स्ट जनरेशन तकनीक जैसा लगता है, मैंने वास्तव में टेक्स्ट लिखने से पहले शब्दों की परिभाषा बदल दी।
समस्या की संरचना और प्रभाव
यह समस्या है कि जापानी शब्द "Compression Point" स्वाभाविक रूप से अस्पष्ट है, लेकिन जब Codex को इस ओर इंगित किया गया, तो उसने पहले इसे स्पष्टीकरण की कमी के रूप में और फिर शीर्षक अभिव्यक्ति की समस्या के रूप में ठीक करने का प्रयास किया। उसने तुरंत यह नहीं पहचाना कि उसने एक प्रारंभिक शर्त को एक निष्पादन घटना के साथ भ्रमित कर दिया था।
उसी सत्र में, कुछ ऐसा ही हुआ। चूँकि कारण अभी तक ज्ञात नहीं था, योजना एक परीक्षण करने, परिणामों से कारण को अलग करने, और फिर एक प्रतिउपाय चुनने की थी। Codex ने इसे "एक में अवलोकन एकत्र करना" के रूप में संक्षेपित किया।
संग्रह का लक्ष्य स्वयं अवलोकन नहीं थे। यह परीक्षण से प्राप्त मान या रिकॉर्ड थे। इसके अलावा, मान एकत्र करना लक्ष्य नहीं था, बल्कि कारण को अलग करने का एक साधन था।
इसे एक छोटे वाक्यांश में संक्षेपित करने से, निम्नलिखित क्रम गायब हो गया:
- कारण अभी तक ज्ञात नहीं है।
- एक परीक्षण करें।
- परिणामों से कारण को अलग करें।
- अलग करने के बाद एक प्रतिउपाय चुनें।
"एक में अवलोकन एकत्र करना" प्रशंसनीय लगता है। क्योंकि यह प्रशंसनीय लगता है, यह असंगठित भागों को ढक देता है और बाद के डिज़ाइन के लिए आधार बन जाता है।
मूल शब्दों के लिए सुधार सूचियाँ इसे रोक नहीं सकतीं
सुधारों पर विचार करते समय, सही किए गए शब्दों और अर्थों के बीच पत्राचार को रिकॉर्ड करने और इसे अगले सत्र में ले जाने का प्रस्ताव रखा गया।
मैं जो रोकना चाहता हूँ वह "पहले से गलत इस्तेमाल किए गए शब्द का फिर से उपयोग करना" नहीं है। यह लक्ष्य अस्पष्ट होने पर पहले एक शब्द रखना और उस शब्द के आधार पर सोच को आगे बढ़ाना है। भले ही आप गलत शब्दों की एक सूची बना लें, अगली बार एक अलग गढ़ा हुआ शब्द जन्म लेगा।
इसलिए, सही किए गए शब्दों के बजाय, मैंने प्रत्येक सत्र की शुरुआत में मूल शब्द बनाने से पहले उम्मीदवार शब्द बनाने की नीति बदल दी।
प्रतिउपाय) डिज़ाइन से पहले उम्मीदवार शब्द सूची के निर्माण को बाध्य करें
मैंने AI से विशिष्ट रूप से परिभाषित शब्दों के लिए एक पत्राचार तालिका बनाने और फिर उस फ़ाइल को लोड करने के बाद डिज़ाइन करने का निर्णय लिया।
पत्राचार तालिका में निम्नलिखित सात कॉलम हैं:
- स्रोत
- उद्देश्य
- ठोस वस्तु
- भूमिका
- संदर्भ
- उम्मीदवार शब्द
- प्रारंभिक परिभाषा
कॉलम का क्रम महत्वपूर्ण है। उम्मीदवार शब्द सबसे दाईं ओर है और ठोस वस्तु और भूमिका लिखे जाने तक इसे नहीं भरा जा सकता।
यदि उम्मीदवार शब्द सबसे बाईं ओर होता, तो कोई पहले "Compression Point" शब्द लिख सकता था और फिर बाद में उस शब्द के अनुकूल एक स्पष्टीकरण बना सकता था। यह केवल उस पीढ़ी क्रम को पुन: उत्पन्न करेगा जिसे मैं तालिका के भीतर रोकना चाहता हूँ।
भूमिकाएँ भी प्रति पंक्ति एक रखी जाती हैं। यदि आप एक ही शब्द के साथ एक प्रारंभिक शर्त और एक घटना को संभालना चाहते हैं, तो आप पंक्तियों को विभाजित करते हैं। फिर, "इसे एक शब्द में समाप्त करें" के दबाव से पहले, यह तथ्य कि दो वस्तुओं को संभाला जा रहा है, दिखाई देने लगता है।
ऐसा करके, जनरेटिव AI स्वयं नोटिस कर सकता है जब शब्द अस्पष्ट हो रहे हैं, और मैं शब्दों के अस्पष्ट रहते हुए उनके उपयोग को सक्रिय रूप से प्रतिबंधित करने में सक्षम था।
सारांश
जनरेटिव AI एक खाली जगह को खाली रखने में अच्छा नहीं है। भले ही लक्ष्य या उद्देश्य अभी तक निर्धारित न हुआ हो, यदि एक प्रशंसनीय शब्द रखा जाए तो यह टेक्स्ट जारी रख सकता है। वह धाराप्रवाहता डिज़ाइन में खतरनाक हो सकती है।
semantic-generation अच्छे शब्द खोजने का कौशल नहीं है। यह AI को एक पल के लिए रुकने और जब वह एक मूल शब्द का उपयोग करने का प्रयास करता है तो उपयुक्त शब्द चुनने के लिए बनाने का एक कौशल है।
लक्ष्य क्या है? क्या यह एक शर्त, एक स्थिति, या एक घटना है? इसे किस उद्देश्य के लिए संभाला जाता है, और किसके बाद क्या होता है?
केवल उन पंक्तियों के लिए जो अब तक लिखी गई हैं, हम अंत में एक नाम देते हैं। पहली नज़र में, यह एक चक्कर की तरह लगता है, लेकिन यह "Compression Point" जैसे एक शब्द से पूरे डिज़ाइन को पुनर्निर्माण करने से छोटा है।
semantic-generation कौशल
1---2name: semantic-generation3description: |4 एक जनरेशन प्रक्रिया जहां, लक्ष्य दस्तावेज़ (डिज़ाइन सामग्री, आवश्यकताओं से डिज़ाइन, शोध रिपोर्ट, कारण पृथक्करण योजनाएँ, प्रतिउपाय योजनाएँ, नामकरण, तर्क क्रम का सारांश) लिखने से पहले, एक पत्राचार तालिका (संदर्भ तालिका) पहले एक स्वतंत्र वितरण योग्य के रूप में प्रस्तुत की जाती है ताकि शब्द से पहले संदर्भ और भूमिका को स्थिर किया जा सके।5 ट्रिगर: डिज़ाइन सामग्री लिखना, डिज़ाइन दस्तावेज़ बनाना, शोध रिपोर्ट लिखना, प्रतिउपाय योजनाएँ लिखना, नामकरण, स्थिति नाम/शर्त नाम/प्रकार नाम/विधि नाम तय करना, तर्क क्रम का सारांश देना, संदर्भ तालिका, पत्राचार तालिका।6 ट्रिगर न करें: उपयोगकर्ता मूल टेक्स्ट को उद्धृत करना, सरल यांत्रिक संपादन, मौजूदा नामों का पुन: उपयोग, निश्चित आउटपुट, छोटी बातचीत, छोटे वाक्य जो केवल स्थापित शब्दों के साथ लिखे जा सकते हैं।7---89# semantic-generation — शब्द से पहले लक्ष्य को स्थिर करने की प्रक्रिया1011यदि लक्ष्य अस्पष्ट होने पर पहले एक शब्द (अक्सर मौके पर गढ़ा गया शब्द) रखा जाता है, और उस शब्द के आधार पर सोच आगे बढ़ती है, तो संदर्भ के साथ विसंगति जापानी वाक्यों, डिज़ाइन वाक्यों और कोड पहचानकर्ताओं में बिना सुधारे फैल जाती है। यह कौशल "पहले स्वतंत्र रूप से पत्राचार तालिका प्रस्तुत करने और मुख्य भाग को उसकी प्रतिलिपि के रूप में लिखने" के अनुक्रम को बाध्य करता है।12अनुशासन के मानदंड [[referent-before-label]] नियम द्वारा नियंत्रित होते हैं।1314## आवेदन मानदंड1516जब निम्नलिखित में से कोई भी लागू हो तो उपयोग करें। यदि आप निर्णय नहीं कर सकते, तो इसे लागू मानें।17181. डिज़ाइन सामग्री, आवश्यकताओं से डिज़ाइन, शोध रिपोर्ट, कारण पृथक्करण योजनाएँ, या प्रतिउपाय योजनाएँ लिखना।192. नामकरण (सार्वजनिक विशिष्टताएँ, स्थिति नाम, शर्त नाम, घटना नाम, मान या रिकॉर्ड के लिए प्रकार नाम, विधि नाम, बूलियन नाम)।203. उपयोगकर्ता द्वारा दिए गए तर्क क्रम को छोटे कार्य लेबल में संक्षेपित करने का प्रयास करना।2122## सामान्य प्रवाह2324### 1. पहले पत्राचार तालिका को एक स्वतंत्र वितरण योग्य के रूप में सहेजें (दो-चरणीय प्रस्तुतीकरण)2526मुख्य भाग का एक भी अक्षर लिखने से पहले, पत्राचार तालिका को एक स्वतंत्र फ़ाइल के रूप में सहेजें।2728- सहेजने का स्थान: कार्यशील निर्देशिका में `referent-table-<slug>.md` (यदि वितरण योग्य `output/` के अंतर्गत है, तो इसे उसी निर्देशिका में रखें)।29- सहेजने के बाद sha256 रिकॉर्ड करें (जैसे, `shasum -a 256 <path>`)। यह रिकॉर्ड इस बात का सबूत बन जाता है कि "पत्राचार तालिका मुख्य भाग से पहले बनाई गई थी।" केवल तालिका को पूर्ण दस्तावेज़ की शुरुआत में रखने से पीढ़ी क्रम सिद्ध नहीं होता।3031### 2. पत्राचार तालिका का प्रारूप (कॉलम क्रम परिवर्तन निषिद्ध)3233| स्रोत | उद्देश्य | ठोस वस्तु | भूमिका | संदर्भ | उम्मीदवार शब्द | प्रारंभिक परिभाषा |3435- **उम्मीदवार शब्द सबसे दाईं ओर स्थिर है। उम्मीदवार शब्द कॉलम को तब तक खाली रखें जब तक ठोस वस्तु और भूमिका न भर दी जाए।** यह प्रारूप के माध्यम से पहले शब्द तय करने और बाद में लक्ष्य जोड़ने के क्रम को असंभव बनाने के लिए है।36- बंद विकल्पों में से भूमिका चुनें: `प्रारंभिक शर्त / स्थिति / घटना / मान / रिकॉर्ड / उद्देश्य / साधन`। यदि एक ही शब्द कई भूमिकाओं को संदर्भित करता है, तो पंक्तियों को विभाजित करें।37- "संदर्भ" में, उपयोगकर्ता द्वारा दिया गया तर्क क्रम (जैसे, परीक्षण → पृथक्करण → प्रतिउपाय) मूल टेक्स्ट के शब्दों का उपयोग करके लिखें। भूमिका कॉलम के साथ मिश्रण न करें।38- तालिकाएँ आमतौर पर 1–6 पंक्तियों तक सीमित होती हैं। यदि अधिक हो, तो तालिका को उन सीमाओं पर विभाजित करें जहाँ अर्थ बदलता है।39- पूर्ण होने पर, पुष्टि करें कि भले ही उम्मीदवार शब्द कॉलम छिपा हो, केवल "ठोस वस्तु" कॉलम से अर्थ स्पष्ट है।4041### 3. उम्मीदवार शब्द भरें4243- उच्चतम प्राथमिकता के साथ उपयोगकर्ता शब्दावली और स्थापित शब्दावली का उपयोग करें।44- अन्य नए शब्द रखते समय, "X का तात्पर्य है..." को "प्रारंभिक परिभाषा" कॉलम में लिखें। उन शब्दों का परिचय न दें जिनके लिए परिभाषा नहीं लिखी जा सकती; मुख्य भाग में ठोस वस्तु के विवरण का उपयोग वैसे ही करें।4546### 4. मुख्य भाग को पत्राचार तालिका की प्रतिलिपि के रूप में लिखें4748- मुख्य भाग के केंद्रीय शब्दावली के रूप में पत्राचार तालिका में सूचीबद्ध केवल शब्दों का उपयोग करें।49- जापानी वाक्यों, डिज़ाइन तत्वों और कोड पहचानकर्ताओं के तीन स्तरों पर समान पत्राचार बनाए रखें (जैसे, "इतिहास की मात्रा 250K तक पहुँचती है" = प्रारंभिक शर्त → शर्त नाम / "स्वचालित सारांशीकरण शुरू होता है" = घटना → घटना नाम/विधि नाम / "स्वचालित सारांशीकरण प्रगति पर है" = स्थिति → स्थिति नाम। विभिन्न भूमिकाओं के अलग-अलग नाम होने चाहिए)।50- फ्रेमवर्क या शीर्षकों के लिए कार्य लेबल (उद्देश्य, लक्ष्य और निर्णय को छोड़ने वाले अमूर्त संज्ञा वाक्यांश) का उपयोग न करें। यदि आप एक का उपयोग करना चाहते हैं, तो तालिका में उस वाक्यांश के संदर्भ को लिखने का प्रयास करें; यदि आप नहीं लिख सकते, तो इसे ठोस वाक्यों में लिखें।5152## समस्याओं के मामले में प्रारंभिक कार्रवाइयाँ5354- यदि आपको पता चलता है कि आपने पत्राचार तालिका प्रस्तुत किए बिना मुख्य भाग लिखना शुरू कर दिया है, तो बाद में तालिका जोड़कर जारी न रखें। मुख्य भाग को त्यागें, पत्राचार तालिका को स्वतंत्र रूप से पुन: प्रस्तुत करें, और फिर मुख्य भाग को पुन: उत्पन्न करें।55- यदि इंगित किया जाता है कि तालिका की एक पंक्ति गलत थी (संदर्भ या भूमिका का भ्रम), तो स्पष्टीकरण न जोड़ें; प्रासंगिक पंक्ति को फिर से लिखें और फिर मुख्य भाग के संबंधित भाग को पुन: उत्पन्न करें।56- ऐसे वातावरण में जहां यह कौशल लोड नहीं किया जा सकता, मुख्य भाग शुरू करने से पहले कम से कम 6 कॉलम (स्रोत, उद्देश्य, ठोस वस्तु, भूमिका, संदर्भ, उम्मीदवार शब्द) वाली एक तालिका को एक स्वतंत्र फ़ाइल के रूप में सहेजें।5758## टिप्पणियाँ5960- इस कौशल के मुख्य भाग में सत्यापन के लिए परीक्षण इनपुट या अपेक्षित उत्तर शामिल न करें (सत्यापन की स्वतंत्रता बनाए रखने के लिए। परीक्षण एक अलग निर्देशिका में फिक्स्चर में प्रबंधित किए जाते हैं)।61- लक्ष्य गलत शब्दों की सूची के विरुद्ध मिलान करना नहीं है। मिलान का लक्ष्य "दस्तावेज़ द्वारा स्वयं घोषित पत्राचार तालिका" है।
referent-before-label नियम
1# शब्द से पहले संदर्भ को स्थिर करें23<!-- codex-runtime-summary -->4- महत्वपूर्ण: लक्ष्य दस्तावेज़ों (डिज़ाइन वाक्य, शोध रिपोर्ट, प्रतिउपाय योजनाएँ, नामकरण, तर्क क्रम का सारांश) के लिए, पत्राचार तालिका को स्वतंत्र रूप से प्रस्तुत करने के बाद मुख्य भाग लिखें। पत्राचार तालिका के बिना मुख्य भाग प्रस्तुत करना निषिद्ध है। यदि आप तालिका के बिना लिखना शुरू करते हैं, तो मुख्य भाग को त्यागें और पत्राचार तालिका से फिर से शुरू करें।5- महत्वपूर्ण: फ्रेमवर्क या शीर्षकों के लिए कार्य लेबल (असंगठित कार्य को अमूर्त संज्ञाओं में लपेटने वाले वाक्यांश) का उपयोग न करें। नए या गढ़े हुए शब्दों का परिचय न दें जब तक कि आप एक प्रारंभिक परिभाषा नहीं लिख सकते; लक्ष्य को ठोस विवरणों में विघटित करें।6- महत्वपूर्ण: लक्ष्य दस्तावेज़ शुरू करते समय semantic-generation कौशल को ट्रिगर करें। भले ही कौशल का उपयोग नहीं किया जा सकता, पहले कम से कम 6 कॉलम (स्रोत, उद्देश्य, ठोस वस्तु, भूमिका, संदर्भ, उम्मीदवार शब्द) वाली एक पत्राचार तालिका को एक स्वतंत्र वितरण योग्य के रूप में सहेजें।7<!-- /codex-runtime-summary -->89यदि लक्ष्य अस्पष्ट होने पर पहले एक शब्द (अक्सर मौके पर गढ़ा गया शब्द) रखा जाता है, और उस शब्द के आधार पर सोच आगे बढ़ती है, तो संदर्भ के साथ विसंगति डिज़ाइन वाक्यों, स्थिति नामों, शर्त नामों, विधि नामों और प्रकार नामों (जैसा कि TASK-52 में "Compression Point" और "एक में अवलोकन एकत्र करना" उदाहरणों में है) में फैल जाती है। यह नियम इस पीढ़ी प्रक्रिया को स्वयं रोकता है। गलत शब्दों की सूची के विरुद्ध मिलान (शब्द शिकार) प्रतिउपाय नहीं है, क्योंकि गढ़े हुए शब्दों की गणना नहीं की जा सकती। शब्द उतार-चढ़ाव के मानदंड [[terminology]] द्वारा नियंत्रित होते हैं, और यह नियम "शब्द रखने से पहले की प्रक्रिया" को नियंत्रित करता है।1011## दायरा (लक्ष्य दस्तावेज़)1213केवल निम्नलिखित में से किसी के अंतर्गत आने वाले कार्यों पर लागू करें। यदि आप निर्णय नहीं कर सकते, तो इसे लागू करें।14151. डिज़ाइन सामग्री, आवश्यकताओं से डिज़ाइन, शोध रिपोर्ट, कारण पृथक्करण योजनाएँ, या प्रतिउपाय योजनाएँ लिखना।162. नामकरण (सार्वजनिक विशिष्टताएँ, स्थिति नाम, शर्त नाम, घटना नाम, मान या रिकॉर्ड के लिए प्रकार नाम, विधि नाम, बूलियन नाम)।173. उपयोगकर्ता द्वारा दिए गए तर्क क्रम को छोटे कार्य लेबल में संक्षेपित करने का प्रयास करना।1819उपयोगकर्ता मूल टेक्स्ट को उद्धृत करना, सरल यांत्रिक संपादन, मौजूदा नामों का पुन: उपयोग, निश्चित आउटपुट, छोटी बातचीत, या छोटे वाक्य जो केवल स्थापित शब्दों के साथ लिखे जा सकते हैं, पर लागू न करें।2021## स्थायी अनुप्रयोग (3 निषेध)2223- महत्वपूर्ण: लक्ष्य दस्तावेज़ों में, पत्राचार तालिका (संदर्भ तालिका) को स्वतंत्र रूप से प्रस्तुत किए बिना मुख्य भाग प्रस्तुत न करें। पत्राचार तालिका को पहले एक अलग फ़ाइल में या मुख्य भाग से एक अलग चरण में सहेजा जाना चाहिए, और मुख्य भाग उसके बाद लिखा जाता है (केवल तालिका को पूर्ण दस्तावेज़ की शुरुआत में रखने से यह सिद्ध नहीं होता कि इसे "पहले बनाया गया था")।24- महत्वपूर्ण: फ्रेमवर्क, शीर्षकों, या निष्कर्षों के लिए कार्य लेबल का उपयोग न करें। एक कार्य लेबल उद्देश्य, लक्ष्य या निर्णय के बिना असंगठित कार्य को अमूर्त संज्ञाओं में लपेटने वाले वाक्यांश को संदर्भित करता है (जैसे, "अवलोकनों का सारांश")। यदि आप एक का उपयोग करना चाहते हैं, तो पत्राचार तालिका में उस वाक्यांश द्वारा संदर्भित लक्ष्य को लिखने का प्रयास करें; यदि आप नहीं लिख सकते, तो वाक्यांश को त्यागें और ठोस वाक्यों में लिखें।25- महत्वपूर्ण: उपयोगकर्ता शब्दावली या स्थापित शब्दावली के अलावा अन्य नए शब्दों का परिचय देते समय, पहली घटना पर एक परिभाषा वाक्य "X का तात्पर्य है..." लिखें। उन शब्दों का परिचय न दें जिनके लिए परिभाषा वाक्य नहीं लिखा जा सकता; लक्ष्य को वाक्यों में वैसे ही लिखें।2627## सामान्य प्रवाह28291. निर्धारित करें कि क्या यह लक्ष्य दस्तावेज़ों के अंतर्गत आता है (यदि संदेह है, तो लागू मानें)।302. [[semantic-generation]] कौशल को ट्रिगर करें और पहले पत्राचार तालिका को एक स्वतंत्र वितरण योग्य के रूप में सहेजें।313. मुख्य भाग को केवल पत्राचार तालिका में सूचीबद्ध शब्दों का केंद्रीय शब्दावली के रूप में उपयोग करके लिखें, जापानी वाक्यों, डिज़ाइन तत्वों और कोड पहचानकर्ताओं में समान पत्राचार बनाए रखें।3233## समस्याओं के मामले में प्रारंभिक कार्रवाइयाँ3435- यदि आपको पता चलता है कि आपने किसी लक्ष्य दस्तावेज़ के लिए पत्राचार तालिका प्रस्तुत किए बिना मुख्य भाग लिखना शुरू कर दिया है, तो बाद में तालिका जोड़कर जारी न रखें। मुख्य भाग को त्यागें, पत्राचार तालिका को स्वतंत्र रूप से पुन: प्रस्तुत करें, और फिर मुख्य भाग को पुन: उत्पन्न करें।36- ऐसे वातावरण में जहां कौशल उपलब्ध नहीं है, मुख्य भाग शुरू करने से पहले कार्यशील निर्देशिका में कम से कम 6 कॉलम (स्रोत, उद्देश्य, ठोस वस्तु, भूमिका, संदर्भ, उम्मीदवार शब्द) वाली एक पत्राचार तालिका को एक स्वतंत्र फ़ाइल के रूप में सहेजें।





