मैंने दस छोटे Solidity कॉन्ट्रैक्ट्स पर लोकल मॉडल्स का परीक्षण किया, जिनमें मैंने इस तरह के बग्स (bugs) डाले थे:

  • withdraw फंक्शन्स में Reentrancy
  • एक्सेस मॉडिफायर्स (access modifiers) की कमी
  • ERC4626 राउंडिंग एरर्स (rounding errors)
  • दोषपूर्ण सिग्नेचर चेक (faulty signature checks)
  • सूक्ष्म लॉजिक बग्स (subtle logic bugs)

मैंने WSL2 पर Ollama के माध्यम से 7B मॉडल्स (या उससे छोटे) पर Qwen2.5-Coder की तुलना DeepSeek-Coder से की। यदि आप 33B मॉडल्स का उपयोग करते हैं, तो इसे अनदेखा करें।

प्रत्येक कॉन्ट्रैक्ट के लिए मैंने तीन प्रॉम्प्ट्स दिए:

  • एक सामान्य सुरक्षा समीक्षा (general security review)
  • reentrancy और access control के लिए एक लक्षित जांच (targeted check)
  • गंभीरता टैग्स (severity tags) के साथ एक स्ट्रक्चर्ड रिपोर्ट

इंस्ट्रक्शन फॉलोइंग (Instruction Following)

Qwen 7B यहाँ जीतता है। यह लगभग हर बार सख्त फॉर्मेटिंग नियमों का पालन करता है। DeepSeek अक्सर अतिरिक्त टेक्स्ट जोड़ देता है या सीमाओं को अनदेखा कर देता है। जब आप मॉडल के आउटपुट को एक ऑटोमेटेड पाइपलाइन में डालते हैं, तो Qwen की निरंतरता (consistency) मायने रखती है—पार्ज़िंग फेल (parsing-fail) होने पर वह बेकार है।

लक्षित जांच (Targeted Checks)

Qwen विषय पर बना रहता है। यदि आप इससे reentrancy के बारे में पूछेंगे, तो यह reentrancy के बारे में ही जवाब देगा। DeepSeek गैस ऑप्टिमाइज़ेशन (gas optimization) या स्टाइल नोट्स की ओर भटक जाता है, जिससे अनावश्यक जानकारी (noise) बढ़ जाती है।

स्पष्टीकरण की गुणवत्ता (Explanation Quality)

Qwen अटैक सीक्वेंस को स्पष्ट रूप से समझाता है, जिससे पता चलता है कि कोई एक्सप्लॉइट (exploit) कैसे काम करता है। DeepSeek सामान्य टेक्स्टबुक उत्तर देता है। दोनों सही हैं, लेकिन Qwen का विवरण रिपोर्ट लिखने में मदद करता है।

संदेह और मतिभ्रम (Skepticism and Hallucination)

DeepSeek अधिक समस्याओं को चिह्नित करता है, जो एक "संदेह जनरेटर" (suspicion generator) की तरह काम करता है। यह साफ कोड में भी समस्याएं गढ़ लेता है।

इसके विपरीत, जब कोड में बग्स नहीं होते हैं, तो Qwen शांत रहता है। दूसरी ओर, DeepSeek ऐसे बग्स का दावा करता है जो मौजूद ही नहीं हैं।

एक गलत चेतावनी (false alarm) से कुछ मिनटों का नुकसान होता है; लेकिन एक छूटा हुआ बग सब कुछ बर्बाद कर सकता है। मैं जांच के लिए चीजों को सामने लाने हेतु DeepSeek का सहारा लेता हूँ, लेकिन ऑटोमेशन के लिए मैं Qwen पर भरोसा करता हूँ।

मेरा अंतिम फैसला (My Final Verdict)

ब्रांड से ज्यादा मॉडल का आकार मायने रखता है। एक 1.5B मॉडल मल्टी-स्टेप बग्स को समझने या फॉर्मेट बनाए रखने में सक्षम नहीं है।

7B पर, दोनों बुनियादी खामियों को संभाल लेते हैं, फिर भी जटिल बिजनेस लॉजिक के लिए दोनों में से कोई भी मानव ऑडिटर (human auditor) की जगह नहीं ले सकता। उन्हें ऑडिटर्स के बजाय 'ट्राइएज असिस्टेंट' (triage assistants) के रूप में देखें।

मेरा सेटअप:

  • Qwen 7B: स्ट्रक्चर्ड रिव्यू और पाइपलाइन्स के लिए डिफॉल्ट।
  • DeepSeek: उन चीजों को पकड़ने के लिए दूसरी राय जो Qwen मिस कर देता है।
  • Qwen 1.5B: केवल तेज़, कम जोखिम वाली फ़िल्टरिंग के लिए।

अपने हार्डवेयर के अनुसार सबसे बड़ा मॉडल खरीदें। उसके बाद ब्रांड की चिंता करें।

क्या आप ऐसे मॉडल को पसंद करते हैं जो संदिग्ध हो या ऐसे मॉडल को जो सटीक हो?

Source: https://dev.to/pavelespitia/qwen25-coder-vs-deepseek-coder-for-solidity-review-what-i-actually-see-locally-4jh8

Optional learning community: https://t.me/GyaanSetuAi