أصبحت حروب الاختبارات المعيارية للبرمجة بالذكاء الاصطناعي أكثر إثارة للاهتمام. ظهر DeepSeek V4 Pro بادعاءات جريئة حول قدرته الخام على البرمجة، بينما ظلّ Claude Sonnet 4.6 الأداة الموثوقة الهادئة التي تهيمن على سير عمل المطورين منذ شهور. لذلك أجرينا 12 تحدّيًا برمجيًا منظمًا على النموذجين، وقيّمنا كل مخرجات وفق معايير واقعية، وتتبّعنا بدقة أين يتفوّق كل نموذج، وأين يتعثر بهدوء.
هذا ليس انطباعًا عامًا مبنيًا على عرض واحد لافت. هذه نتائج ملموسة من أوامر نصية دقيقة، جرى تقييمها وفق الصحة، وجودة الشيفرة، ومعالجة الحالات الحدّية، والقابلية للقراءة. إذا كنت تحتاج إلى اختيار نموذج واحد لمشروعك القادم، أو تريد معرفة أيّهما تجرّبه أولًا على PicassoIA، فهذا التحليل يمنحك الجواب الحقيقي.

ما الذي اختبرناه ولماذا يهم
تعتمد معظم المقارنات المنشورة عن نماذج الذكاء الاصطناعي على اختبارات معيارية موحّدة مثل HumanEval أو MBPP. هذه الاختبارات مهمة، لكنها لا تخبرك بالشعور الفعلي عند العمل مع النموذج في مهام إنتاجية حقيقية. لذلك بنينا مجموعة اختبار من 12 تحدّيًا تحاكي ما يفعله المطورون فعلًا كل أسبوع.
التحديات البرمجية الـ 12
قُسّمت التحديات إلى ثلاث فئات:
الفئة 1: الخوارزميات والمنطق
- متتالية فيبوناتشي التكرارية مع الحفظ المؤقت (memoization)
- أطول متتالية مشتركة (البرمجة الديناميكية)
- إدراج الشجرة الثنائية للبحث والمرور عليها
- تنفيذ مخصّص لخوارزمية الدمج المرتّب (merge sort)
الفئة 2: تطوير الويب الواقعي
- مكوّن React وظيفي باستخدام الخطافات (hooks) والتحقق من الخصائص (prop validation)
- تكامل REST API مع معالجة الأخطاء ومنطق إعادة المحاولة
- تحسين استعلام SQL لعملية JOIN مع الفلترة
- تصميم واجهة TypeScript لنموذج بيانات متداخل
الفئة 3: تصحيح الأخطاء وإعادة الهيكلة
- تحديد وإصلاح 3 أخطاء مخفية في سكربت Python من 60 سطرًا
- إعادة هيكلة دالة Node.js تعتمد على callbacks كثيرة إلى async/await
- إضافة اختبارات وحدات مناسبة لصنف Python غير مختبر
- تبسيط نمط المصنع (factory pattern) المعقّد أكثر من اللازم في Java
كان الأمر النصي متطابقًا لكلا النموذجين. قُيّمت المخرجات من 1 إلى 10 وفق أربعة معايير: الصحة، وأسلوب الشيفرة، ومعالجة الحالات الحدّية، ووضوح الشرح.
معايير التقييم
💡 لم نقيّم وفق الإبداع أو "الطرافة". استندت كل نقطة إلى ما إذا كانت الشيفرة تعمل، وما إذا كانت تعالج الحالات الحدّية، وما إذا كانت تتبع أعراف اللغة، وما إذا كان مطوّر مبتدئ يستطيع قراءتها دون أن يطرح أسئلة.
| المعيار | الوزن | ما الذي فحصناه |
|---|
| الصحة | 40% | هل تعمل الشيفرة وتنتج المخرجات الصحيحة؟ |
| معالجة الحالات الحدّية | 25% | المدخلات الفارغة، والقيم الفارغة (null)، والقيم عند الحدود |
| أسلوب الشيفرة | 20% | التسمية، والبنية، وأعراف اللغة |
| وضوح الشرح | 15% | هل كان المنطق دقيقًا وموجزًا؟ |

الجولة 1: مسائل الخوارزميات والمنطق
هذه هي الفئة التي تظهر فيها الفجوة بين النموذجين بوضوح أكبر. تتطلب مهام الخوارزميات دقة: هناك إجابة صحيحة، والنموذج إما يجدها أو لا يجدها.
التكرار والبرمجة الديناميكية
كان تحدّي متتالية فيبوناتشي التكرارية مع الحفظ المؤقت أول أمر نصي. أنتج النموذجان شيفرة تعمل. أضافت DeepSeek V4 Pro مُزخرِف (decorator) من نوع @lru_cache فورًا دون أن يُطلب منها ذلك، وهو النهج الاصطلاحي في Python. أما Claude Sonnet 4.6 فقد أنتج ذاكرة تخزين مؤقت يدوية قائمة على القواميس، وهي أكثر وضوحًا لكنها أطول قليلًا.
بالنسبة لتحدّي أطول متتالية مشتركة (Longest Common Subsequence)، أعادت DeepSeek V4 Pro حلًّا تصاعديًا بالبرمجة الديناميكية (bottom-up) يستخدم مصفوفة ثنائية الأبعاد 2D سليمة، بتعقيد مساحة O(m*n)، مع تعليقات دقيقة حول تحسين المساحة. كما أعاد Claude Sonnet 4.6 حلًّا تصاعديًا صحيحًا، لكنه أضاف دون أن يُطلب منه نسخة محسّنة من حيث المساحة تعمل باستخدام مصفوفة متداوِرة أحادية البُعد 1D. وهذا الناتج الإضافي يُظهر في الواقع فهمًا أعمق للمشكلة.
الأفضلية: Claude Sonnet 4.6 في عمق البرمجة الديناميكية. الأفضلية: DeepSeek V4 Pro في الخيارات الاختصارية الاصطلاحية.
الفرز والبحث والتعقيد
كشفت مهمة الشجرة الثنائية للبحث عن فرق حقيقي. كان تنفيذ DeepSeek V4 Pro للشجرة نظيفًا، لكنه أغفل حالة الشجرة الفارغة عند أول إدراج. أما Claude Sonnet 4.6 فقد عالج تهيئة الجذر الفارغ (null root) بشكل صريح. وفي أمر خوارزمية الدمج المرتّب، كان التنفيذان صحيحين ومتطابقين تقريبًا، ويختلفان فقط في تسمية المتغيرات.
نتيجة الجولة 1:
- DeepSeek V4 Pro: 34/40
- Claude Sonnet 4.6: 36/40

الجولة 2: مهام تطوير الويب الواقعية
اختبارات الخوارزميات نظيفة ودقيقة. أما مهام تطوير الويب فهي فوضوية. إنها تنطوي على آراء، وأعراف أطر العمل، وحقيقة أن هناك غالبًا خمس طرق صحيحة للقيام بأمر ما، وطريقة واحدة ستسبب لك المتاعب عند الثانية فجرًا.
توليد مكوّنات React
طلبنا من النموذجين بناء مكوّن React بوظيفة UserProfileCard يستخدم الخطافات، ويستقبل خاصية user ذات حقول متداخلة، ويتضمن تحقّقًا مناسبًا من PropTypes بالإضافة إلى حالة للتحميل.
أنتجت DeepSeek V4 Pro مكوّنًا عاملًا بسرعة. استخدمت useState لتبديل حالة التحميل، وبنت JSX بشكل نظيف. لكنها نسيت PropTypes لكائن user.address المتداخل، فبقي هذا التحقق ناقصًا.
كتب Claude Sonnet 4.6 المكوّن مع PropTypes.shape() متداخل كامل لحقول العنوان. كما أضاف كتلة defaultProps دون أن يُطلب منه ذلك، وهي ممارسة جيدة في React. كان المكوّن أطول قليلًا، لكنه أكثر جاهزية للإنتاج بوضوح.
💡 في العمل على الواجهات الأمامية، الفرق بين "الشيفرة العاملة" و"الشيفرة الجاهزة للإنتاج" هو بالضبط هذا: معالجة الحالات الحدّية التي لا يذكرها أحد في الأمر النصي.
تكامل API ومعالجة الأخطاء
طلب هذا الأمر من النموذجين كتابة دالة JavaScript تجلب البيانات من REST API مقسّم إلى صفحات، وتعيد المحاولة عند أخطاء 429 أو 5xx باستخدام تأخير أُسّي (exponential backoff)، وتعيد جميع الصفحات مدموجة في مصفوفة واحدة.
كتبت DeepSeek V4 Pro دالة جلب تكرارية مع منطق إعادة المحاولة. كان التأخير الأُسّي منفّذًا بشكل صحيح، لكنه استخدم ثابتًا ثابتًا maxRetries دون عرضه كمعامل. وكانت معالجة الأخطاء تلتقط 429 لكنها لم تميّز بين رموز الحالة 5xx.
كتب Claude Sonnet 4.6 نهجًا قائمًا على الحلقات مع كائن إعدادات قابل للتهيئة لإعادة المحاولة. عالج الخطأ 429 مع تحليل ترويسة Retry-After، واستخدم شرطًا منفصلًا لاستجابات 5xx. وقبلت توقيعة الدالة معاملَ إعدادات، مما يجعلها قابلة لإعادة الاستخدام دون تعديل الشيفرة.
نتيجة الجولة 2:
- DeepSeek V4 Pro: 31/40
- Claude Sonnet 4.6: 37/40

الجولة 3: تصحيح الأخطاء وإعادة الهيكلة
يكون تصحيح الأخطاء المجال الذي تُبهر فيه نماذج الذكاء الاصطناعي أو تُحبط. إيجاد خطأ كتبه شخص آخر يتطلب فهم النية، لا مجرد فهم الصياغة.
إيجاد الأخطاء المخفية
زرعنا ثلاثة أخطاء في سكربت Python من 60 سطرًا: خطأ انزياح بمقدار واحد في فهرس حلقة، ووسيطة افتراضية قابلة للتغيير (mutable default argument) في توقيعة دالة، ومفتاح قاموس يُستخدم قبل التحقق من وجوده.
وجدت DeepSeek V4 Pro خطأ انزياح الفهرس بمقدار واحد وفحص المفتاح المفقود. أغفلت الوسيطة الافتراضية القابلة للتغيير تمامًا، ولم تذكرها في شرحها. وهذه مطبّة دقيقة في Python يفوّتها حتى المطورون ذوو الخبرة، لذا فإغفالها مفهوم، لكن نموذج البرمجة كان ينبغي أن ينبّه إليها.
وجد Claude Sonnet 4.6 الأخطاء الثلاثة كلها. شرح مشكلة الوسيطة الافتراضية القابلة للتغيير مع ملاحظة موجزة حول سلوك تخزين كائن الدالة المؤقت في Python. هذا الشرح هو بالضبط ما كان سيقوله مطوّر أول لزميل مبتدئ.
إعادة هيكلة الشيفرة القديمة
أُعطي النموذجان دالة Node.js تستخدم callbacks متداخلة على ثلاثة مستويات، وطُلب منهما إعادة هيكلتها إلى async/await مع معالجة أخطاء مناسبة.
أعادت DeepSeek V4 Pro الهيكلة بشكل صحيح ونظيف. حوّلت كل الـ callbacks إلى promises باستخدام try/catch بشكل سليم، وكانت الشيفرة الناتجة مقروءة. كان المخرج مباشرًا وأنجز المهمة.
فعل Claude Sonnet 4.6 الأمر نفسه، لكنه نبّه أيضًا إلى غياب await كان سيسبب حالة سباق صامتة (race condition) في نسخة الـ callbacks الأصلية، رغم أن إصلاحه لم يكن جزءًا من المهمة المطلوبة. وضع ذلك في تعليق منفصل دون تغيير النطاق.
نتيجة الجولة 3:
- DeepSeek V4 Pro: 32/40
- Claude Sonnet 4.6: 38/40

السرعة والتكلفة وكفاءة التوكنات
ليست درجات الجودة الخام سوى جزء من الصورة. في سير العمل الإنتاجي، تؤثر السرعة وكفاءة التوكنات في حجم ما يمكنك إنجازه فعلًا في الجلسة الواحدة.
مقارنة زمن الاستجابة
في جميع المهام الـ 12، قسنا زمن ظهور أول توكن وزمن الاستجابة الكلي. أظهر DeepSeek V4 Pro زمنًا أسرع باستمرار لظهور أول توكن في جميع الأوامر النصية، وكان في الغالب أسرع بنسبة 20-30% من Claude Sonnet 4.6 في المهمة نفسها. وبالنسبة للمطورين الذين يكررون التجربة بسرعة بأوامر نصية قصيرة كثيرة، تتراكم فائدة هذه السرعة في الاستجابة.
كان زمن الاستجابة الكلي لكل مهمة في Claude Sonnet 4.6 أطول قليلًا، لكنه كان يولّد في الغالب محتوى أكثر في كل استجابة، بما في ذلك الشروح والمقاربات البديلة وملاحظات الحالات الحدّية التي يقدّمها من تلقاء نفسه.
استهلاك التوكنات لكل مهمة
| فئة المهمة | متوسط التوكنات في DeepSeek V4 Pro | متوسط التوكنات في Claude Sonnet 4.6 |
|---|
| مسائل الخوارزميات | 420 | 610 |
| مهام تطوير الويب | 580 | 820 |
| تصحيح الأخطاء وإعادة الهيكلة | 490 | 740 |
استهلك Claude Sonnet 4.6 توكنات أكثر بشكل ثابت. وما إذا كان ذلك تكلفة أم ميزة يعتمد كليًا على طريقة استخدامك له. إذا كنت تريد شيفرة مختصرة ومباشرة بلا تعليق، فإن DeepSeek V4 Pro أسرع وأقل تكلفة لكل مهمة. وإذا أردت من النموذج أن يلاحظ أشياء لم تطلبها، فإن Claude Sonnet 4.6 يكسب تلك التوكنات الإضافية.
💡 بالنسبة إلى توليد الشيفرة بالدفعات على نطاق واسع، تمثل كفاءة التوكنات في DeepSeek V4 Pro ميزة تشغيلية حقيقية. أما في جلسات مراجعة الشيفرة وتصحيح الأخطاء التي يهم فيها السياق، فإن إسهاب Claude Sonnet 4.6 يُعدّ ميزة.

أين يقصّر كل نموذج
لا يوجد نموذج مثالي. معرفة أنماط الفشل لا تقل أهمية عن معرفة نقاط القوة.
نقاط ضعف DeepSeek V4 Pro
العمى تجاه الحالات الحدّية في المدخلات المعقّدة. في عدة مهام، كتبت DeepSeek V4 Pro شيفرة صحيحة للمسار السعيد، لكنها أغفلت فحوصات القيم الفارغة، أو حالات المصفوفات الفارغة، أو الشروط عند الحدود، ما لم يذكرها الأمر النصي صراحة. يعرف المطورون ذوو الخبرة أن عليهم السؤال عن الحالات الحدّية، لكن المبتدئين الذين يعتمدون على النموذج قد ينشرون شيفرة هشة.
عمق الشرح ضحل. عندما تتخذ DeepSeek V4 Pro خيارًا، مثل استخدام @lru_cache أو مقاربة خوارزمية محددة، فإنها نادرًا ما تشرح السبب. في سياقات التعلّم أو مراجعة الشيفرة، هذا يحدّ من الفائدة. الشيفرة غالبًا صحيحة، لكن المنطق يبقى غير مرئي.
أعراف خاصة بأطر العمل. في مهمة واجهة TypeScript، أنتجت DeepSeek V4 Pro كودًا صالحًا في TypeScript لكنها استخدمت any في موضعين حيث كان نوع عام (generic) أو نوع اتحادي (union) مناسب أكثر اصطلاحية. أصابت البنية، لكنها أخطأت في أمان الأنواع بطرق دقيقة.
نقاط ضعف Claude Sonnet 4.6
إسهاب زائد في المهام البسيطة. عندما طلبنا دالة أداة بسيطة، أعاد Claude Sonnet 4.6 أحيانًا ثلاث فقرات من السياق قبل الشيفرة. في التكرار السريع، يبطئك هذا. جودة المخرج عالية، لكن نسبة الإشارة إلى الضوضاء قد تحبط المطورين الذين يعرفون بالضبط ما يحتاجونه.
إعادة هيكلة تفرض رأيها أحيانًا. في مهمة تحويل callbacks إلى async، أعاد Claude Sonnet 4.6 تشكيل توقيعة الدالة قليلًا أثناء إعادة الهيكلة. ربما كانت التوقيعة الجديدة أفضل، لكن التغيير لم يُطلب، وقد يكسر المستدعين في قاعدة شيفرة حقيقية.
زمن استجابة أعلى للأوامر البسيطة. في مهام الشيفرة القصيرة من سطر واحد، كان الفرق في زمن الاستجابة مقارنة بنموذج DeepSeek V4 Pro ملحوظًا وغير مبرر. يتألق Claude Sonnet 4.6 في المهام المعقّدة، وهو خيار أقل ملاءمة قليلًا للتوليد السريع على طريقة الإكمال التلقائي.

النتائج النهائية
بعد 12 تحدّيًا و480 نقطة ممكنة لكلا النموذجين، إليك كيف انتهى الاختبار الكلي:
| النموذج | الخوارزميات (40 نقطة) | تطوير الويب (40 نقطة) | تصحيح الأخطاء (40 نقطة) | المجموع |
|---|
| DeepSeek V4 Pro | 34 | 31 | 32 | 97 / 120 |
| Claude Sonnet 4.6 | 36 | 37 | 38 | 111 / 120 |
يفوز Claude Sonnet 4.6 في اختبار البرمجة هذا عبر الفئات الثلاث، مع أكبر تقدّم له في تصحيح الأخطاء وتطوير الويب الواقعي. الفجوة في مهام الخوارزميات أضيق، حيث تقلّص سرعة DeepSeek V4 Pro وخياراتها الاصطلاحية المسافة.
DeepSeek V4 Pro قوي فعلًا. كانت نسبة صحة مخرجاتها الخام عالية، وكانت استجاباتها سريعة، وهي خيار فعّال لمهام توليد الشيفرة بالدفعات. ويعكس فارق النقاط إلى حد كبير السلوك الاستباقي لنموذج Claude Sonnet 4.6، وميله إلى التقاط أمور لم تسأل عنها، وهذا إما ميزة خارقة أو ضوضاء، حسب سير عملك.
إذا كنت تكتب الكثير من الشيفرة الخوارزمية وتحتاج إلى تكرار سريع بتكلفة توكنات منخفضة، فإن DeepSeek V4 Pro يستحق مكانًا في أدواتك. وإذا كنت تعمل في تطوير الويب الإنتاجي أو تصحيح الأخطاء أو مراجعة الشيفرة، فإن Claude Sonnet 4.6 هو الشريك الأقوى.
وللفرق التي تريد الاثنين معًا، يقدّم DeepSeek R1 سلسلة التفكير الخاصة بـ DeepSeek للمسائل المعقّدة، بينما يتولى DeepSeek v3.1 النصوص العامة ومهام الشيفرة بسرعة. يمنحك PicassoIA الوصول إلى كل هذه النماذج في مكان واحد، دون إدارة مفاتيح API منفصلة أو مستويات تسعير مختلفة.

شغّل النموذجين على PicassoIA الآن
قراءة نتائج المعايير مفيدة. تشغيل النماذج بنفسك على شيفرتك الفعلية أفضل. يمنحك PicassoIA وصولًا مباشرًا إلى Claude Sonnet 4.6 إلى جانب مجموعة DeepSeek كاملة، بما في ذلك DeepSeek R1 للمهام الكثيفة في الاستدلال، وDeepSeek v3.1 للتوليد السريع للأغراض العامة.
يمكنك أيضًا إقرانهما بنماذج قوية أخرى على المنصة، ومنها Claude Opus 4.7 لأصعب مهام البرمجة والاستدلال، أو Claude 4 Sonnet للبرمجة الدقيقة على نطاق واسع. يُعدّ كتالوج النماذج اللغوية الكبيرة (LLM) على PicassoIA من أوسع الكتالوجات المتاحة، ويضم أكثر من 75 نموذجًا لغويًا من Anthropic وDeepSeek وOpenAI وGoogle وMeta وغيرها.
خذ الأوامر النصية من هذا المقال وجرّبها بنفسك. الصق دالتك المعطوبة، وموجز مكوّن React الخاص بك، ومسألة الخوارزميات التي تواجهها. النموذج الذي يتفوّق على شيفرتك الحقيقية هو الذي يهم، والآن تعرف تمامًا ما الذي يجب البحث عنه عند تقييم النتائج.
جرّب Claude Sonnet 4.6 وDeepSeek R1 على picassoia.com/en/all-models وشاهد أيّهما يناسب طريقتك الفعلية في البناء.