𝗕𝘂𝗶𝗹𝗱 𝗮 𝗟𝗼𝗰𝗮𝗹 𝗔𝗜 𝗖𝗼𝗱𝗲 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿 𝘄𝗶𝘁𝗵 𝗢𝗹𝗹𝗮𝗺𝗮
آپ کا CI تو گرین (green) ہے لیکن یہ سطحی ہے۔ ایک ساتھی ٹیم ممبر مصروف ہونے کی وجہ سے ایک سادہ سی غلطی (bug) سے نظر انداز کر سکتا ہے۔ آپ ایک لوکل LLM کا استعمال کرتے ہوئے ایک دوسرا "آنکھ" (second pair of eyes) تیار کر سکتے ہیں۔
آپ ایک TypeScript CLI بنا سکتے ہیں جو آپ کے کمٹ (commit) کرنے سے پہلے آپ کے staged git diff کا جائزہ لیتا ہے۔ یہ آپ کے کوڈ کو پرائیویٹ رکھتا ہے۔ اس میں کسی API key یا کلاؤڈ فراہم کنندہ (cloud provider) کی ضرورت نہیں ہوتی۔
یہ ٹول کیسے کام کرتا ہے:
• git diff --cached کا استعمال کرتے ہوئے staged diff حاصل کریں۔
• ایک مخصوص پرامپٹ (prompt) کے ساتھ diff کو Ollama کو بھیجیں۔
• JSON آؤٹ پٹ کی درخواست کریں اور اسے Zod کے ذریعے ویلیڈیٹ کریں۔
• نتائج کو اپنے ٹرمینل پر پرنٹ کریں۔
• اسے pre-commit hook کے طور پر سیٹ کریں۔
بہتر نتائج کے لیے تکنیکی انتخاب:
• پرامپٹ سے ANSI کوڈز ہٹانے کے لیے --no-color کا استعمال کریں۔
• ماڈل کو تین لائنوں کا سیاق و سباق (context) فراہم کرنے کے لیے -U3 کا استعمال کریں۔
• یقینی نتائج (deterministic results) کے لیے temperature کو 0 پر سیٹ کریں۔
• اسٹائل اور نام رکھنے کی ترجیحات کو نظر انداز کرنے کے لیے ایک مخصوص سسٹم پرامپٹ استعمال کریں۔
ماڈل کو لاجک کی غلطیوں (logic errors)، null access، اور سیکیورٹی کے مسائل پر مرکوز کریں۔ اسے بتائیں کہ کن چیزوں کو نظر انداز کرنا ہے۔ ایک چھوٹے ماڈل کو یہ بتانا کہ اسے کیا رپورٹ نہیں کرنا ہے، اسے یہ بتانے سے زیادہ مؤثر ہے کہ اسے کیا ڈھونڈنا ہے۔
لوکل ماڈلز کے لیے ایک عملی ورک فلو:
• اپنے git hook کے لیے qwen2.5-coder:7b استعمال کریں۔
• تیز رفتار لوکل ٹیسٹنگ کے لیے qwen2.5-coder:1.5b استعمال کریں۔
• صرف زیادہ شدت (high severity) والے بگ پر کمٹ بلاک کریں۔
• درمیانی اور کم شدت کے نتائج کو صرف مشورے (advisory) کے طور پر رہنے دیں۔
لوکل ماڈلز اسٹاف انجینئرز نہیں ہوتے۔ وہ پیچیدہ لاجک جو متعدد فائلوں پر محیط ہو، اسے مس کر دیتے ہیں۔ وہ غلط مثبت (false positives) نتائج بھی دیتے ہیں۔ تاہم، وہ چھوٹی غلطیاں جیسے کہ missing awaits یا غلط آپریٹرز کو پکڑ لیتے ہیں۔
اس ٹول کا استعمال کریں تاکہ لاپرواہ بگ پر پل ریکویسٹ (pull request) پہنچنے سے پہلے انہیں پکڑا جا سکے۔ یہ آپ کی ٹیم کا وقت بچاتا ہے اور آپ کے کوڈ کو صاف ستھرا رکھتا ہے۔
Optional learning community: https://t.me/GyaanSetuAi