تخطَّ إلى المحتوى
cd /blog

لماذا رقّينا بحث الكود إلى voyage-4-large

[التضمينات][البحث][المعمارية]

> انتقلنا بتضميناتنا للكود إلى voyage-4-large — الذي يتصدر حاليًا لوحة صدارة RTEB العامة لاسترجاع الكود. النسخة الصادقة: المقايضة التي نقبلها، وما نُفهرِسه فعليًا، ولماذا ندفع مقابل تضمينات متميزة.

تعكس أرقام المعايير القياسية في هذا المنشور لوحات صدارة RTEB وقت النشر (يونيو 2026). تتحرك لوحات الصدارة؛ تعامل مع الترتيب كلقطة آنية، لا حقيقة دائمة.

جودة البحث الدلالي لا تتجاوز جودة التضمينات التي تحته.

عندما يسأل وكيل Maguyva “أين نتعامل مع إعادة المحاولة”، فهو لا يبحث حرفيًا (grep) عن كلمة “retry”. إنه يطلب المعنى — حلقة التراجع (backoff)، وقاطع الدارة (circuit breaker)، والشيء الذي يُغلِّف استدعاءً غير مستقر. تُجاب على هذا السؤال بنموذج متجهي يحوِّل الكود إلى نقطة في الفضاء ويجد الجيران. اختر نموذجًا أفضل، ويصبح كل استعلام دلالي في المنتج أكثر دقة بصمت.

لذا غيَّرنا نموذجنا. اعتبارًا من يونيو 2026، تعمل تضمينات كود Maguyva على voyage-4-large، لتحل محل voyage-code-3.

المعيار القياسي

لم نتخذ هذا القرار بالحدس. يُرتِّب معيار تضمين الاسترجاع العام (RTEB) نماذج التضمين وفق مهام استرجاع حقيقية، وفي لوحة صدارة الكود الخاصة به يحتل voyage-4-large المرتبة الأولى إجمالًا (90.86) — متقدمًا على gemini-embedding-2-preview (90.26)، والأهم، متقدمًا على النموذج الذي كنا نستخدمه بالفعل، voyage-code-3 (89.73، المرتبة الثالثة).

تلك فجوة مطلقة صغيرة. لكنها فجوة في الاتجاه الصحيح، على معيار قياسي عام، في المهمة الدقيقة التي تهمنا: استرجاع الكود بالمعنى.

المقايضة التي نقبلها: التكميم الثنائي (Binary Quantization)

إليك الجزء الذي تُغفِله معظم منشورات “رقَّينا نموذجنا”.

لا يخزِّن Maguyva متجهات كاملة الدقة. نخزِّن تضمينات مُكمَّمة ثنائيًا: ينهار كل متجه بـ2048 بُعدًا إلى توقيع بـ2048 بت — 256 بايت لكل متجه. تُبحَث تلك التواقيع بمسافة هامينغ (Hamming)، وتُفهرَس وتُقسَّم لكل مستأجر.

تلك مقايضة مقصودة. يتخلى التكميم الثنائي عن بعض دقة الاسترجاع مقابل تخزين أصغر بشكل كبير وحساب مسافة سريع ورخيص دون قاعدة بيانات متجهات منفصلة تُدار. لمنتج يُفهرِس مستودعات كاملة لكل مساحة عمل، تهم تلك الاقتصاديات أكثر من انتزاع الكسر الأخير من نقطة معيار قياسي.

يتناسب voyage-4-large مع هذا التصميم دون فرض ترحيل لطبقة التخزين: إنه يُنتج مخرَجًا بـ2048 بُعدًا، مثل voyage-code-3 تمامًا، لذا لم تتغير أعمدة bit(2048) لدينا ومسار بحث هامينغ. تحسَّن النموذج؛ وبقي المخطط (schema) في مكانه.

الكود كان مجرد البداية

Maguyva أداة ذكاء كود. لكننا أيضًا العميل صفر، ونوجِّهه نحو شيء آخر: ملفات markdown التي تعيش في مستودعاتنا جنبًا إلى جنب مع الكود. سجلات القرارات المعمارية، وأدلة التشغيل، والعقود، ووثائق المالية والسياسات — كلها تحت التحكم في الإصدار في Git، وكلها خلف خادم MCP نفسه، فهرس دلالي فوق الوثائق، لا المصدر فقط.

هذا بالضبط سبب أهمية اتساع voyage-4-large. في العائلة نفسها من لوحات صدارة RTEB، إنه الأول في المالية، والأول في الرعاية الصحية، والأول في استرجاع النصوص إجمالًا — متقدمًا على Gemini Embedding من Google، وEmbed v4 من Cohere، وtext-embedding-3-large من OpenAI. (Voyage شريك مؤسِّس لـRTEB، لذا نقرأ هذا كإشارة عامة قوية أكثر من كونه حكمًا محايدًا تمامًا — لكنه يُقاس رأسًا لرأس مقابل كل نموذج تجاري رئيسي، على مجموعات اختبار خاصة محجوبة.) الفهرس نفسه الذي يجد الدالة الصحيحة لوكيل يجد البند الصحيح في عقد أو السطر الصحيح في سياسة — وفي تلك المجالات، voyage-4-large ليس حلًا وسطًا، إنه الرائد.

لماذا ندفع مقابل تضمينات متميزة

توجد طريقة أرخص للبحث، والكثير منها مجاني. البحث المعجمي — BM25 وأقرانه — يطابق الكلمات المفتاحية، ويعمل محليًا، ولا يكلِّف شيئًا. تمنح نماذج التضمين مفتوحة المصدر مثل BGE وNomic وembeddinggemma استرجاعًا دلاليًا لائقًا فعلًا، ويمكنك استضافتها ذاتيًا بثمن وحدة معالجة رسومية (GPU). يستخدم Maguyva الجانب المجاني أيضًا: يدمج كل استعلام البحث النصي، وAST، والرسم البياني، والدلالي. ما لا نُقصِّر فيه هو الطبقة الدلالية.

ندفع لكل رمز مقابل تضمينات متميزة — voyage-4-large — بدلًا من استضافة نموذج مجاني ذاتيًا، لسببين. أولًا، لا يستطيع البحث بالكلمات المفتاحية وحده الإجابة عن “أين نتعامل مع إعادة المحاولة” عندما يقول الكود backoff وcircuit breaker ولا يذكر كلمة “retry” أبدًا — المعنى هو بيت القصيد من التضمين، وفي المجالات التي نخدمها تتخلَّف النماذج المفتوحة عن المتميزة: نقطتان أو ثلاث خلفًا في النص العام، وأبعد من ذلك في مجالات متخصصة مثل الكود والعقود والمالية. ثانيًا، في تجربتنا تُشكِّل جودة الاسترجاع الإجابة النهائية أكثر مما يفعله النموذج في الطرف الآخر — وكيل قوي يُعطى سياقًا خاطئًا لا يزال يجيب خطأً، ولا يرى أبدًا الوثيقة التي لم تُمنَح له قط.

إذًا التضمينات المتميزة فاتورة لكل رمز تتوسَّع مع كل مستودع ووثيقة نُفهرِسها — وندفعها عن قصد. مقابل النتيجة التي يحصل عليها مستخدمونا، الدالة الصحيحة أو البند الصحيح، نعتقد أن تلك المقايضة تستحق العناء.

الجزء الصادق

لا يزال توثيق Voyage نفسه يصف voyage-code-3 بأنه النموذج المُحسَّن للكود. فلماذا الانتقال إذًا؟

لأننا قرأنا المعيار القياسي العام، لا جدول نماذج البائع فقط، ووضع المعيار voyage-4-large في القمة لاسترجاع الكود. كان هذا قرارًا استشرافيًا: أخذ النموذج الأحدث والأقوى عمومًا والتحقق منه مقابل لوحة صدارة عامة على المهام التي تهم. نحن مرتاحون لاتخاذ ذلك الرهان لأن الأدلة واسعة — voyage-4-large لا يفوز على الكود فقط، بل يتصدر في المالية، والرعاية الصحية، والاسترجاع الإجمالي أيضًا.

الأرضية الصامتة

كل أداة نعرضها — البحث الدلالي، وجمع سياق المهام، والأسئلة والأجوبة المرتكزة على الأدلة — تنتهي عند الاسترجاع. عندما يتحسَّن المسترجِع، يحصل الوكيل في الطرف الآخر على أدلة أفضل، ويرتكب منعطفات خاطئة أقل، ويُرسِّخ إجاباته في الكود الصحيح — أو البند الصحيح، أو السياسة الصحيحة. نموذج تضمين أكثر دقة ليس ميزة برَّاقة. إنه الأرضية تحت كل شيء آخر، وقد رفعناها للتو. لن تلاحظ. تلك هي الفكرة.

قراءات ذات صلة

المزيد من سجل بناء Maguyva

التحسين الذاتي المتكرر للغات: صقل ذكاء الكود عبر نحو 280 لغة_

ندعم ذكاء الكود لنحو 280 لغة. لا يستطيع أي إنسان تدقيق ذلك يدويًا. لذا بنينا حلقة تحسين ذاتي متكرر للغات — فحص عيّني، وحكَم LLM، وإصلاح شيء واحد، وإعادة تحقق — ونُشغِّلها بأسطول من الوكلاء المعزولين حتى يصبح الاستخلاص صحيحًا فعلًا، لا مجرد أخضر (green).

[المعمارية][اللغات][الوكلاء]