𝗢𝗹𝗹𝗮𝗺𝗮 के साथ एक 𝗟𝗼𝗰𝗮𝗹 𝗔𝗜 𝗖𝗼𝗱𝗲 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿 बनाएँ
आपका CI 'green' तो है लेकिन वह सतही है। व्यस्त होने के कारण आपका कोई साथी एक साधारण बग (bug) को भी नज़रअंदाज़ कर सकता है। आप एक local LLM का उपयोग करके 'दूसरी जोड़ी आँखें' (second pair of eyes) तैयार कर सकते हैं।
आप एक TypeScript CLI बना सकते हैं जो commit करने से पहले आपके staged git diff की समीक्षा करता है। इससे आपका कोड निजी रहता है। इसमें किसी API key या क्लाउड प्रोवाइडर की आवश्यकता नहीं होती है।
यह टूल कैसे काम करता है:
• git diff --cached का उपयोग करके staged diff प्राप्त करें।
• एक विशिष्ट prompt के साथ diff को Ollama पर भेजें।
• JSON output का अनुरोध करें और Zod के साथ उसे validate करें।
• अपने terminal पर findings प्रिंट करें।
• इसे pre-commit hook के रूप में सेट करें।
बेहतर परिणामों के लिए तकनीकी विकल्प:
• prompt से ANSI codes हटाने के लिए --no-color का उपयोग करें।
• मॉडल को तीन लाइनों का context देने के लिए -U3 का उपयोग करें।
• deterministic परिणामों के लिए temperature को 0 पर सेट करें।
• style और naming preferences को नज़रअंदाज़ करने के लिए एक विशिष्ट system prompt का उपयोग करें।
मॉडल को logic errors, null access और security issues पर केंद्रित करें। उसे बताएं कि क्या नज़रअंदाज़ करना है। एक छोटे मॉडल को यह बताना कि क्या रिपोर्ट नहीं करना है, उसे यह बताने से अधिक प्रभावी है कि क्या खोजना है।
Local models के लिए एक व्यावहारिक workflow:
• अपने git hook के लिए qwen2.5-coder:7b का उपयोग करें।
• तेज़ local testing के लिए qwen2.5-coder:1.5b का उपयोग करें।
• केवल high severity bugs होने पर ही commits को ब्लॉक करें।
• medium और low severity findings को केवल सलाह (advisory) के रूप में रहने दें।
Local models 'staff engineers' नहीं होते हैं। वे उन जटिल logic को मिस कर देते हैं जो कई फाइलों में फैला होता है। वे false positives भी देते हैं। हालाँकि, वे missing awaits या गलत operators जैसी छोटी गलतियों को पकड़ लेते हैं।
पुल रिक्वेस्ट (pull request) तक पहुँचने से पहले लापरवाह बग्स को पकड़ने के लिए इस टूल का उपयोग करें। यह आपकी टीम का समय बचाता है और आपके कोड को साफ़ रखता है।
Optional learning community: https://t.me/GyaanSetuAi