Nilijaribu mifano ya ndani (local models) kwenye mikataba kumi midogo ya Solidity, nikijitengenezea makosa (bugs) kama vile:

  • Reentrancy kwenye kazi za kutoa fedha (withdraw functions)
  • Ukosefu wa viashiria vya ufikiaji (access modifiers)
  • Makosa ya kulinganisha namba (rounding errors) ya ERC4626
  • Ukaguzi mbaya wa saini (signature checks)
  • Makosa madogo ya kimantiki (subtle logic bugs)

Nililinganisha Qwen2.5-Coder na DeepSeek-Coder kwenye mifano ya 7B (au ndogo zaidi) kupitia Ollama kwenye WSL2. Ikiwa unatumia mifano ya 33B, acha kupuuza sehemu hii.

Kwa kila mkataba, nilitoa maelekezo (prompts) matatu:

  • Mapitio ya jumla ya usalama
  • Ukaguzi maalum wa reentrancy na udhibiti wa ufikiaji (access control)
  • Ripoti iliyopangwa yenye lebo za ukali (severity tags)

Ufuatiliaji wa Maelekezo

Qwen 7B inashinda hapa. Inafuata sheria kali za uundaji (formatting) karibu kila wakati. DeepSeek mara nyingi huongeza maandishi ya ziada au kupuuza mipaka. Unapoweka matokeo ya mfano kwenye mfumo wa kiotomatiki (automated pipeline), uthabiti wa Qwen ni muhimu—kushindwa kusoma data (parsing-fail) hakuna faida.

Ukaguzi Maalum

Qwen inabaki kwenye mada. Ikiulizwa kuhusu reentrancy, inajibu kuhusu reentrancy. DeepSeek huenda mbali na mada kuelekea uboreshaji wa gas (gas optimization) au maelezo ya mtindo (style notes), na kuleta kelele zisizo na lazima.

Ubora wa Maelezo

Qwen inaelezea mfuatano wa mashambulizi kwa uwazi, ikionyesha jinsi unavyotokea. DeepSeek hutoa majibu ya jumla kama ya vitabu vya kiada. Zote mbili ni sahihi, lakini undani wa Qwen husaidia katika uandishi wa ripoti.

Shaka na Uvumbuzi wa Uongo (Hallucination)

DeepSeek huashiria masuala mengi zaidi, ikifanya kazi kama "jeneta ya mashaka." Pia inabuni matatizo kwenye kodi safi.

Kinyume chake, Qwen inanyamaza wakati kodi ina makosa. DeepSeek, kwa upande mwingine, hudai uwepo wa makosa ambayo hayapo.

Tahadhari ya uongo hupoteza dakika chache; kosa lililosahaulika linaweza kupoteza kila kitu. Ninategemea DeepSeek ili kuibua mambo ya kuchunguza, lakini ninategemea Qwen kwa ajili ya uotomatishaji (automation).

Uamuzi Wangu wa Mwisho

Ukubwa wa mfano ni muhimu zaidi kuliko chapa. Mfano wa 1.5B hauwezi kufanya mantiki kwenye makosa ya hatua nyingi au kuzingatia uundaji (format).

Katika 7B, zote mbili zinashughulikia kasoro za msingi, lakini hakuna inayoweza kuchukua nafasi ya mkaguzi wa kibinadamu kwa mantiki tata ya biashara. Zifikirie kama wasaidizi wa uchunguzi wa awali (triage assistants), si wakaguzi.

Mpangilio wangu:

  • Qwen 7B: Chaguo la kawaida kwa mapitio yaliyopangwa na mifumo ya kiotomatiki.
  • DeepSeek: Maoni ya pili ili kukamata kile ambacho Qwen kinakosa.
  • Qwen 1.5B: Kuchuja kwa haraka na kwa hatari ndogo tu.

Nunua mfano mkubwa zaidi ambao kifaa chako kinaweza kuendesha. Kisha uanze kuhofia chapa.

Je, unapendelea mfano wenye shaka au mfano ulio sahihi?

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