On tane küçük Solidity kontratı üzerinde yerel modelleri test ettim ve şu tür hatalar yerleştirdim:
- Para çekme (withdraw) fonksiyonlarında reentrancy
- Eksik erişim belirleyicileri (access modifiers)
- ERC4626 yuvarlama hataları
- Hatalı imza kontrolleri
- Hassas mantık hataları
WSL2 üzerinde Ollama aracılığıyla 7B (veya daha küçük) modeller kullanarak Qwen2.5-Coder'ı DeepSeek-Coder ile kıyasladım. Eğer 33B modeller kullanıyorsanız, bunu dikkate almayın.
Her bir kontrat için üç farklı istem (prompt) kullandım:
- Genel bir güvenlik incelemesi
- Reentrancy ve erişim kontrolüne yönelik hedefli bir kontrol
- Önem derecesi etiketleri içeren yapılandırılmış bir rapor
Talimat Takibi
Qwen 7B burada kazanıyor. Neredeyse her seferinde katı biçimlendirme kurallarına uyuyor. DeepSeek ise sık sık fazladan metin ekliyor veya sınırları görmezden geliyor. Model çıktısını otomatik bir iş akışına (pipeline) aktardığınızda, Qwen'in tutarlılığı kritik önem taşır; bir ayrıştırma hatası (parsing-fail) işe yaramaz hale getirir.
Hedefli Kontroller
Qwen konudan sapmıyor. Ona reentrancy hakkında bir şey sorduğunuzda, reentrancy hakkında cevap veriyor. DeepSeek ise gaz optimizasyonu veya stil notlarına kayarak gürültü yaratıyor.
Açıklama Kalitesi
Qwen, bir açığın nasıl gerçekleştiğini göstererek saldırı dizilerini net bir şekilde açıklıyor. DeepSeek ise genel, ders kitabı tadında cevaplar veriyor. Her ikisi de doğru ancak Qwen'in detay seviyesi rapor yazımına yardımcı oluyor.
Şüphecilik ve Halüsinasyon
DeepSeek, bir “şüphe jeneratörü” gibi davranarak daha fazla sorun işaret ediyor. Ayrıca temiz kodlarda bile sorunlar uydurabiliyor.
Buna karşılık Qwen, kod hatalı olduğunda sessiz kalıyor. DeepSeek ise var olmayan hatalar iddia ediyor.
Yanlış alarm dakikalar kaybettirir; gözden kaçan bir hata ise her şeyi kaybettirebilir. İnceleme yapılacak konuları ortaya çıkarmak için DeepSeek'e yöneliyorum ancak otomasyon için Qwen'e güveniyorum.
Nihai Kararım
Model boyutu, markadan daha önemlidir. 1.5B'lik bir model, çok adımlı hatalar üzerinde mantık yürütemez veya biçime sadık kalamaz.
7B seviyesinde her ikisi de temel kusurları ele alabiliyor, ancak hiçbiri karmaşık iş mantığı (business logic) için bir insan denetçinin yerini tutamaz. Onları denetçi olarak değil, önceliklendirme (triage) asistanları olarak düşünün.
Kurulumum:
- Qwen 7B: Yapılandırılmış incelemeler ve iş akışları (pipelines) için varsayılan.
- DeepSeek: Qwen'in gözden kaçırdıklarını yakalamak için ikinci görüş.
- Qwen 1.5B: Sadece hızlı ve düşük riskli filtreleme için.
Donanımınızın çalıştırabileceği en büyük modeli alın. Markayı sonra düşünürsünüz.
Şüpheci bir modeli mi yoksa hassas bir modeli mi tercih edersiniz?
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
