الأبحاث · القياسات
جولةُ البرمجة الأولى: GAIBRA أمام ChatGPT وGemini وClaude Sonnet وDeepSeek
مهامُّ برمجيّةٌ يطلبها المطوّرون كلَّ يوم، أجاب عنها المتنافسون الخمسة وحكم عليها نموذجان لغويّان بعد نزع الأسماء — والكودُ شُغّل باختباراتٍ كُتبت قبل رؤيته. نبدأ بنتيجة الإصدار الحاليّ من GAIBRA، ثمّ كيف وصل إليها، ثمّ الجولةَ كاملةً بكلّ ردٍّ ودرجة — ما ربحناه وما خسرناه.
الخلاصة
- على الإصدار الحاليّ (v2.31.03 فما بعد · 16–29 أكتوبر) حلّ GAIBRA أوّلاً في 6 من 7 سيناريوهات عند المحكّمَين كليهما، بمجموع 96.3 مقابل 91.0 لـ Claude Sonnet، ونجح في 96 من 96 اختباراً عند التشغيل، ولم يُسجَّل له ردٌّ غيرُ دقيق.
- بدأ الجولةَ خلف Claude Sonnet وأنهاها متقدّماً عليه: الفرقُ عنه −2.0 ثمّ −3.6 ثمّ +5.3 — وهو ما أضافته الإصلاحاتُ العامّة بين الكتل.
- الجولةُ كاملةً تخلط تسعة إصدارات من GAIBRA، فمتوسّطُها يصف تاريخ التطوير لا المنتج اليوم. ننشرها كاملةً في آخر الصفحة لأنّها ما جرى.
- العيّنةُ على الإصدار الحاليّ صغيرة — سبعةُ سيناريوهات. تُعاد على عيّنةٍ كاملةٍ بإصدارٍ مجمَّد في الجولة التالية.
ما يجب أن تعرفه قبل أن تقرأ
- المحكّمان نموذجان لغويّان، لا خبراءُ بشر: Claude Opus من Anthropic، وGrok من xAI. ننشر درجاتِ كلّ محكّمٍ منفصلةً، ونضع علامةً على كلّ سيناريو اختلفا فيه على المركز الأوّل.
- ردودُ GAIBRA مضبوطةٌ على أطول خياراته، وعددُ كلمات كلّ ردٍّ منشور.
- GAIBRA تغيّر خلال الجولة. كنّا نُصلحه بين السيناريوهات إصلاحاتٍ عامّة، فمرّت الجولة على تسعة إصدارات (v2.29.01 ⟵ v2.32.03)، والمنافسون اختُبروا كما هم.
النتيجة على الإصدار الحاليّ
| المتنافس | المجموع | عند Opus | عند Grok | الأوّل عند Opus | الأوّل عند Grok | الاختبارات الناجحة | ردودٌ غيرُ دقيقة | متوسّط الكلمات |
|---|---|---|---|---|---|---|---|---|
| GAIBRA | 96.3 | 94.0 | 98.6 | 6 | 6 | 96/96 (100.0%) | 0 من 7 | 2,062 |
| Claude Sonnet | 91.0 | 90.4 | 91.6 | 1 | 1 | 95/96 (99.0%) | 1 من 7 | 1,259 |
| ChatGPT | 82.7 | 79.0 | 86.5 | 0 | 0 | 87/95 (91.6%) | 2 من 7 | 1,056 |
| DeepSeek | 76.0 | 69.9 | 82.1 | 0 | 0 | 83/96 (86.5%) | 5 من 7 | 1,101 |
| Gemini | 67.0 | 63.0 | 71.0 | 0 | 0 | 86/96 (89.6%) | 6 من 7 | 677 |
اتّفق المحكّمان على صاحب المركز الأوّل في السيناريوهات السبعة كلّها. ولم يقع في هذه الكتلة عطلُ نسخ.
التطوّر عبر الإصدارات
| الكتلة | الإصدارات | السيناريوهات | GAIBRA | Claude Sonnet | الفرق | أوّلُ GAIBRA | ردود GAIBRA غيرُ الدقيقة |
|---|---|---|---|---|---|---|---|
| ١ · 3–8 أكتوبر | v2.29.01 … v2.30.02 | 10 | 83.5 | 85.5 | -2.0 | 3 من 10 | 7 من 10 |
| ٢ · 9–15 أكتوبر | v2.30.03 … v2.31.01 | 10 | 83.9 | 87.5 | -3.7 | 7 من 10 | 3 من 10 |
| ٣ · 16–29 أكتوبر | v2.31.03 … v2.32.03 | 7 | 96.3 | 91.0 | +5.3 | 6 من 7 | 0 من 7 |
في الكتلة ٢: في CB-2-09 (تدقيقٌ أمنيّ) أعاد GAIBRA رسالةَ تعذّرٍ بدل ردٍّ كامل فحلّ أخيراً، وهو محسوبٌ كما هو؛ وفي CB-2-03 لم يُنسخ ملفُّ كود Claude Sonnet إلى المحكّمين (التفصيلُ أدناه).
معدّلُ النتائج غير الدقيقة
نعدّ الردَّ غيرَ دقيق إذا فشل فيه اختبارٌ واحدٌ على الأقلّ عند التشغيل، أو نال في معيار «صدق الشرح» 6 من 12 فأقلّ عند أيّ محكّم. ولـ GAIBRA عبر الكتل الثلاث: 7 من 10 ⟵ 3 من 10 ⟵ 0 من 7. هذا أوّلُ قياسٍ لهذا المعدّل، ونحسبه بالتعريف نفسه في كلّ جولة.
| GAIBRA | Claude Sonnet | ChatGPT | DeepSeek | Gemini | |
|---|---|---|---|---|---|
| ردودٌ غيرُ دقيقة (من 27) | 10 (37%) | 5 (19%) | 10 (37%) | 20 (74%) | 22 (81%) |
| اختبارٌ فاشل (من 24 بتشغيل) | 7 | 4 | 8 | 13 | 11 |
| صدقٌ ≤ 6 من 12 | 6 | 2 | 7 | 16 | 20 |
| الاختباراتُ الفاشلة من مجموعها | 5.4% | 9.6% | 13.0% | 18.6% | 18.6% |
الجولةُ كاملة — سجلٌّ تاريخيّ
| المتنافس | المجموع | عند Opus | عند Grok | الأوّل عند Opus | الأوّل عند Grok | الأخير | الاختبارات الناجحة | ردودٌ غيرُ دقيقة | متوسّط الكلمات |
|---|---|---|---|---|---|---|---|---|---|
| Claude Sonnet | 87.7 | 86.6 | 88.8 | 14 | 8 | 2 | 301/333 (90.4%) | 5 من 27 | 1,215 |
| GAIBRA | 87.0 | 84.3 | 89.7 | 12 | 16 | 2 | 315/333 (94.6%) | 10 من 27 | 1,626 |
| ChatGPT | 79.7 | 76.5 | 83.0 | 0 | 3 | 3 | 289/332 (87.0%) | 10 من 27 | 1,068 |
| DeepSeek | 72.3 | 68.7 | 76.0 | 1 | 0 | 5 | 271/333 (81.4%) | 20 من 27 | 1,405 |
| Gemini | 65.0 | 62.1 | 67.9 | 0 | 0 | 15 | 271/333 (81.4%) | 22 من 27 | 688 |
- اختلف المحكّمان على المركز الأوّل في 8 سيناريوهات، كلُّها في الكتلتين ١ و٢، واختار Opus في 7 منها Claude Sonnet.
- ملفّاتٌ لم تُنسخ: في ثلاثة ردود (Claude Sonnet في CB-1-02 وCB-2-03، وChatGPT في CB-1-04) وضع المتنافسُ الكودَ في ملفٍّ منفصل لم يُنسخ مع الردّ إلى المحكّمين، فنال 0 في التشغيل. والدرجاتُ أعلاه كما سُجّلت. ولو استُبعدت السيناريوهاتُ الثلاثة لكانت متوسّطاتُ الجولة كاملةً: Claude Sonnet 92.7 · GAIBRA 86.7 · ChatGPT 81.8. لا يمسّ هذا نتيجةَ الإصدار الحاليّ.
- طولُ الردّ: ردودُ GAIBRA هي الأطولُ في المتوسّط، وكان أطولُ ردٍّ هو الفائزَ في 17 من 27 سيناريو — والمحكّمان كانا مأمورَين ألّا يكافئا الطول.
كلُّ سيناريو
المجموعُ من 100، والأعلى في كلّ صفٍّ بالخطّ العريض. افتح رقمَ السيناريو لترى نصَّه والردودَ الخمسةَ كما وصلت المحكّمين.
| # | التاريخ | الإصدار | المهمّة | GAIBRA | Claude Sonnet | ChatGPT | DeepSeek | Gemini | الأوّل عند Opus · Grok | ملاحظة |
|---|---|---|---|---|---|---|---|---|---|---|
| CB-1-01 | 2026-10-03 | v2.29.01 | تتبّع خطأ وإصلاحه · Python · تشغيل | 76.3 | 94.5 | 74.8 | 68.3 | 62.0 | Sonnet · Sonnet | — |
| CB-1-02 | 2026-10-03 | v2.29.01 | كتابة ميزة جديدة · JavaScript/TypeScript · تشغيل | 91.8 | 8.5 | 79.8 | 76.0 | 67.7 | GAIBRA · GAIBRA | ملفُّ كود Claude Sonnet لم يُنسخ |
| CB-1-03 | 2026-10-03 | v2.29.01 | قواعد بيانات وSQL · SQL · تشغيل | 90.0 | 89.5 | 83.0 | 83.5 | 15.0 | DeepSeek · Sonnet | خلافُ محكّمين |
| CB-1-04 | 2026-10-03 | v2.29.01 | إعادة هيكلة · C# · تشغيل | 80.5 | 97.0 | 21.0 | 88.0 | 75.2 | Sonnet · Sonnet | ملفُّ كود ChatGPT لم يُنسخ |
| CB-1-05 | 2026-10-03 | v2.29.01 | تتبّع خطأ وإصلاحه · Go · تشغيل | 88.3 | 97.0 | 93.0 | 46.0 | 74.3 | Sonnet · Sonnet | — |
| CB-1-06 | 2026-10-04 | v2.29.02 | خوارزمية · Java · تشغيل | 57.0 | 93.5 | 89.5 | 55.5 | 25.0 | Sonnet · Sonnet | — |
| CB-1-07 | 2026-10-05 | v2.29.02 | كتابة اختبارات · Python · تشغيل | 75.3 | 94.7 | 73.8 | 89.2 | 78.5 | Sonnet · Sonnet | — |
| CB-1-08 | 2026-10-06 | v2.29.02 | API وتكامل · JavaScript/TypeScript · تشغيل | 91.0 | 93.5 | 76.5 | 81.5 | 71.0 | Sonnet · GAIBRA | خلافُ محكّمين |
| CB-1-09 | 2026-10-07 | v2.30.02 | كتابة ميزة جديدة · C# · تشغيل | 96.5 | 94.0 | 84.0 | 80.0 | 74.5 | Sonnet · GAIBRA | خلافُ محكّمين |
| CB-1-10 | 2026-10-08 | v2.30.02 | مراجعة كود · C++ · بلا تشغيل | 88.5 | 93.0 | 91.5 | 79.0 | 68.5 | Sonnet · ChatGPT | خلافُ محكّمين |
| CB-2-01 | 2026-10-09 | v2.30.03 | تتبّع خطأ وإصلاحه · Python · تشغيل | 91.5 | 97.5 | 85.0 | 62.7 | 72.0 | Sonnet · Sonnet | — |
| CB-2-02 | 2026-10-09 | v2.30.03 | كتابة ميزة جديدة · Python · تشغيل | 94.5 | 91.5 | 82.5 | 75.0 | 68.0 | GAIBRA · GAIBRA | — |
| CB-2-03 | 2026-10-09 | v2.30.03 | كتابة اختبارات · JavaScript/TypeScript · تشغيل | 93.7 | 38.5 | 89.0 | 59.0 | 78.0 | GAIBRA · GAIBRA | ملفُّ كود Claude Sonnet لم يُنسخ |
| CB-2-04 | 2026-10-10 | v2.30.03 | خوارزمية · Python · تشغيل | 98.0 | 92.5 | 39.5 | 50.3 | 86.0 | GAIBRA · GAIBRA | — |
| CB-2-05 | 2026-10-10 | v2.30.03 | قواعد بيانات وSQL · SQL · تشغيل | 98.0 | 93.5 | 88.5 | 33.0 | 75.5 | GAIBRA · GAIBRA | — |
| CB-2-06 | 2026-10-12 | v2.30.04 | ترجمة كود · Python · تشغيل | 94.5 | 90.5 | 77.5 | 73.0 | 75.5 | GAIBRA · GAIBRA | — |
| CB-2-07 | 2026-10-12 | v2.30.04 | إعادة هيكلة · JavaScript/TypeScript · تشغيل | 94.5 | 93.5 | 71.2 | 77.2 | 36.7 | Sonnet · GAIBRA | خلافُ محكّمين |
| CB-2-08 | 2026-10-13 | v2.30.05 | تحسين أداء · Python · تشغيل | 96.0 | 93.5 | 92.0 | 84.5 | 76.0 | Sonnet · GAIBRA | خلافُ محكّمين |
| CB-2-09 | 2026-10-14 | v2.30.05 | تدقيق أمني · Python · بلا تشغيل | 13.0 | 93.5 | 92.5 | 92.5 | 41.0 | Sonnet · ChatGPT | خلافُ محكّمين ردُّ تعذّرٍ من GAIBRA |
| CB-2-10 | 2026-10-15 | v2.31.01 | تصميم معماري · — · بلا تشغيل | 65.0 | 91.0 | 88.5 | 67.0 | 66.5 | Sonnet · ChatGPT | خلافُ محكّمين |
| CB-3-01 | 2026-10-16 | v2.31.03 | تتبّع خطأ وإصلاحه · Python · تشغيل | 95.0 | 84.5 | 87.0 | 87.0 | 72.0 | GAIBRA · GAIBRA | — |
| CB-3-02 | 2026-10-16 | v2.31.03 | تتبّع خطأ وإصلاحه · JavaScript/TypeScript · تشغيل | 97.5 | 93.5 | 89.5 | 86.0 | 40.2 | GAIBRA · GAIBRA | — |
| CB-3-03 | 2026-10-16 | v2.31.03 | كتابة ميزة جديدة · C# · تشغيل | 98.0 | 93.5 | 54.7 | 32.0 | 61.2 | GAIBRA · GAIBRA | — |
| CB-3-04 | 2026-10-17 | v2.31.03 | كتابة ميزة جديدة · Java · تشغيل | 96.0 | 85.5 | 90.5 | 76.5 | 70.5 | GAIBRA · GAIBRA | — |
| CB-3-05 | 2026-10-17 | v2.31.03 | قواعد بيانات وSQL · SQL · تشغيل | 98.5 | 92.0 | 89.5 | 84.0 | 76.0 | GAIBRA · GAIBRA | — |
| CB-3-06 | 2026-10-19 | v2.31.03 | كتابة اختبارات · Python · تشغيل | 93.5 | 97.5 | 83.5 | 85.5 | 81.5 | Sonnet · Sonnet | — |
| CB-3-07 | 2026-10-29 | v2.32.03 | API وتكامل · Go · تشغيل | 95.5 | 90.5 | 84.5 | 81.0 | 67.5 | GAIBRA · GAIBRA | — |
كيف جرت الجولة
- نموذجٌ ثالث (Kimi) كتب السيناريوهات، ولا يعرف كيف ستُقيَّم.
- أُرسل السيناريو نفسُه إلى المتنافسين الخمسة مرّةً واحدة. الردُّ الأوّل هو المحسوب.
- نُزع من كلّ ردٍّ ما يدلّ على صاحبه قبل التحكيم. وترتيبُ الردود أمام المحكّم كان تدويراً دوريّاً ثابتاً — يتقدّم رمزُ كلّ متنافسٍ حرفاً في كلّ سيناريو — فوقع GAIBRA في كلّ موضعٍ 5 أو 6 مرّات. لم يكن عشوائيّاً.
- في المهامّ التي تتطلّب تشغيلاً، كتب Opus اختباراتٍ من نصّ الطلب وحده قبل أن يرى الكود، ثمّ شغّلها على الردود الخمسة. وصحّةُ التنفيذ (35 من 100) تُحسب من نسبة الاختبارات الناجحة، لا يضعها أيُّ محكّم.
- لم نُعِد تشغيل GAIBRA، ولم نُصلح شيئاً لسيناريو بعينه. الإصلاحاتُ عامّة، ورقمُ الإصدار مكتوبٌ بجانب كلّ سيناريو.
تعليماتُ المحكّمين حرفاً
تعليماتُ Opus (مشروعُ التحكيم · تشغيلُ الكود مفعّل)
أنت حَكَم تقني مستقل في مهام برمجية، ولديك بيئة لتشغيل الكود. تصلك في رسالة واحدة: مهمة، وهل هي «واجب التشغيل» أم لا، وخمسة ردود مرمّزة (أ، ب، ج، د، هـ). لا تحاول معرفة مصدر أي رد. أولاً — إذا كانت المهمة «واجب التشغيل»، فاعمل بهذا الترتيب قبل أي حكم: 1. الاختبارات أولاً، من نص المهمة وحده: استخرج الواجهة المطلوبة (توقيع الدالة أو الكلاس، أو صيغة المدخلات والمخرجات) والقيود، واكتب بين 8 و15 اختباراً: حالات عادية، وحدية، ومدخلات غير صالحة إن حددتها المهمة. احفظها في ملف قبل استخراج أي كود من الردود. 2. كل اختبار يستند إلى جملة صريحة في المهمة، وتُذكر الجملة بجانبه. ما لم تحسمه المهمة صراحة لا يُختبر، بل يُكتب في سطر «نقاط غامضة لم تُختبر». 3. الاختبارات واحدة للردود الخمسة، ولا يُعدَّل أي اختبار بعد تشغيله على أي رد. 4. جهّز بيئة اللغة وثبّت ما يلزم (dotnet-sdk-8.0، golang-go، rustc، php-cli، openjdk-21-jdk، postgresql) وتأكد أنها تعمل. 5. استخرج الكود من كل رد كما هو. ممنوع إصلاح أي خطأ فيه ولو حرفاً واحداً. المسموح الوحيد: ربط اسم الدالة في الاختبارات باسمها في الرد إن اختلف الاسم واتفق السلوك، مع تسجيل ذلك. 6. ابنِ وشغّل الاختبارات على الردود الخمسة، والمهلة 10 ثوانٍ لكل اختبار. إن لم يُبنَ الكود فالنتيجة 0 من المجموع. ثانياً — إذا كانت المهمة «غير واجب التشغيل»: احكم مباشرة دون تشغيل. قواعد الحكم: 1. احكم على المكتوب فقط. الطول لا يُكافأ، والحشو يُنقص من الوضوح. 2. لا تطلب رأياً بشرياً ولا معلومات إضافية، ولا تؤجل الحكم. 3. لكل خصم سبب محدد مستند إلى سطر أو جملة في الرد أو إلى نتيجة التشغيل. 4. في واجب التشغيل لا تضع درجة لصحة التنفيذ؛ تُحسب من جدول التشغيل في مكان آخر. احكم على الحقول الستة فقط، ونتائج التشغيل دليل لك في «الحالات الحدية» و«صدق الشرح». 5. صدق الشرح: يُخصم بشدة إن ادّعى الرد ما لا يفعله الكود، أو اخترع دالة أو مكتبة غير موجودة، أو ادّعى أنه اختبر ولم يفعل. ويُحتسب له الاعتراف الصريح بالحدود والافتراضات. الحقول الستة بالترتيب: واجب التشغيل (65): المتطلبات والقيود 15 | الحالات الحدية 10 | جودة التصميم 12 | الأمان 8 | الصدق 12 | الكفاءة 8 غير واجب التشغيل (100): صحة المحتوى 30 | الشمول 20 | العمق والترجيح 15 | قابلية التطبيق 15 | الصدق 12 | الوضوح 8 صيغة الرد — بالعربية، بهذا الترتيب: 1) جدول التشغيل (واجب التشغيل فقط): الرمز · ناجح/المجموع · الحقيقة في سطر (سبب الفشل كما ظهر). 2) جدول الدرجات: صف لكل رمز وعمود لكل حقل. 3) لكل رمز: أهم نقطتي قوة، وأهم ثلاث نقاط ضعف، وكل نقطة بدليلها. 4) سطر الحكم: جملة واحدة تحدد الفارق الحاسم بين الأفضل والذي يليه. 5) سطور الإدخال — خمسة أسطر بهذه الصيغة حرفياً، أرقام فقط دون مجموع: أ: 14|9|11|7|11|7 ب: … 6) ملحق (واجب التشغيل فقط): الاختبارات كاملة، كل اختبار مع الجملة التي استند إليها من المهمة، ثم سطر «نقاط غامضة لم تُختبر». --- رسالة كل سيناريو (إلى المحكّمَين معاً): [رقم السيناريو] — واجب التشغيل / غير واجب التشغيل [نص الطلب فقط] الملفات الخمسة مرفقة: أ، ب، ج، د، هـ.
تعليماتُ Grok (قراءةٌ فقط)
أنت حَكَم تقني مستقل في مهام برمجية. تصلك مهمة وخمسة ردود مرمّزة (أ، ب، ج، د، هـ). لا تحاول معرفة مصدر أي رد. قواعد الحكم: 1. احكم على المكتوب فقط. الطول لا يُكافأ، والحشو يُنقص من الوضوح. 2. لا تطلب رأياً بشرياً ولا معلومات إضافية، ولا تؤجل الحكم. 3. لكل خصم سبب محدد مستند إلى سطر أو جملة في الرد. 4. في المهام «واجب التشغيل» لا تضع درجة لصحة التنفيذ؛ تُقاس بالتشغيل الفعلي في مكان آخر. احكم على الحقول الستة فقط. 5. صدق الشرح: يُخصم بشدة إن ادّعى الرد ما لا يفعله الكود، أو اخترع دالة أو مكتبة غير موجودة، أو ادّعى أنه اختبر ولم يفعل. ويُحتسب له الاعتراف الصريح بالحدود والافتراضات. الحقول الستة بالترتيب: واجب التشغيل (65): المتطلبات والقيود 15 | الحالات الحدية 10 | جودة التصميم 12 | الأمان 8 | الصدق 12 | الكفاءة 8 غير واجب التشغيل (100): صحة المحتوى 30 | الشمول 20 | العمق والترجيح 15 | قابلية التطبيق 15 | الصدق 12 | الوضوح 8 صيغة الحكم — بالعربية: 1) جدول الدرجات: صف لكل رمز وعمود لكل حقل. 2) لكل رمز: أهم نقطتي قوة، وأهم ثلاث نقاط ضعف، وكل نقطة بدليلها. 3) سطر الحكم: جملة واحدة تحدد الفارق الحاسم بين الأفضل والذي يليه. 4) سطور الإدخال — خمسة أسطر بهذه الصيغة حرفياً، أرقام فقط دون مجموع: أ: 14|9|11|7|11|7 ب: … [رقم السيناريو] — واجب التشغيل / غير واجب التشغيل [نص الطلب فقط] الملفات الخمسة مرفقة: أ، ب، ج، د، هـ.
الملفّات
- جدولُ الدرجات كاملاً — لكلّ سيناريو ومتنافس: الإصدار · الاختبارات · درجةُ كلّ محكّم · الصدق · عددُ الكلمات · الترتيب.
- نصُّ كلّ سيناريو وردودُه الخمسة — من جدول «كلُّ سيناريو» أعلاه.
- سبقت الجولةَ ثلاثةُ سيناريوهاتٍ تجريبيّة لاختبار الإجراء، لم تُحسب.
ما لا تقوله هذه النتائج
إنّها حكمُ نموذجين لغويّين على 27 مهمّةً برمجيّة في شهرٍ واحد، بنماذج المنافسين كما كانت يومَ الاختبار — ونتيجةُ الإصدار الحاليّ على سبعٍ منها. هي تقديرٌ نرى أنّه مفيد، لا شهادةٌ نهائيّة. ولا نقول إنّ GAIBRA الأفضل؛ نقول ما جرى في هذه الجولة، بهذه المهامّ، عند هذين المحكّمين.
ما غيّرناه بعدها
من جولة نوفمبر 2026: Opus يكتب السيناريوهات ولا يحكم، والمحكّمان Grok وKimi، وليسا من عائلة أيّ متنافس.