فائدہ:
- زمرہ جات اور شدت والے ٹیگز کے ساتھ AI کو ابتدائی جائزہ فلٹر کے طور پر استعمال کرنے کی اہلیت
- مثبت/غلط کی تصدیق/درخواست دینے کے لیے انسانی ذہن کے ساتھ نتائج کو فلٹر کرنے کی صلاحیت
- کاروباری اصول، فن تعمیر اور سیکورٹی کے لیے اہم فیصلوں پر انسانی منظوری کے تقاضوں کو نافذ کرنے کی اہلیت
کوڈ کا جائزہ تب ہوتا ہے جب کسی ڈویلپر کی طرف سے لکھی گئی تبدیلی کو ضم کرنے سے پہلے کسی اور کے ذریعے اس کا جائزہ لیا جاتا ہے۔ اچھا جائزہ؛ یہ کیڑے جلد پکڑتا ہے، معلومات کا اشتراک کرتا ہے، اور کوڈ بیس کو مستقل رکھتا ہے۔ لیکن جائزے تھکا دینے والے ہوتے ہیں، خلفشار کا شکار ہوتے ہیں، اور وقت کے دباؤ میں سطحی ہو جاتے ہیں۔ مصنوعی ذہانت یہاں دو گنا معاون ہے: یہ آپ کو اپنے کوڈ کو پہلے سے صاف کرنے کی اجازت دیتی ہے جسے آپ جائزہ کے لیے جمع کراتے ہیں اور کسی اور کے PR (پل کی درخواست) کو تیز نظر سے جانچ سکتے ہیں۔
اہم امتیاز یہ ہے: AI جائزہ کو تیز اور بڑھاتا ہے، لیکن یہ منظوری کی ذمہ داری نہیں لے سکتا۔ جملہ "AI دیکھا، یہ صاف ہے" کی توثیق نہیں ہے۔ حتمی "ضم" کا فیصلہ ایک انجینئر پر منحصر ہے جو کوڈ اور سیاق و سباق جانتا ہے۔
جائزہ میں AI اچھا اور برا کیا ہے۔
اس کے لیے اچھا ہے: نال چیک مسز، ریسورس لیکس (فائل/لنک کھلا رہ گیا ہے)، غیر پکڑی گئی مستثنیات، واضح طور پر غلط حالات (>= بجائے>)، نام تبدیل کرنے کی تجاویز، پڑھنے کی اہلیت، مسنگ ایج کیس، سادہ سیکیورٹی کی بو (جیسے ایس کیو ایل سٹرنگ کنکٹنیشن)، ڈپلیکیٹ کوڈ کا پتہ لگانا۔
کمزوریاں: گہری خامیاں جو آپ کے کاروباری اصول کی خلاف ورزی کرتی ہیں لیکن سیاق و سباق اور وقت کی ضرورت ہوتی ہے، جیسے کہ مصنوعی طور پر درست منطق، تعمیراتی تعمیل، حقیقی کارکردگی میں رکاوٹیں، ہم آہنگی کی غلطیاں۔ AI جھوٹے مثبت (کسی ایسی چیز کو غلط سمجھنا جو درحقیقت کسی مسئلے کا مسئلہ نہیں ہے) اور غلط منفی (اصلی بگ غائب) بھی پیدا کرتا ہے۔ لہذا، اس کی پیداوار ایک "احتیاط کی فہرست" ہے، ایک حتمی فیصلہ نہیں ہے.
احتیاط: صرف اس وجہ سے کہ AI کہتا ہے "کوئی مسئلہ نہیں" یہ ثابت نہیں کرتا کہ کوڈ درست ہے۔ جھوٹے منفی خاموش ہیں؛ سب سے خطرناک غلطیاں وہ ہوتی ہیں جن کا جائزہ میں کبھی ذکر نہیں ہوتا۔
منظم جائزہ لینے کے اقدامات
- سیاق و سباق دیں۔ تبدیلی کا مقصد، متعلقہ مسئلہ اور قبولیت کا معیار، اگر کوئی ہے، کو پرامپٹ میں شامل کریں۔ بے مقصد جائزہ بے مقصد تشریح پیدا کرتا ہے۔
- اسے زمروں میں تقسیم کریں۔ ماڈل سے نتائج کو "بگ/سیکیورٹی/کارکردگی/پڑھنے کی اہلیت/اسٹائل" کے طور پر درجہ بندی کرنے کو کہیں۔ لہذا آپ تنقید کو شور سے الگ کرتے ہیں۔
- شدت کے لیبل کی درخواست کریں۔ ہر ایک تلاش کو "اعلی/درمیانی/کم" درجہ بندی دیں اور "وجہ" اور "تجویز کردہ اصلاح" شامل کریں۔
- اسے اپنی آنکھوں سے چھان لیں۔ ہر ایک تلاش کا اندازہ کریں: کیا یہ حقیقی ہے (تصدیق کریں)، کیا یہ غلط مثبت ہے (جواز لکھیں)، کیا کوئی چیز غائب ہے (اپنے علم میں اضافہ کریں)۔
- دستی طور پر اہم راستوں کی تصدیق کریں۔ AI پر بھروسہ کیے بغیر خود پیسے، شناخت، اجازت اور ڈیٹا کو حذف کرنے والے راستوں کو پڑھیں اور ان پر عمل کریں۔
تین چھوٹے کیسز
کیس 1 - خاموش خالی غلطی پکڑی گئی۔ ایک ٹیم نے AI کا 380 لائن PR کا پہلے سے جائزہ لیا تھا۔ ماڈل نے ایک ایسے طریقے کو جھنڈا لگایا جس میں ایک بیرونی سروس کا ردعمل کالعدم ہو سکتا ہے، لیکن کوڈ میں اس کے لیے کوئی چیک نہیں کیا گیا۔ انسانی جائزہ لینے والے نے اس راستے کی توثیق کی اور ایک کالعدم چیک شامل کیا۔ اسی طرح کی خرابی پچھلی سہ ماہی میں پیداوار میں 2 گھنٹے کی رکاوٹ کا سبب بنی۔
کیس 2 - غلط مثبت خاتمہ۔ AI نے ایک لوپ میں "ممکنہ کارکردگی کے مسئلے" کو نشان زد کیا۔ جائزہ لینے والے نے اسے غلط مثبت کے طور پر بند کر دیا، یہ جانتے ہوئے کہ لوپ صرف زیادہ سے زیادہ 5 عناصر کے ساتھ کام کرتا ہے (یہ ایک اینوم پر لوپ کرتا ہے)۔ ماڈل، جو سیاق و سباق کو نہیں جانتا تھا، خبردار کیا؛ سیاق و سباق کو جاننے والے نے درست فیصلہ کیا۔
کیس 3 - AI نے کاروباری اصول کی خرابی چھوٹ دی۔ جبکہ مہم کے اصول کے مطابق ڈسکاؤنٹ اکاؤنٹ زیادہ سے زیادہ 30% ہونا چاہیے، کوڈ نے 50% کی اجازت دی ہے۔ AI نے کبھی بھی اس مصنوعی طور پر کامل منطقی غلطی کو نہیں دیکھا۔ کیونکہ وہ اصول نہیں جانتا تھا۔ پروڈکٹ کے مالک کے جائزے میں بگ پکڑا گیا جو قبولیت کے معیار کو جانتا تھا۔ سبق: کاروباری اصولوں کی توثیق ایک انسانی کام ہے۔
چار کاپی ایبل ٹیمپلیٹس
مقصد پر مبنی، درجہ بندی کا جائزہ:
کردار: پیچیدہ کوڈ کا جائزہ لینے والا۔ تبدیلی کا مقصد: {{purpose / issue}}اس فرق کا جائزہ لیں۔ ان زمروں میں نتائج فراہم کریں: [بگ] [سیکیورٹی] [کارکردگی] [پڑھنے کی اہلیت] [انداز]۔ ہر ایک تلاش کے لیے: فائل: قطار، شدت (اعلی/درمیانی/کم)، وجہ، تجویز کردہ حل۔ اگر آپ کو یقین نہیں ہے تو "ممکن" کو نشان زد کریں۔ آپ کاروبار کے اصول نہیں جانتے۔ مجھ سے ان جگہوں کے بارے میں پوچھیں جن کے لیے قواعد کی ضرورت ہوتی ہے۔{{diff}}
اپنے کوڈ کا جائزہ لینے کی تیاری کے لیے:
PR کھولنے سے پہلے اس تبدیلی کا جائزہ لیں۔ تلاش کریں: لاپتہ null/bugcheck، resource leak، edge case، secret, untested برانچ۔ نتائج کو ترجیحی ترتیب میں درج کریں؛ ہر ایک کے لیے 1 لائن کی اصلاح تجویز کریں۔{{code}}
ایج کیس ہنٹ:
ان پٹ اور حالات کی فہرست بنائیں جہاں یہ فنکشن ٹوٹ سکتا ہے: خالی، خالی، بہت بڑا، منفی، ہم آہنگی کال، نیٹ ورک کی خرابی، جزوی ڈیٹا۔ ہر معاملے کے لیے، متوقع رویہ لکھیں اور موجودہ کوڈ کیا کرے گا۔{{function}}
سیکیورٹی سینٹ اسکیننگ (پری اسکریننگ):
اس کوڈ میں عام سیکورٹی کی بو تلاش کریں: SQL/کمانڈ کنکٹنیشن، غیر تصدیق شدہ ان پٹ، ناقابل تغیر سرایت شدہ راز، غیر محفوظ ڈیسیریلائز، استحقاق کی جانچ کی کمی۔ نتائج کو "یقینی / ممکنہ / علم" میں الگ کریں۔ یہ ایک ابتدائی اسکریننگ ہے؛ یہ کوئی حتمی حکم نہیں ہے۔{{code}}
کمزور فوری / مضبوط اشارہ
کمزور: "کیا اس PR میں کوئی غلطی ہے؟"
مضبوط: "مقصد: کوپن ڈسکاؤنٹ کو کارٹ کی کل میں شامل کریں (رعایت 30% سے زیادہ نہیں ہونی چاہیے — آپ خود اس اصول کی تصدیق نہیں کر سکتے، صرف مجھے بتائیں کہ کیا کوڈ اوپر کی حد لگاتا ہے)۔ فرق کی جانچ کریں؛ زمرہ + شدت + تجویز کردہ اصلاح کے لحاظ سے نتائج دیں، اگر یقین نہ ہو تو 'ممکن' پر نشان لگائیں۔
مضبوط ورژن AI کے ارادے، کاروباری اصول اور حد کو واضح طور پر بیان کرتا ہے۔ اس طرح، مفید نتائج آتے ہیں اور ماڈل کے لیے نامعلوم علاقہ واضح رہتا ہے۔
قسم تلاش کرنا
AI وشوسنییتا
آدمی کا کردار
کالعدم/غلطی چیک غائب ہے۔
اعلی
تصدیق کریں اور درخواست دیں۔
پڑھنے کی اہلیت/انداز
اعلی
ترجیح کے مطابق انتخاب کریں۔
سادہ حفاظتی بو
درمیانہ
حتمی شکل دیں، گاڑی سے اسکین کریں۔
کاروباری اصول کی تعمیل
کم
یہ مکمل طور پر انسان ہے۔
کنکرنسی/فن تعمیر
کم
ماہرانہ جائزہ درکار ہے۔
AI جائزہ انسانی جائزہ کا متبادل نہیں ہے۔
AI جائزے کو "پہلے فلٹر" کے طور پر رکھیں: ایک سستا، تیز، انتھک ابتدائی پاس۔ یہ فلٹر انسانی جائزہ لینے والے کی توجہ کو غیر اہم تفصیلات (ایک جگہ، ایک نام) سے آزاد کرتا ہے اور اسے ایسی جگہوں کی طرف لے جاتا ہے جہاں واقعی سوچنے کی ضرورت ہوتی ہے—کاروباری اصول، فن تعمیر، حفاظتی نتیجہ۔ لیکن انضمام کی منظوری ٹیم کے اندر ایک جوابدہ شخص کے دستخط ہیں۔ حفاظتی اہم تبدیلیوں کے لیے کم از کم ایک قابل انجینئر کی طرف سے آزادانہ جائزہ لازمی ہے۔
مشورہ: ان نتائج کی فہرست پڑھیں جو AI "کرنے کے لیے" کے بجائے "چیک کرنے کے لیے چیزوں" کے طور پر تیار کرتی ہے۔ یا تو ہر آئٹم کی تصدیق اور اطلاق کریں یا ایک جملے میں لکھیں کہ آپ نے اسے کیوں پاس کیا؛ یہ ٹریس جائزے کو قابل سماعت بناتا ہے۔
عام غلطیاں
- اس کا مطلب ہے "AI دیکھا، یہ صاف ہے"۔ یہ جھوٹے منفی کی وجہ سے اعتماد کا غلط احساس ہے۔
- سیاق و سباق نہیں دیتے۔ مقصد اور قبولیت کے معیار کے بغیر، ماڈل صرف سطحی طرز کی تشریحات تیار کرتا ہے۔
- جھوٹے مثبتات کو آنکھیں بند کرکے لاگو کرنا۔ ماڈل کے ہر انتباہ کو درست کرنے سے چل رہا کوڈ ٹوٹ سکتا ہے۔
- ماڈل سے کاروباری اصول کے بارے میں پوچھنا۔ ماڈل اصول نہیں جانتا؛ اس کی تصدیق کرنا انسان پر منحصر ہے۔
- تشدد کے ساتھ امتیازی سلوک نہ کریں۔ ایک ہی بیگ میں ایک اہم حفاظتی تلاش اور نام کی تجویز ڈالنا اہم چیز کو چھپا دیتا ہے۔
خلاصہ میں
AI کوڈ کے جائزے میں ایک انتھک پہلا فلٹر ہے: یہ null/error misses، Edge cases، اور سادہ سیکوریٹی اچھی طرح سے مہکتا ہے۔ لیکن یہ سیاق و سباق کی ضرورت والی خامیوں جیسے کہ کاروباری اصول، فن تعمیر، اور ہم آہنگی پر کمزور ہے، اور غلط مثبت اور غلط منفی دونوں پیدا کرتا ہے۔ زمرہ اور شدت کے لحاظ سے نتائج کی درخواست کریں، انسانی ذہانت سے ہر ایک کو فلٹر کریں، دستی طور پر اہم راستوں کی تصدیق کریں۔ منظوری ہمیشہ ایک جوابدہ انجینئر کے دستخط ہوتی ہے۔
درخواست کا کام
ایک حقیقی یا حالیہ PR/diff منتخب کریں۔ سب سے پہلے، AI سے "مقصد پر مبنی، زمرہ کا جائزہ" ٹیمپلیٹ کے ساتھ اس کا جائزہ لیں۔ نتائج کو ایک ٹیبل میں رکھیں اور ہر ایک کے لیے فیصلہ کریں: درست (میں نے تصدیق کی)، غلط مثبت (یہاں میرا استدلال ہے)، یا اس پر عمل درآمد کیا جائے۔ پھر خود ایک سیر کریں اور کم از کم ایک چیز (خاص طور پر کاروباری اصول یا ایج کیس) تلاش کرنے کی کوشش کریں کہ AI غائب ہے اور اسے لکھ دیں۔
چیک لسٹ
- [ ] میں AI جائزہ کو پہلے فلٹر کے طور پر استعمال کرتا ہوں، نہ کہ توثیق کے۔
- [ ] میں جائزہ کے پرامپٹ میں مقصد اور قبولیت کے معیار کو شامل کرتا ہوں۔
- [ ] میں نتائج کو شور سے زمرہ کے لحاظ سے الگ کرتا ہوں اور ان کی سختی سے خواہش کرتا ہوں۔
- میں جان بوجھ کر ہر ایک تلاش کو فلٹر کرتا ہوں تاکہ تصدیق/غلط مثبت/درخواست ہو۔
- ایک انسان کے طور پر، میں کاروباری اصول اور تعمیراتی تعمیل کو چیک کرتا ہوں۔
- حفاظت کے لحاظ سے اہم تبدیلیوں کے لیے مجھے اہل انجینئر سے منظوری درکار ہے۔