Cursor يتجاوز 5 ملايين مطور. إليكم ما يفعله ذكاء قاعدة الكود الخاص به فعليًا.

تجاوز Cursor 5 ملايين مطور نشط شهريًا في أوائل 2025، بعد أن كان حوالي 500 ألف في بداية 2024. أصبح الآن أسرع أداة مطور نموًا منذ npm. قصة النمو موثقة على نطاق واسع — جولة تمويل بقيمة 400 مليون دولار من الفئة B بتقييم 9.9 مليار دولار في يناير 2025، واعتماد كبير في شركات مثل Stripe وShopify وSamsung. ما هو أقل وضوحًا هو البنية التقنية الفعلية التي تميز Cursor عن GitHub Copilot (الذي لديه حوالي 1.8 مليون مستخدم مدفوع) أو عن أدوات مثل JetBrains AI Assistant وAmazon Q. هذا مقال عن ما يفعله Cursor تقنيًا، وليس تجاريًا.
فهرسة قاعدة الكود: الأساس
البنية الأصلية لـGitHub Copilot كانت تعتمد على سياق المستند: النموذج يرى الملف الحالي، موضع المؤشر، ونافذة صغيرة من الكود المحيط. لا يمتلك معرفة هيكلية بقاعدة الكود الأوسع. أول ميزة تميز بها Cursor كانت فهرسة قاعدة الكود — عملية تعمل عند فتح المشروع وتنتج فهرسًا دلاليًا للتوافق (Semantic Vector Index) لكل ملف في المستودع.
عملية الفهرسة تستخدم مزيجًا من تحليل شجرة القواعد (AST Parsing) وتوليد الـEmbedding. يتم تقسيم الكود إلى دالات وفئات (وليس نوافذ بايت عشوائية)، ويتم تضمين كل قطعة باستخدام نموذج Embedding متخصص للكود. يستخدم Cursor نموذج Embedding ملكي تم Fine-tuning على الكود، وليس نموذج Embedding نصي عام. تُخزَّن هذه الـEmbeddings محليًا في instance من LevelDB داخل مجلد .cursor، مع فهرسة للبحث التقريبي عن أقرب الجيران باستخدام FAISS.
عندما تطرح سؤالًا على Cursor أو تطلق إكمالًا، يتم أيضًا تضمين الاستعلام، ويبحث البحث الدلالي عن 20–40 قطعة الكود الأكثر صلة من جميع أنحاء قاعدة الكود. يتم حقن هذه القطع في نافذة السياق قبل أن يرى النموذج طلبك. هذا هو الـRAG (Retrieval-Augmented Generation) المطبق تحديدًا على الكود — وهو ما يسمح لـCursor بالإجابة على أسئلة مثل "كيف يعمل التوثيق في قاعدة الكود هذه؟" بشكل صحيح، بينما سيتوهم Copilot إجابة بناءً على بيانات التدريب.
مساحة العمل الظلية (Shadow Workspace)
أكثر ميزة مثيرة للاهتمام من الناحية المعمارية في Cursor هي ما يسميه مساحة العمل الظلية. عندما تطلب من Cursor إجراء تغيير، فإنه لا يبث الـTokens مباشرة في محررك. بدلاً من ذلك، يفتح نسخة مخفية في الذاكرة من ملفك، يطبق التغيير المقترح، ويشغل مجموعة من عمليات التحقق قبل أن ترى النتيجة.
عمليات التحقق تشمل فحص أنواع TypeScript (باستخدام تكامل LSP مع tsserver)، تحليل الاستيرادات (التحقق من أن أي استيرادات جديدة أضافها النموذج موجودة فعلًا في رسم بياني التبعية الخاص بك)، وفحص نحوي عبر tree-sitter. إذا فشل أي من هذه، حلقة التحكم في Cursor تدفع النموذج لمراجعة مخرجاته — عادةً 1–2 تمريرات استدلال إضافية — قبل عرض النتيجة عليك.
هذه هي الآلية وراء انخفاض معدل التوهم في إكمالات الكود مقارنة بمخرجات النماذج الخام. النموذج لا يزال يتوهم؛ مساحة العمل الظلية تلتقط جزءًا كبيرًا من هذه التوهمات قبل وصولها إلى شاشتك. في معايير Cursor الداخلية (التي تم الكشف عنها في منشور مدونة في أكتوبر 2024)، قللت عمليات التحقق في مساحة العمل الظلية من المخرجات غير الصالحة نحويًا بنسبة 67% ومن المخرجات التي تحتوي على أخطاء نوع بنسبة 44% مقارنة بنفس النموذج دون تحقق.
التعديلات التخمينية ووضع التطبيق (Apply Mode)
ميزة "Apply" في Cursor — حيث تصف تغييرًا بلغة طبيعية ويتم تطبيقه على عدة ملفات — تستخدم Pipeline متعددة الخطوات. أولاً، يولد النموذج خطة Diff: قائمة منظمة لأي الملفات تحتاج تغيير وما هو التغيير، بشكل شبه كود. ثانيًا، نموذج منفصل (أصغر وأسرع) يحول كل عنصر خطة من الشبه كود إلى Diff فعلي. ثالثًا، تتحقق مساحة العمل الظلية من كل Diff قبل تطبيقه.
نهج النموذجين مهم لأن توليد Diff وكتابة الكود هما مهامان إدراكيان مختلفان. نموذج سياق كبير (Claude 3.5 Sonnet أو GPT-4o في نظام التوجيه لـCursor) يتولى خطوة التخطيط، حيث يكون فهم سياق قاعدة الكود الكامل أمرًا حاسمًا. نموذج أصغر وأسرع (عادةً نسخة Fine-tuned من DeepSeek Coder أو Code Llama) يتولى الترجمة الميكانيكية من خطة إلى كود، حيث السرعة أهم من فهم السياق العميق. زمن الاستجابة لـCursor في عمليات Apply متعددة الملفات عادةً 3–8 ثوانٍ — وهو منافس لكتابة التغيير يدويًا لأي شيء أطول من دالة واحدة.
توجيه النماذج وعلاقة Cursor بمختبرات الذكاء الاصطناعي
Cursor لا يدرب نماذج أساسية خاصة به. يقوم بتوجيه الطلبات إلى Anthropic وOpenAI وإصداراته الخاصة Fine-tuned اعتمادًا على نوع المهمة. منطق التوجيه ليس عامًا، لكن بناءً على تحليل حركة الشبكة الذي نشره باحثون مستقلون في أواخر 2024، يستخدم Cursor Claude 3.5 Sonnet كنموذج أساسي للاستفسارات الحوارية والتفكير متعدد الملفات، GPT-4o لإكمالات التبويبات (حيث أن تدريبه على الكود أكثر ملاءمة)، ونموذج أصغر ملكي Fine-tuned لحلقة التحقق في مساحة العمل الظلية.
نموذج أعمال Cursor يعني أنه يدفع لكل Token لهؤلاء المزودين. مع 5 ملايين مستخدم نشط يقومون بعدة مئات من الإكمالات يوميًا، تكلفة الحوسبة كبيرة — وهو ما يفسر جولة التمويل البالغة 400 مليون دولار. الشركة أشارت إلى أنها تعمل على بنيتها التدريبية الخاصة، لكن هذا عمل يستغرق سنوات. حاليًا، تمايز Cursor معماري (الفهرسة، مساحة العمل الظلية، طبقة التوجيه) وليس جودة النموذج.
وضع الخصوصية والنشر المؤسسي
يقدم Cursor وضع الخصوصية (Privacy Mode) الذي يعطل جمع بيانات تدريب قاعدة الكود. في هذا الوضع، لا يزال الكود يُرسل إلى APIs مزودي الذكاء الاصطناعي للاستدلال، لكن Cursor يدعي أنه لا يخزن أزواج الطلب/الاستجابة. للعملاء المؤسسيين، خيار الاستضافة الذاتية يوجه كل الاستدلال عبر مفاتيح API الخاصة بالعميل واختياريًا عبر شبكة خاصة.
الطبقة المؤسسية (40 دولارًا/مستخدم/شهر) تتضمن توافق SOC 2 Type II، تسجيل دخول موحد عبر Okta وMicrosoft Entra، وسجلات تدقيق. هذه هي الطبقة التي تستخدمها Stripe وShopify. تم إكمال شهادة الامتثال في الربع الثالث من 2024 — قبل ذلك، لم يكن Cursor قابلاً للنشر على نطاق واسع في المؤسسات ذات متطلبات حوكمة البيانات الصارمة.
ما لا يفعله Cursor بشكل جيد (حتى الآن)
فهرسة قاعدة الكود في Cursor لها حد صعب حوالي 100,000 Token من السياق المفهرس لكل استعلام — حوالي 75,000–100,000 سطر من الكود المفهرس لكل طلب. للمستودعات المتعددة الضخمة بالملايين من الأسطر، قد لا يكون الكود ذو الصلة ضمن القطع المسترجعة، مما يسبب نفس مشاكل التوهم التي تظهرها الأدوات الأبسط. ناقش فريق الهندسة هذا كقيد معروف في عدة منتديات للمطورين.
التعاون في الوقت الفعلي غائب. Cursor محرر لمستخدم واحد. الفرق التي تستخدمه تعمل بالتوازي على مثيلات منفصلة، مما يخلق مشاكل تنسيق على الملفات المشتركة التي يعالجها إعداد Language Server Protocol التقليدي بشكل طبيعي. JetBrains وVS Code لديهما إجابات أفضل هنا. خارطة طريق منتج Cursor أشارت إلى "ميزات تعاونية" للفترة 2025-2026 دون تفاصيل.
نقاط عملية قابلة للتطبيق
- إذا لم تقم بإعداد فهرسة قاعدة الكود: افتح إعدادات Cursor وتحقق من أن "Codebase Indexing" مفعل (مفعل افتراضيًا). تحقق من حالة الفهرس عبر Cursor > Settings > Features > Codebase Indexing. المستودعات الكبيرة قد تحتاج 5–10 دقائق للفهرسة الكاملة عند الفتح الأول.
- للتغييرات متعددة الملفات، استخدم وضع Composer (وليس Chat): Composer يشغل Pipeline التعديل التخميني الكامل مع التحقق بمساحة العمل الظلية. وضع Chat يستخدم نهجًا بسيطًا بتمريرة واحدة. فرق الجودة كبير لمهام إعادة الهيكلة.
- في وضع الخصوصية، لا يزال كودك يغادر جهازك: يذهب إلى APIs Anthropic وOpenAI. إذا كنت بحاجة إلى استدلال محلي حقيقي، مسار الاستضافة الذاتية المؤسسي لـCursor يدعم التوجيه إلى حالات Ollama المحلية — لكن هذا يتطلب الطبقة المؤسسية.
- للمستودعات المتعددة الضخمة: قم بتثبيت الملفات ذات الصلة يدويًا في السياق باستخدام إشارات @ بدلاً من الاعتماد فقط على البحث الدلالي. استرجاع RAG ليس مثاليًا، وإظهار الملفات الصحيحة صراحة يحسن جودة المخرجات بشكل قابل للقياس.