کوئی بھی ایجنٹ اپنا ہوم ورک خود چیک نہیں کرتا
آپ کلود (Claude) سے اپنے کوڈ کا جائزہ لینے کو کہتے ہیں۔ وہ کہتا ہے کہ کوڈ بالکل ٹھیک ہے۔ ظاہر ہے کہ وہ ایسا ہی کہے گا۔ اس نے یہ کوڈ پانچ منٹ پہلے ہی لکھا تھا۔ آپ نے مصنف سے اپنے ہی پیپر کو گریڈ کرنے کو کہا۔ اس نے خود کو 'A' گریڈ دے دیا۔
AI کوڈ ریویوز کام کرتے ہیں۔ وہ اس وقت ناکام ہو جاتے ہیں جب آپ مصنف سے اپنے ہی کام کا جائزہ لینے کو کہتے ہیں۔ معیار ایک ایسے ڈھانچے (architecture) سے آتا ہے جہاں کوئی بھی کردار خود کو چیک نہیں کرتا۔
2024 کی تحقیق سے 'سیلف پریفرنس بائیس' (self-preference bias) کا پتہ چلتا ہے۔ ایک ماڈل اپنے ہی آؤٹ پٹ کو اسی معیار کے دوسرے آؤٹ پٹس کے مقابلے میں زیادہ درجہ دیتا ہے۔ ماڈل اپنے ہی انداز کو پہچان لیتا ہے اور اسے ترجیح دیتا ہے۔
"لکھیں، پھر جو لکھا ہے اس کا جائزہ لیں" والا چکر ٹوٹ چکا ہے۔ آپ کو جائزہ (review) نہیں ملتا، بلکہ آپ کو جواز (justification) ملتا ہے۔ ایجنٹ پہلے ہی فیصلہ کر چکا ہوتا ہے کہ کوڈ اچھا تھا۔ دوبارہ پوچھنے سے صرف اسی فیصلے کی تصدیق ہوتی ہے۔
بہتر ایجنٹ ورک فلو بنانے کے لیے ان اصولوں پر عمل کریں:
- ریویو کرنے والا کبھی بھی مصنف نہیں ہونا چاہیے۔ اسٹائل کی پہچان کو توڑنے کے لیے ریویو کرنے کے لیے کسی دوسرے ماڈل فیملی کا استعمال کریں۔
- ایک صاف ستھرا سیاق و سباق (context) استعمال کریں۔ ریویو کرنے والے کو اصل امپلیمنٹیشن پرامپٹ یا مصنف کی طرف سے لگائی گئی پابندیاں نظر نہیں آنی چاہئیں۔
- شناخت ختم کر دیں۔ ریویو کرنے والے کو یہ نہ بتائیں کہ کوڈ کس نے لکھا ہے۔ مصنف کی شناخت تعصب (bias) کا باعث بنتی ہے۔
- ضرورت سے زیادہ غلطیاں نکالنے (over-flagging) سے بچیں۔ AI ریویو کرنے والے اکثر خود کو کارآمد دکھانے کے لیے مسائل ایجاد کر لیتے ہیں۔ اس سے آپ ان کی بات سننا چھوڑ دیتے ہیں۔
غلط وارننگز سے بچنے کے لیے 'رسید کا اصول' (receipt rule) استعمال کریں۔ ہر دریافت (finding) کے ساتھ ثبوت ہونا ضروری ہے اس سے پہلے کہ آپ اسے دیکھیں۔
اگر کوئی ریویو کرنے والا SQL injection کے خطرے کا دعویٰ کرتا ہے، تو اسے فراہم کرنا ہوگا:
- یوزر ان پٹ کا ایک
grep۔ - کوئری فلو (query flow) کا ایک ٹریس۔
اگر ویلیو ایک مستقل (constant) ہے، تو اس دریافت کو چھوڑ دیں۔ اگر یہ کسی HTTP ریکویسٹ سے آتی ہے، تو اسے برقرار رکھیں۔ فیصلے سے پہلے ثبوت ضروری ہے۔
اہم دریافتوں کے لیے، شکوک و شبہات رکھنے والوں (skeptics) کا ایک پینل استعمال کریں۔ ان کا کام بگ (bug) کی تصدیق کرنا نہیں ہے۔ ان کا کام اسے غلط ثابت کرنا ہے۔ انہیں یہ ثابت کرنے کی کوشش کرنی چاہیے کہ دریافت کردہ چیز بگ کیوں نہیں ہے۔ اگر اکثریت اس دریافت کو غلط ثابت نہ کر سکے، تب ہی اسے قبول کیا جائے۔
سچائی تضاد سے آتی ہے، خود اعلانی سے نہیں۔
ایک ایسا نظام بنائیں جہاں کردار کبھی ایک دوسرے کے ساتھ نہ ٹکرائیں:
- لکھنے والا کوڈ لکھتا ہے۔
- ٹیسٹر صرف سپیسیفیکیشن (spec) کی بنیاد پر ٹیسٹ لکھتا ہے۔
- ریویو کرنے والے نے کوڈ نہیں لکھا۔
- کسی بھی انسان یا LLM کے دیکھنے سے پہلے لنٹنگ (linting) اور ٹیسٹ جیسے معروضی گیٹس (objective gates) کا پاس ہونا ضروری ہے۔
ایک ایسا اصلاح کنندہ جو خود کو ہی درست کرے، وہ کچھ بھی درست نہیں کرتا۔ AI ریویو کا معیار اس بات پر منحصر ہے کہ آپ اسے کتنی بار خود کی گریڈنگ کرنے سے روکتے ہیں۔
Source: https://dev.to/ohugonnot/no-agent-grades-its-own-homework-8lb
Optional learning community: https://t.me/GyaanSetuAi
