قمت باختبار نماذج محلية على عشرة عقود Solidity صغيرة، حيث قمت بزرع أخطاء برمجية مثل:
- إعادة الدخول (Reentrancy) في وظائف السحب
- فقدان معدلات الوصول (access modifiers)
- أخطاء التقريب في ERC4626
- فحوصات توقيع خاطئة
- أخطاء منطقية دقيقة
قمت بتشغيل Qwen2.5-Coder مقابل DeepSeek-Coder على نماذج بحجم 7B (أو أصغر) عبر Ollama على WSL2. إذا كنت تستخدم نماذج بحجم 33B، فتجاهل هذا الجزء.
لكل عقد، قمت بإرسال ثلاثة مطالبات (prompts):
- مراجعة أمنية عامة
- فحص مستهدف لإعادة الدخول (reentrancy) والتحكم في الوصول (access control)
- تقرير منظم مع وسوم لدرجة الخطورة
اتباع التعليمات
يتفوق Qwen 7B هنا؛ فهو يلتزم بقواعد التنسيق الصارمة في كل مرة تقريبًا. أما DeepSeek فغالبًا ما يضيف نصًا إضافيًا أو يتجاهل القيود. عندما تقوم بتغذية مخرجات النموذج في مسار عمل مؤتمت (automated pipeline)، فإن اتساق Qwen هو ما يهم — ففشل عملية التحليل (parsing) يجعل المخرجات عديمة الفائدة.
الفحوصات المستهدفة
يلتزم Qwen بالموضوع؛ اسأله عن إعادة الدخول (reentrancy) وسيجيب عن إعادة الدخول. أما DeepSeek فيتشتت نحو تحسين الغاز (gas optimization) أو ملاحظات الأسلوب، مما يضيف ضجيجًا غير ضروري.
جودة الشرح
يشرح Qwen تسلسل الهجمات بوضوح، موضحًا كيفية حدوث الثغرة. بينما يقدم DeepSeek إجابات نموذجية عامة. كلاهما صحيح، لكن تفاصيل Qwen تساعد في كتابة التقارير.
الشك والهلوسة
يحدد DeepSeek مشكلات أكثر، حيث يعمل كـ "مولد للشكوك". كما أنه يبتكر مشكلات في الأكواد النظيفة.
في المقابل، يصمت Qwen عندما يكون الكود خاليًا من الأخطاء. ومن ناحية أخرى، يدعي DeepSeek وجود أخطاء غير موجودة.
الإنذار الكاذب يكلف دقائق؛ أما الخطأ الذي يتم إغفاله فقد يكلف كل شيء. أنا أميل إلى استخدام DeepSeek لإظهار الأمور التي تستحق التحقيق، لكني أعتمد على Qwen في الأتمتة.
حكمي النهائي
حجم النموذج أهم من العلامة التجارية. النموذج بحجم 1.5B لا يمكنه الاستنتاج عبر الأخطاء متعددة الخطوات أو الالتزام بالتنسيق.
عند حجم 7B، يتعامل كلاهما مع العيوب الأساسية، ومع ذلك لا يحل أي منهما محل المدقق البشري في المنطق البرمجي المعقد. فكر فيهما كمساعدين للفرز الأولي (triage assistants)، وليس كمدققين.
إعداداتي:
- Qwen 7B: الخيار الافتراضي للمراجعات المنظمة ومسارات العمل.
- DeepSeek: رأي ثانٍ لالتقاط ما قد يفوته Qwen.
- Qwen 1.5B: للفلترة السريعة ومنخفضة المخاطر فقط.
اشترِ أكبر نموذج يمكن لجهازك تشغيله، ثم ابدأ بالقلق بشأن العلامة التجارية.
هل تفضل نموذجًا كثير الشك أم نموذجًا دقيقًا؟
Optional learning community: https://t.me/GyaanSetuAi
