నేను పది చిన్న Solidity కాంట్రాక్టులపై లోకల్ మోడల్స్‌ను పరీక్షించాను, వాటిలో ఈ క్రింది లోపాలను (bugs) ఉంచాను:

  • withdraw ఫంక్షన్లలో Reentrancy
  • Access modifiers లేకపోవడం
  • ERC4626 rounding errors
  • తప్పుగా ఉన్న signature checks
  • సూక్ష్మమైన లాజిక్ బగ్స్ (Subtle logic bugs)

నేను WSL2లో Ollama ద్వారా 7B (లేదా అంతకంటే తక్కువ) మోడల్స్‌పై Qwen2.5-Coder మరియు DeepSeek-Coderలను పోల్చి చూశాను. మీరు 33B మోడల్స్‌ను ఉపయోగిస్తుంటే, దీనిని విస్మరించండి.

ప్రతి కాంట్రాక్టు కోసం నేను మూడు ప్రాంప్ట్‌లను ఇచ్చాను:

  • ఒక సాధారణ సెక్యూరిటీ రివ్యూ (general security review)
  • reentrancy మరియు access control కోసం ప్రత్యేక తనిఖీ
  • 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 లేని బగ్స్ ఉన్నాయని చెబుతుంది.

తప్పుడు అలారం వల్ల కొన్ని నిమిషాల సమయం వృథా అవుతుంది; కానీ ఒక బగ్ మిస్ అయితే అంతా పోవచ్చు. నేను పరిశీలించాల్సిన అంశాలను గుర్తించడానికి DeepSeekపై ఆధారపడతాను, కానీ ఆటోమేషన్ కోసం Qwenపై నమ్ముతాను.

My Final Verdict

బ్రాండ్ కంటే మోడల్ సైజు ముఖ్యం. 1.5B మోడల్ మల్టీ-స్టెప్ బగ్స్‌ను విశ్లేషించలేదు లేదా ఫార్మాట్‌ను పాటించలేదు.

7B వద్ద, రెండూ ప్రాథమిక లోపాలను గుర్తిస్తాయి, కానీ సంక్లిష్టమైన బిజినెస్ లాజిక్ కోసం ఏదీ మనిషి (human auditor) స్థానాన్ని భర్తీ చేయలేదు. వాటిని ఆడిటర్లుగా కాకుండా, ప్రాథమిక తనిఖీ సహాయకులుగా (triage assistants) భావించండి.

నా సెటప్:

  • Qwen 7B: స్ట్రక్చర్డ్ రివ్యూలు మరియు పైప్‌లైన్‌ల కోసం డిఫాల్ట్‌గా వాడుతాను.
  • DeepSeek: Qwen మిస్ చేసే వాటిని పట్టుకోవడానికి సెకండ్ ఒపీనియన్‌గా వాడుతాను.
  • Qwen 1.5B: వేగంగా, తక్కువ ప్రాధాన్యత ఉన్న ఫిల్టరింగ్ కోసం మాత్రమే.

మీ హార్డ్‌వేర్ రన్ చేయగల అతిపెద్ద మోడల్‌ను కొనండి. ఆ తర్వాత బ్రాండ్ గురించి ఆలోచించండి.

మీరు అనుమానపడే మోడల్‌ను ఇష్టపడతారా లేక ఖచ్చితమైన (precise) మోడల్‌ను ఇష్టపడతారా?

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