𝗦𝗰𝗼𝗿𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀: 𝗗𝗲𝘁𝗲𝗿𝗺𝗶𝗻𝗶𝘀𝘁𝗶𝗰 𝗠𝗲𝘁𝗿𝗶𝗰𝘀 + 𝗮𝗻 𝗟𝗟𝗠 𝗝𝘂𝗱𝗴𝗲
آپ بہت سے چھوٹے AI ایجنٹس چلاتے ہیں۔ آپ کے پاس بیک اینڈ (backend)، فرنٹ اینڈ (frontend)، موبائل اور ڈیواپس (devops) کے لیے ایجنٹس ہیں۔ ہر ایجنٹ کا ایک ہی کام ہوتا ہے۔
جب آپ کے پاس بہت سے ایجنٹس ہوتے ہیں، تو آپ کو ایک مسئلے کا سامنا کرنا پڑتا ہے۔ آپ کو معلوم نہیں ہوتا کہ وہ اچھے ہیں یا نہیں۔ آپ کو یہ بھی نہیں معلوم ہوتا کہ پرامپٹ (prompt) میں تبدیلی انہیں بہتر بنا رہی ہے یا بدتر۔ بڑے پیمانے پر "یہ ٹھیک لگ رہا ہے" کہنا کام نہیں آتا۔
میں نے اس مسئلے کو حل کرنے کے لیے ایک فریم ورک بنایا ہے۔ یہ کارکردگی کی پیمائش کے لیے اعداد و شمار کا استعمال کرتا ہے اور خودکار طریقے سے پرامپٹس کو بہتر بناتا ہے۔
حکمت عملی (The Strategy)
پہلے ان چیزوں کی پیمائش کریں جنہیں ریاضی کے ذریعے ناپا جا سکتا ہے۔ LLM جج کا استعمال صرف تب کریں جب بہت ضروری ہو۔ یقینی پیمانے (Deterministic metrics) تیز اور مفت ہوتے ہیں۔ جبکہ ایک LLM جج سست ہوتا ہے اور اس پر خرچہ آتا ہے۔
سسٹم کیسے کام کرتا ہے:
• ہارس (harness) ہر ایجنٹ کو ایک الگ پروسیس کے طور پر چلاتا ہے۔ • یہ ایجنٹ کو ایک ٹاسک فراہم کرتا ہے۔ • یہ آؤٹ پٹ کو محفوظ کرتا ہے۔ • یہ متوقع ڈیٹا کے مقابلے میں نتیجے کو اسکور کرتا ہے۔
ایجنٹ کو صرف stdin سے پڑھنے اور stdout پر لکھنے کی ضرورت ہوتی ہے۔ یہ Python یا شیل اسکرپٹ (shell script) ہو سکتا ہے۔ ہارس (harness) کو اس سے کوئی فرق نہیں پڑتا۔
ٹریک کرنے کے لیے پانچ بنیادی پیمانے:
- درستگی (Accuracy): کیا آؤٹ پٹ مقصد کے مطابق ہے؟
- فزی اسکور (Fuzzy score): متن ٹارگٹ سے کتنا ملتا جلتا ہے؟
- ٹائم آؤٹ ریٹ (Timeout rate): ایجنٹ کتنی بار کام مکمل کرنے میں ناکام رہتا ہے؟
- حفاظتی خلاف ورزیاں (Safety violations): کیا آؤٹ پٹ غیر محفوظ پیٹرنز سے مطابقت رکھتا ہے؟
- دوبارہ پیدا کرنے کے تغیر (Reproducibility variance): کیا ایجنٹ ہر بار ایک ہی جواب دیتا ہے؟
اگر کوئی ایجنٹ درست ہے لیکن غیر مستقل (inconsistent) ہے، تو یہ ایک بگ (bug) ہے۔
LLM جج
کچھ چیزوں کو ریاضی کے ذریعے ناپنا مشکل ہوتا ہے۔ آپ کو یہ جاننے کی ضرورت ہوتی ہے کہ آیا ایجنٹ نے اپنے کردار کو برقرار رکھا یا پابندیوں (constraints) پر عمل کیا۔
ان معاملات کے لیے، ایک LLM جج کام کا جائزہ لیتا ہے۔ اسے ایک ربرک (rubric) اور ایجنٹ کا آؤٹ پٹ ملتا ہے۔ یہ ایک منظم فیصلہ (structured verdict) واپس کرتا ہے۔ میں اس فیصلے کو JSON schema کے خلاف درست ثابت کرتا ہوں تاکہ رپورٹ خراب نہ ہو۔
جج صرف گریڈنگ سے زیادہ کام کرتا ہے۔ اسے اصلاحات تجویز کرنی چاہئیں۔ "یہ کمزور ہے" جیسی تنقید بیکار ہے۔ "پرامپٹ میں ایک JSON بلاک شامل کریں" جیسی تنقید قابلِ عمل ہے۔
بہتری کا لوپ (The Improvement Loop)
ناکامیوں کو ایک فائل میں جمع کیا جاتا ہے۔ یہ فائل ایک خودکار لوپ کو فراہم کی جاتی ہے۔ سسٹم پرامپٹ کے کمزور ترین حصے کو دیکھتا ہے اور اسے ٹھیک کرنے کی کوشش کرتا ہے۔ یہ اچھے امیدواروں کا ایک پول (pool) رکھتا ہے۔ یہ بہترین ورژنز کو دوبارہ کوڈ میں لکھ دیتا ہے۔
ایک واحد اسکور صرف ایک لمحے کی تصویر ہے۔ رجحانات (trends) کو ٹریک کرنے کے لیے ہسٹری کا استعمال کریں۔ یہ آپ کو بتاتا ہے کہ کیا آپ وقت کے ساتھ بہتر ہو رہے ہیں۔
اپنی بنیاد یقینی پیمانوں (deterministic metrics) پر رکھیں۔ جج کو ہتھوڑے کے بجائے سرجیکل چھری (scalpel) کے طور پر استعمال کریں۔
ماخذ: https://dev.to/pponali/scoring-ai-agents-deterministic-metrics-an-llm-judge-poj
اختیاری سیکھنے کی کمیونٹی: https://t.me/GyaanSetuAi