میں نے دس چھوٹے Solidity کنٹریکٹس پر مقامی ماڈلز کا تجربہ کیا، جن میں اس طرح کے بگ (bugs) شامل کیے گئے تھے:
- withdraw فنکشنز میں Reentrancy
- Access modifiers کا نہ ہونا
- ERC4626 rounding errors
- غلط signature checks
- باریک منطقی بگ (subtle logic bugs)
میں نے WSL2 پر Ollama کے ذریعے 7B ماڈلز (یا اس سے چھوٹے) پر Qwen2.5-Coder کا مقابلہ DeepSeek-Coder سے کیا۔ اگر آپ 33B ماڈلز استعمال کرتے ہیں، تو اسے نظر انداز کر دیں۔
ہر کنٹریکٹ کے لیے میں نے تین پرامپٹس (prompts) دیے:
- ایک عمومی سیکیورٹی ریویو
- Reentrancy اور access control کے لیے ایک مخصوص چیک
- سیورٹی ٹیگز کے ساتھ ایک منظم رپورٹ
Instruction Following
Qwen 7B یہاں جیت جاتا ہے۔ یہ تقریباً ہر بار سخت فارمیٹنگ کے اصولوں کی پابندی کرتا ہے۔ DeepSeek اکثر اضافی متن شامل کر دیتا ہے یا حدود کو نظر انداز کر دیتا ہے۔ جب آپ ماڈل کے آؤٹ پٹ کو ایک خودکار پائپ لائن (automated pipeline) میں ڈالتے ہیں، تو Qwen کا تسلسل (consistency) اہمیت رکھتا ہے—پارسلنگ کی ناکامی (parsing-fail) بیکار ہے۔
Targeted Checks
Qwen موضوع پر رہتا ہے۔ اس سے reentrancy کے بارے میں پوچھیں اور یہ reentrancy کے بارے میں ہی جواب دیتا ہے۔ DeepSeek گیس آپٹیمائزیشن (gas optimization) یا اسٹائل نوٹس کی طرف نکل جاتا ہے، جس سے غیر ضروری معلومات (noise) شامل ہو جاتی ہیں۔
Explanation Quality
Qwen حملے کے تسلسل (attack sequences) کو واضح طور پر بیان کرتا ہے، اور دکھاتا ہے کہ ایک ایکسپلائٹ (exploit) کیسے ہوتا ہے۔ DeepSeek عام نصابی جوابات دیتا ہے۔ دونوں درست ہیں، لیکن Qwen کی تفصیل رپورٹ لکھنے میں مدد دیتی ہے۔
Skepticism and Hallucination
DeepSeek زیادہ مسائل کی نشاندہی کرتا ہے، ایک "شک پیدا کرنے والے" (suspicion generator) کے طور پر کام کرتا ہے۔ یہ صاف ستھرے کوڈ میں بھی مسائل ایجاد کر دیتا ہے۔
اس کے برعکس، جب کوڈ میں بگ ہوتا ہے تو Qwen خاموش رہتا ہے۔ دوسری طرف، DeepSeek ایسے بگ کا دعویٰ کرتا ہے جو موجود ہی نہیں ہوتے۔
ایک غلط وارننگ منٹوں کا ضیاع کرتی ہے؛ لیکن ایک چھوٹا سا بگ سب کچھ ختم کر سکتا ہے۔ میں تحقیقات کے لیے چیزوں کو سامنے لانے کے لیے DeepSeek پر بھروسہ کرتا ہوں، لیکن آٹومیشن کے لیے میں Qwen پر انحصار کرتا ہوں۔
My Final Verdict
برانڈ سے زیادہ ماڈل کا سائز اہمیت رکھتا ہے۔ ایک 1.5B ماڈل کثیر مراحل والے بگ (multi-step bugs) کے بارے میں استدلال نہیں کر سکتا اور نہ ہی فارمیٹ برقرار رکھ سکتا ہے۔
7B پر، دونوں بنیادی خامیوں کو سنبھال لیتے ہیں، پھر بھی کوئی بھی پیچیدہ بزنس لاجک کے لیے انسانی آڈیٹر کا نعم البدل نہیں ہے۔ انہیں ٹرائج اسسٹنٹ (triage assistants) کے طور پر دیکھیں، آڈیٹرز کے طور پر نہیں۔
میرا سیٹ اپ:
- Qwen 7B: منظم ریویوز اور پائپ لائنز کے لیے ڈیفالٹ۔
- DeepSeek: ان چیزوں کو پکڑنے کے لیے دوسری رائے جو Qwen سے رہ جاتی ہیں۔
- Qwen 1.5B: صرف تیز رفتار، کم اہمیت والی فلٹرنگ کے لیے۔
وہ سب سے بڑا ماڈل خریدیں جسے آپ کا ہارڈ ویئر چلا سکے۔ پھر برانڈ کے بارے میں سوچیں۔
کیا آپ ایک ایسے ماڈل کو ترجیح دیتے ہیں جو شک کرنے والا ہو یا ایک ایسے ماڈل کو جو درست (precise) ہو؟
Optional learning community: https://t.me/GyaanSetuAi
