- Cursor की टॉप-टियर टैब ऑटो-कम्प्लीशन क्षमता Supermaven के Babble मॉडल के अधिग्रहण से संभव हुई, और यह मॉडल अधिकतम 10 लाख टोकन context window तथा 250ms की कम latency के लिए जाना जाता था
- पहले के LLM-आधारित ऑटो-कम्प्लीशन में caret position के बाद के कोड तक ही भविष्यवाणी करने की सीमा थी, लेकिन Babble ने git diff-आधारित edit sequence learning के जरिए अधिक लचीले code suggestions संभव किए
- Supermaven के संस्थापक Jacob Jackson वही व्यक्ति हैं जिन्होंने 2018 में, LLM के लोकप्रिय होने से पहले, शुरुआती code completion tools में से एक TabNine बनाया था
- TabNine के अधिग्रहित होने के बाद, उन्होंने OpenAI में researcher के रूप में काम किया और फिर स्वतंत्र होकर 2022 में Cursor के प्रतिस्पर्धी उत्पाद Supermaven को विकसित किया
- Supermaven को Cursor जितनी लोकप्रियता नहीं मिली, लेकिन उसका टैब ऑटो-कम्प्लीशन मॉडल Babble बाज़ार में सर्वश्रेष्ठ स्तर का था
- 2024 तक Babble ने 300k context और 250ms latency हासिल की थी, और यह Cursor से काफ़ी आगे था
- Cursor द्वारा अधिग्रहित किए जाने से पहले Babble 10 लाख टोकन context window तक सपोर्ट करता था, जो उस समय के लोकप्रिय chat models की तुलना में बेहद बड़ा था
- Babble की असली अलग पहचान उसका training method था
- सामान्य LLM ऑटो-कम्प्लीशन caret के बाद का कोड ही भरता है (FIM method)
- Babble edit sequence-आधारित training के जरिए कोड के अलग-अलग स्थानों और फ़ाइलों के बीच बदलावों की भी भविष्यवाणी कर सकता था
- यह git diff जैसी संरचना पर आधारित था और वास्तविक developers के editing behavior को दर्शाने वाला training method था
- Cursor के साथ अधिग्रहण और विलय
- Cursor अपने IDE को सीधे नियंत्रित करता है, इसलिए developer editing history data के आधार पर model training संभव हुई, और यही TabNine या सामान्य plugin-आधारित tools से उसका अंतर बना
- इससे ऑटो-कम्प्लीशन मॉडल training के लिए बेहद अनुकूल वातावरण मिला
- Jacob plugin की सीमाओं से टकराने के बाद अपना IDE बनाने की योजना कर रहे थे, और Cursor टैब completion क्षमता में बराबरी लाने की कोशिश कर रहा था, इसलिए यह एकदम उपयुक्त चुनाव था
- Cursor और Jackson पहले से एक-दूसरे को जानते थे, इसलिए अधिग्रहण एक स्वाभाविक विकल्प था
- इसके ज़रिए Cursor ने बाज़ार का सबसे उत्कृष्ट टैब ऑटो-कम्प्लीशन मॉडल तैयार किया
2 टिप्पणियां
मैंने neovim में Cursor-स्तर के auto-completion में मदद करने वाला कोई plugin है क्या, यह बहुत खोजा था, लेकिन पता चला कि यह एक खुद के मॉडल से संभव था..
मैं
neovim supermavenplugin का इस्तेमाल कर रहा हूँ। यह free version है, लेकिन मुझे यह Copilot से बेहतर लगा।