AgentInspect ڈویلپرز کو ایک AI ایجنٹ کے مرحلہ وار اقدامات کو JSONL لاگز کے طور پر محفوظ کرنے کی اجازت دیتا ہے، جس سے یہ تصدیق کرنا ممکن ہو جاتا ہے کہ مطلوبہ ٹولز چلے ہیں – اور یہ سب کچھ اسٹیک میں OpenTelemetry کو شامل کیے بغیر ممکن ہے۔

Vercel AI SDK پر مبنی موسم چیک کرنے کی ایک مثال کے ساتھ کیے گئے ایک فوری ٹیسٹ میں، AgentInspect نے ایک "خاموش ناکامی" (silent failure) کی نشاندہی کی: حتمی جواب درست تھا، لیکن weather-tool کا کال کبھی ہوا ہی نہیں تھا۔ لائبریری کے پروسیس لیول چیک نے اس مسئلے کو پکڑ لیا جسے ایک عام آؤٹ پٹ ٹیسٹ نظر انداز کر دیتا۔

ایگزیکیوشن پاتھ (execution path) کیوں اہم ہے

ایک AI ایجنٹ کا جواب ایک ایسی زنجیر کا آخری نتیجہ ہوتا ہے جس میں متعدد ماڈل انویکیشنز (model invocations) اور بیرونی ٹول کالز شامل ہو سکتی ہیں۔ اگر کسی پرامپٹ سے لائیو ڈیٹا حاصل کرنے کی توقع ہو، تو اس ڈیٹا کی عدم موجودگی خطرے کے پروفائل کو بدل دیتی ہے، چاہے متن درست ہی کیوں نہ لگ رہا ہو۔ جواب کی سطح پر کیے جانے والے ٹیسٹ ایسے بگ کو پروڈکشن میں نظر انداز ہونے کے ساتھ داخل ہونے دیتے ہیں جو کسی اہم مرحلے کو چھوڑ دیتا ہے۔

AgentInspect کیا کرتا ہے

  • ہلکا پھلکا ریکارڈنگ (Lightweight recording) – ایک TypeScript اڈاپٹر ایجنٹ کوڈ کے ساتھ جڑ جاتا ہے اور ہر ماڈل کال، ٹول انویکیشن، اور ان کی ترتیب کو ایک لائن-ڈیلیمیٹڈ JSON (JSONL) فائل میں لکھتا ہے۔
  • رول انجن (Rule engine) – ڈویلپرز سادہ شرائط (predicates) کا اعلان کرتے ہیں جیسے کہ "weather tool کو کال کیا جانا چاہیے" یا "finance API کا استعمال نہیں کیا جانا چاہیے"۔ لائبریری ہر رن کے بعد ان قوانین کا جائزہ لیتی ہے۔
  • CLI انسپیکشن (CLI inspection) – ناکام ہونے والے رنز فائلوں کے طور پر محفوظ کیے جاتے ہیں جنہیں بلٹ ان کمانڈ لائن ٹول ایگزیکیوشن ٹریس کے انسانی طور پر پڑھنے کے قابل ری پلے کے لیے کھول سکتا ہے۔

چونکہ لاگز مقامی فائلیں ہیں، اس لیے ٹریسنگ بیک اینڈ، نیٹ ورک کنفیگریشن، یا کسی علیحدہ آبزرویبلٹی سروس کی ضرورت نہیں ہے۔

ٹیسٹ کیسے سیٹ اپ کیا گیا

  1. پروسیس چیک (Process checks) – ایک رول نے تصدیق کی کہ weather-tool اینڈ پوائنٹ کو کال کیا گیا تھا۔
  2. جواب چیک (Answer checks) – ایک علیحدہ اسرشن (assertion) نے تیار کردہ متن کا موازنہ مطلوبہ انڈور سیر و تفریح کی سفارش سے کیا۔

دو منظرنامے (scenarios) چلائے گئے:

منظرنامہ (Scenario) جواب چیک (Answer check) پروسیس چیک (Process check)
ہیپی پاتھ (موسم حاصل کیا گیا) پاس (Pass) پاس (Pass)
موسم چھوڑ دیا گیا (ٹول کبھی کال نہیں ہوا) پاس (Pass) فیل (Fail)

دوسرا رن پروسیس چیک کی اہمیت کو ظاہر کرتا ہے: جواب ٹھیک لگ رہا تھا، لیکن ٹول کال کی کمی نے ایک چھپے ہوئے نقص کی نشاندہی کی۔

AgentInspect بمقابلہ Promptfoo

Promptfoo، جو کہ ایک زیادہ مستحکم ٹیسٹنگ فریم ورک ہے، OpenTelemetry کے ذریعے ٹریسز کو کیپچر کرتا ہے۔ یہ طریقہ ان ٹیموں کے لیے اچھا کام کرتا ہے جو پہلے سے ہی ٹیلی میٹری ڈیٹا کو کسی کلیکٹر کو بھیجتی ہیں، لیکن یہ کنفیگریشن کا بوجھ اور ٹریسنگ انفراسٹرکچر پر انحصار بڑھا دیتا ہے۔

AgentInspect ڈویلپمنٹ کے ابتدائی مراحل کے لیے محسوس ہوتا ہے، لیکن اسے سیٹ اپ کرنا بہت آسان ہے۔

کن کو اس کی فکر ہونی چاہیے

  • CI پائپ لائنز (CI pipelines) – ایک ایسا مرحلہ شامل کرنا جو AgentInspect کو چلاتا ہے اور رول کی خلاف ورزی پر بلڈ کو فیل کر دیتا ہے، خاموش بگ کو مکمل رکاوٹ میں بدل دیتا ہے۔
  • ڈی بگنگ (Debugging) – کالز کے عین مطابق تسلسل کو ری پلے کرنے کے لیے JSONL لاگز کو مقامی طور پر کھولا جا سکتا ہے، جس سے ریموٹ ٹریس ڈیش بورڈز میں تلاش کرنے کے مقابلے میں وقت کی بچت ہوتی ہے۔
  • پروڈکٹ ٹیمیں (Product teams) – یہ جاننا کہ فیچر ریلیز کرنے سے پہلے ڈیٹا کا اہم حصول (fetch) حقیقت میں ہوا ہے، بعد میں صارفین کی شکایات کے خطرے کو کم کرتا ہے۔

خلاصہ: جب ایک AI ایجنٹ کی درستی صرف حتمی متن پر نہیں بلکہ اس کے کیے گئے اقدامات پر منحصر ہو، تو AgentInspect جیسا ہلکا پھلکا ریکارڈر مکمل ٹریسنگ اسٹیک کے بوجھ کے بغیر، چھپے ہوئے پروسیس بگ کو واضح اور قابلِ ٹیسٹ ناکامیوں میں بدل سکتا ہے۔