उत्पाद

OpenAI Codex मॉडल्स के लिए Cursor के Agent को बेहतर बनाना

7 मिनट में पढ़ें

Cursor कोडिंग के लिए सभी अत्याधुनिक AI मॉडल्स के साथ एकीकृत है।

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

हम OpenAI के साथ साझेदारी कर रहे हैं ताकि उनके मॉडल्स, Cursor के एजेंट के साथ, डेवलपर्स के लिए उपलब्ध हों। इस पोस्ट में हम बताएँगे कि हमने उनके नवीनतम अत्याधुनिक कोडिंग मॉडल GPT-5.1-Codex-Max के समर्थन के लिए अपने एजेंट को उपयोग में लाने के तरीके को कैसे अपडेट किया है।

एक मज़बूत एजेंट को उपयोग में लाने के तरीके का निर्माण

Cursor के एजेंट को उपयोग में लाने के तरीके में हर मॉडल के लिए विशिष्ट निर्देश और उपकरण उपलब्ध कराए जाते हैं, ताकि Cursor परिवेश के भीतर उस मॉडल को बेहतर ढंग से अनुकूलित किया जा सके।

AI labs नए मॉडल्स को तरह-तरह के निर्देशों और उपकरणों पर प्रशिक्षित करते हैं। कोडिंग जैसे विशिष्ट डोमेन्स में, मॉडल अक्सर उन पैटर्न्स को तरजीह देते हैं जो उनके प्रशिक्षण के दौरान पहले से देखी गई चीज़ों से मिलते-जुलते हों। Cursor में नए मॉडल जोड़ते समय, हमारा काम परिचित निर्देशों और उपकरणों को Cursor-विशिष्ट निर्देशों और उपकरणों के साथ एकीकृत करना होता है, और फिर Cursor Bench—हमारे आंतरिक evals सुइट—के आधार पर उन्हें ट्यून करना होता है।

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

नवीनतम Codex मॉडल के लिए अपडेट

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

OpenAI की टीम ने Codex CLI उपयोग में लाने के तरीके के साथ टूल्स और प्रॉम्प्ट्स को संरेखित करने के लिए हमारे साथ काफ़ी क़रीबी सहयोग किया। यहाँ कुछ परिवर्तन दिए गए हैं जो हमने किए हैं:

शेल-केंद्रित एक अधिक तरीका

OpenAI का Codex CLI शेल-उन्मुख वर्कफ़्लो पर केंद्रित है। नतीजतन, Codex मॉडल को प्रशिक्षण के दौरान टूल्स का एक सीमित सेट मिलता है, और इसके बजाय वह खोज करने, फ़ाइलें पढ़ने और संपादन करने के लिए शेल का उपयोग करना सीखता है।

अगर मॉडल किसी कठिन संपादन में अटक रहा हो, तो कभी-कभी वह inline Python स्क्रिप्ट का इस्तेमाल करके फ़ाइलें लिखने का सहारा लेता है। ये स्क्रिप्ट्स शक्तिशाली हैं, लेकिन Cursor में संपादन के लिए टूल कॉलिंग न सिर्फ़ अधिक सुरक्षित है, बल्कि उपयोगकर्ता अनुभव भी बेहतर बनाती है।

टूल कॉलिंग को प्रोत्साहित करने के लिए, हमने Cursor में टूल्स के नाम और परिभाषाएँ उनके शेल समकक्षों, जैसे rg (ripgrep), के और करीब कर दीं। हमने यह परिवर्तन अपने उपयोग में लाने के तरीके में सभी मॉडल्स के लिए किया। हमने इस तरह के निर्देश भी जोड़े:

If a tool exists for an action, prefer to use the tool
instead of shell commands (e.g. read_file over `cat`).

Cursor में सैंडबॉक्सिंग, जो उपयोगकर्ताओं से हर कमांड के लिए मैन्युअल मंज़ूरी लिए बिना अनधिकृत फ़ाइल एक्सेस और नेटवर्क गतिविधि को रोकती है, यहाँ सुरक्षा बेहतर करने में भी मदद करती है, अगर मॉडल फिर भी कोई शेल कमांड चलाने का विकल्प चुनता है।

प्रस्तावनाएँ

मुख्य GPT-5 मॉडल श्रृंखला के विपरीत, Codex मॉडल परिवार वर्तमान में काम करते समय उपयोगकर्ता को अपडेट देने के लिए reasoning summaries का उपयोग करता है। ये एक-पंक्ति वाले शीर्षकों या पूरे संदेश के रूप में हो सकते हैं।

इन reasoning summaries के लिए, हम ऐसा संतुलन बनाना चाहते थे जिससे उपयोगकर्ता एजेंट की प्रगति को समझ सकें और गलत दिशा को जल्दी पहचान सकें, बिना उन पर इतने संदेशों की बौछार किए कि वे ध्यान देना ही छोड़ दें। हमने मॉडल को ऐसे दिशानिर्देश दिए कि reasoning summaries को 1 या 2 वाक्यों तक सीमित रखा जाए, नई जानकारी मिलने या नई रणनीति शुरू करने पर उसका उल्लेख किया जाए, और अपने ही संप्रेषण पर टिप्पणी करने से बचा जाए (“मैं उपयोगकर्ता को समझा रहा हूँ…”).

चूँकि Codex मॉडल किसी एजेंट टर्न के अंत तक सामान्य रूप से “बात” नहीं कर सकते, हमने प्रॉम्प्ट से टर्न के बीच उपयोगकर्ता से संप्रेषण से जुड़ी सारी भाषा हटा दी। हमने पाया कि इससे मॉडल के अंतिम कोड आउटपुट का प्रदर्शन बेहतर हुआ।

लिंट्स पढ़ना

Cursor हमारे हार्नेस में सभी मॉडल्स के लिए ऐसे टूल उपलब्ध कराता है, जिनसे लिंटर त्रुटियाँ (जैसे ESLint, Biome) पढ़ी जा सकें और एजेंट उन्हें स्वचालित रूप से ठीक कर सके।

हमने पाया कि Codex को सिर्फ़ टूल की परिभाषा दे देना इतना काफ़ी नहीं है कि वह हमारे read_lints टूल को कॉल करने की ओर झुके। इसके बजाय, Codex को इस बारे में स्पष्ट और सीधे निर्देश देने से कि उसे इसे कब कॉल करना है, काफ़ी फ़ायदा होता है:

महत्वपूर्ण संपादन के बाद, हाल ही में संपादित फ़ाइलों में linter त्रुटियों की जाँच के लिए read_lints टूल का उपयोग करें। यदि आपने कोई त्रुटि उत्पन्न की हो, तो उन्हें ठीक करें — यदि आप आसानी से समझ सकें कि कैसे।

तर्क ट्रेस को संरक्षित रखना

OpenAI के reasoning मॉडल टूल कॉल्स के बीच आंतरिक तर्क ट्रेस एमिट करते हैं, जो मूल रूप से एक “विचार-श्रृंखला” होते हैं और बताते हैं कि मॉडल हर कार्रवाई क्यों चुनता है। Responses API को इन reasoning items (या संवेदनशील संदर्भों में encrypted reasoning items) को कैप्चर करके आगे भेजने के लिए डिज़ाइन किया गया है, ताकि मॉडल को हर बार अपनी योजना शून्य से फिर से बनाने के बजाय अलग-अलग टर्न्स के बीच निरंतरता बनाए रखने में मदद मिल सके।

Codex खास तौर पर इसी निरंतरता पर निर्भर करता है। जब तर्क ट्रेस छूट जाते हैं, तो मॉडल को अपनी पिछली विचार-प्रक्रिया का अनुमान लगाना पड़ता है, जिससे अक्सर उप-लक्ष्य खो जाते हैं, योजना कमजोर पड़ जाती है, टूल कॉल्स का क्रम बिगड़ जाता है, या पहले के चरण बार-बार फिर से निकालने पड़ते हैं। हमारे Cursor Bench प्रयोगों में, GPT-5-Codex से तर्क ट्रेस हटाने पर प्रदर्शन में 30% की गिरावट आई। तुलना के लिए, OpenAI ने देखा कि SWE-bench पर GPT-5 में reasoning traces हटाए जाने पर अपेक्षाकृत कम, 3% गिरावट हुई।

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

मॉडल को कार्रवाई करने के लिए प्रेरित करना

Cursor के डिफ़ॉल्ट एजेंट मोड में, आप चाहते हैं कि एजेंट उपयोगकर्ता अनुरोध के आधार पर स्वायत्त रूप से फ़ाइलें पढ़े और संपादित करे। जब आप किसी दूसरे टैब पर चले जाएँ और फिर लौटकर पता चले कि एजेंट आगे बढ़ने के लिए आपकी अनुमति का इंतज़ार कर रहा था, तो यह निराशाजनक हो सकता है।

हम Codex का मार्गदर्शन करने में सहायता के लिए और अधिक विशिष्ट निर्देशों के साथ प्रयोग कर रहे हैं:

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

क्लाउड एजेंट्स, हमारे असिंक्रोनस रिमोट वर्कफ़्लो में, हम इस भाषा को और भी सशक्त बनाते हैं।

संदेशों का क्रम

OpenAI मॉडल्स को संदेशों के क्रम का सम्मान करने और उसे प्राथमिकता देने के लिए प्रशिक्षित किया जाता है। उदाहरण के लिए, system prompt को हमेशा उपयोगकर्ता संदेशों और टूल के नतीजों पर वरीयता दी जाती है।

हालाँकि यह उपयोगी है, लेकिन इसका मतलब यह भी है कि हमें अपने उपयोग में लाने के तरीकों को इस तरह ट्यून करना पड़ता है कि Cursor द्वारा दिया गया प्रॉम्प्ट ऐसे निर्देश शामिल न करे, जो गलती से उपयोगकर्ता संदेशों से टकरा जाएँ। नहीं तो Codex ऐसी स्थिति में पहुँच सकता है, जहाँ वह उपयोगकर्ता अनुरोध का पालन करने से हिचकने लगे।

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

आगे की राह

मॉडल रिलीज़ की रफ़्तार बढ़ रही है। हमारा लक्ष्य Cursor एजेंट को उपयोग में लाने के तरीके के भीतर हर अत्याधुनिक मॉडल से अधिकतम लाभ लेना है। अभी और काम बाकी है, और हम Cursor में किए जा रहे सुधार साझा करते रहेंगे।