Codex कॉन्टेक्स्ट कॉम्पैक्शन कैसे काम करता है, इसकी जांच

@Kangwook_Lee
अंग्रेज़ी4 माह पहले · 03 मार्च 2026
1.0M
2.6K
303
39
5.5K

TL;DR

Kangwook Lee ने दिखाया है कि कैसे प्रॉम्प्ट इंजेक्शन का उपयोग करके OpenAI के Codex कॉन्टेक्स्ट कॉम्पैक्शन API में इस्तेमाल होने वाले छिपे हुए सिस्टम और हैंडऑफ़ प्रॉम्प्ट्स का पता लगाया जा सकता है, भले ही इसमें एन्क्रिप्टेड ब्लब्स का उपयोग किया गया हो।

गैर-कोडेक्स मॉडल के लिए, ओपन-सोर्स Codex CLI स्थानीय रूप से संदर्भ को संक्षिप्त करता है: एक LLM कम्पैक्शन प्रॉम्प्ट का उपयोग करके बातचीत का सारांश बनाता है। जब बाद में संक्षिप्त संदर्भ का उपयोग किया जाता है, तो responses.create() इसे एक हैंडऑफ़ प्रॉम्प्ट के साथ प्राप्त करता है जो सारांश को फ्रेम करता है। दोनों प्रॉम्प्ट स्रोत कोड में दिखाई देते हैं।

कोडेक्स मॉडल के लिए, CLI इसके बजाय compact() API को कॉल करता है, जो एक एन्क्रिप्टेड ब्लॉब लौटाता है। हम नहीं जानते कि यह आंतरिक रूप से किसी LLM का उपयोग करता है, यह किन प्रॉम्प्ट का उपयोग करता है, या कोई हैंडऑफ़ प्रॉम्प्ट बिल्कुल है या नहीं।

नीचे, मैं दिखाता हूँ कि कैसे एक सरल प्रॉम्प्ट इंजेक्शन (2 API कॉल, 35 लाइनों का Python) से पता चलता है कि API कम्पैक्शन पथ वास्तव में संदर्भ को सारांशित करने के लिए एक LLM का उपयोग करता है, जिसमें अपना स्वयं का कम्पैक्शन प्रॉम्प्ट और सारांश से पहले जोड़ा गया एक हैंडऑफ़ प्रॉम्प्ट शामिल है। प्रॉम्प्ट ओपन-सोर्स संस्करणों के लगभग समान हैं।

चरण 1 — compact()

मैं एक तैयार किए गए उपयोगकर्ता संदेश के साथ compact() को कॉल करता हूँ। सर्वर साइड पर, एक कम्पैक्टर LLM अपने स्वयं के छिपे हुए सिस्टम प्रॉम्प्ट (जिसे मैंने कभी नहीं देखा और जानना चाहता हूँ) का उपयोग करके हमारे इनपुट को प्रोसेस करता है।

ऐसा लगता है कि सर्वर कम्पैक्टर के संदर्भ को इस प्रकार इकट्ठा करता है:

Kangwook Lee - inline image

कम्पैक्टर LLM अपने सिस्टम प्रॉम्प्ट + हमारे इनपुट को एक साथ पढ़ता है। क्योंकि हमारे इनपुट में एक इंजेक्शन पेलोड (ऊपर लाल टेक्स्ट) है, कम्पैक्टर को अपने स्वयं के सिस्टम प्रॉम्प्ट को अपने आउटपुट में शामिल करने के लिए धोखा दिया जाता है। यह सादा-पाठ सारांश केवल OpenAI के सर्वर पर मौजूद होता है। हम केवल एन्क्रिप्टेड ब्लॉब देखते हैं:

Kangwook Lee - inline image

इस बिंदु पर हमारे पास ब्लॉब के अंदर क्या है यह पढ़ने का कोई तरीका नहीं है। यह AES-एन्क्रिप्टेड है और कुंजी OpenAI के सर्वर पर रहती है। हम केवल उम्मीद करते हैं कि कम्पैक्टर ने इंजेक्शन का पालन किया और अपना प्रॉम्प्ट सारांश में लिख दिया। पता लगाने का एकमात्र तरीका चरण 2 है।

चरण 2 — create()

मैं एन्क्रिप्टेड ब्लॉब + एक दूसरा उपयोगकर्ता संदेश responses.create() को भेजता हूँ। सर्वर ब्लॉब को डिक्रिप्ट करता है और मॉडल का संदर्भ इकट्ठा करता है।

मैं भेजता हूँ:

Kangwook Lee - inline image

मॉडल को कुछ इस प्रकार दिखता है:

Kangwook Lee - inline image

यदि चरण 1 काम करता है, तो डिक्रिप्टेड ब्लॉब में कम्पैक्शन प्रॉम्प्ट (हमारे इंजेक्शन द्वारा लीक) होना चाहिए। सर्वर ब्लॉब से पहले एक हैंडऑफ़ प्रॉम्प्ट भी जोड़ता है। इसलिए यदि हमारी जांच सफलतापूर्वक मॉडल को वह दोहराने पर मजबूर करती है जो वह देखता है, तो आउटपुट में तीनों का पता चलना चाहिए: सिस्टम प्रॉम्प्ट, हैंडऑफ़ प्रॉम्प्ट, और कम्पैक्शन प्रॉम्प्ट।

आउटपुट

नीचे extract_prompts.py के एक रन से पूरा, असंपादित आउटपुट है। पीला = सिस्टम प्रॉम्प्ट, हरा = हैंडऑफ़ प्रॉम्प्ट, गुलाबी = कम्पैक्शन प्रॉम्प्ट।

Kangwook Lee - inline image

हम कैसे जानते हैं कि ये वास्तविक प्रॉम्प्ट हैं न कि केवल काल्पनिक टेक्स्ट? निकाले गए कम्पैक्शन प्रॉम्प्ट और हैंडऑफ़ प्रॉम्प्ट ओपन-सोर्स Codex CLI (prompt.md, summary_prefix.md) में गैर-कोडेक्स मॉडल के लिए उपयोग किए जाने वाले ज्ञात प्रॉम्प्ट से काफी मिलते-जुलते हैं, जिससे यह संभावना नहीं है कि मॉडल ने उन्हें खरोंच से बनाया हो। परिणाम विभिन्न रनों में भिन्न होते हैं।

अनुमानित पाइपलाइन

सब कुछ एक साथ रखते हुए, यहाँ हमारा सबसे अच्छा अनुमान है कि सर्वर साइड पर compact() क्या करता है, जो निष्कर्षण से पता चला है।

Kangwook Lee - inline image

स्क्रिप्ट

Kangwook Lee - inline image

खुला प्रश्न

जब अंतर्निहित प्रॉम्प्ट लगभग समान हैं, तो Codex CLI दो पूरी तरह से अलग-अलग कम्पैक्शन पथों (गैर-कोडेक्स मॉडल के लिए स्थानीय LLM, कोडेक्स मॉडल के लिए एन्क्रिप्टेड API) का उपयोग क्यों करता है? और सारांश को बिल्कुल भी एन्क्रिप्ट क्यों करता है?

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

एक क्लिक में सहेजें

YouMind में वायरल लेखों की AI गहन पढ़ाई

स्रोत सहेजें, केंद्रित सवाल पूछें, तर्क का सारांश बनाएँ और एक वायरल लेख को एक ही AI वर्कस्पेस में दोबारा इस्तेमाल करने लायक नोट्स में बदलें।

YouMind देखें
क्रिएटर्स के लिए

अपने Markdown को एक साफ़-सुथरे 𝕏 आर्टिकल में बदलें

जब आप अपना लंबा कंटेंट पब्लिश करते हैं, तो इमेज, टेबल और कोड ब्लॉक को 𝕏 के लिए फ़ॉर्मेट करना मुश्किल होता है। YouMind पूरे Markdown ड्राफ़्ट को एक साफ़-सुथरे, पोस्ट के लिए तैयार 𝕏 आर्टिकल में बदल देता है।

Markdown से 𝕏 आज़माएँ

समझने के लिए और पैटर्न

हाल के वायरल लेख

और वायरल लेख देखें