CloudWatch کے ذریعے AI Agents کی نگرانی کرنا

ہر ایجنٹ کال کو ڈیٹا بیس میں لاگ کرنا نگرانی نہیں ہے۔ یہ محض اسٹوریج ہے۔

اگر آپ کو یہ دیکھنے کے لیے کہ آیا آپ کا summarizer سست ہے، رات 2:00 بجے SQL queries چلانی پڑتی ہیں، تو آپ observability میں ناکام ہو چکے ہیں۔ آپ کو ڈیش بورڈز اور الارمز کی ضرورت ہے، ڈیٹا بیس کی روز (rows) کی نہیں۔

میں نے بغیر کسی لیٹنسی (latency) یا پیچیدہ کوڈ کے AI agents کی نگرانی کرنے کے دو طریقے تلاش کیے ہیں۔

1. ناکامی کے طریقوں (Failure Modes) کے لیے Metric Filters کا استعمال کریں

بجٹ کی حد (budget caps) یا سروس تھروٹلنگ (service throttling) جیسے ناکامی کے طریقے پوشیدہ نہیں ہونے چاہئیں۔ کسی API کو کال کرنے کے لیے نیا کوڈ نہ لکھیں۔ اس کے بجائے، اپنے موجودہ لاگز (logs) کا استعمال کریں۔

جب بجٹ کی حد ختم ہو جاتی ہے، تو آپ کا کوڈ ایک ایرر (error) لاگ کرتا ہے۔ آپ ان لاگز کو اسکین کرنے کے لیے CloudWatch Metric Filter سیٹ اپ کر سکتے ہیں۔ اگر پیٹرن میچ ہو جائے، تو CloudWatch ایک میٹرک (metric) میں اضافہ کر دیتا ہے۔

یہ طریقہ سستا ہے۔ اس کے لیے کسی اضافی IAM permissions کی ضرورت نہیں ہے اور یہ آپ کے ایجنٹ میں کوئی لیٹنسی (latency) شامل نہیں کرتا۔

اس کا استعمال کریں:

  • ماہانہ لاگت کی حد تک پہنچنا
  • Bedrock throttling errors
  • عام ایجنٹ کی ناکامیاں

2. کارکردگی کے ڈیٹا (Performance Data) کے لیے EMF کا استعمال کریں

اگر آپ لیٹنسی (latency)، ٹوکن کے استعمال، یا فی ایجنٹ لاگت کو ٹریک کرنا چاہتے ہیں، تو Metric Filters کافی نہیں ہیں۔ آپ کو dimensions کی ضرورت ہے۔

PutMetricData کا استعمال نہ کریں۔ یہ ایک synchronous network call ہے۔ یہ آپ کی درخواست میں 30ms سے 80ms کا اضافہ کر دیتا ہے۔ اگر CloudWatch خود لوڈ کے تحت ہو تو یہ ناکام بھی ہو سکتا ہے۔

اس کے بجائے، Embedded Metric Format (EMF) کا استعمال کریں۔

آپ stdout پر JSON کی ایک لائن لکھتے ہیں۔ CloudWatch خود بخود انہیں dimensions کے ساتھ میٹرکس کے طور پر نکال لیتا ہے۔

ایک JSON لائن کے ساتھ، آپ کو ملتا ہے:

  • کل انویکیشنز (Total invocations)
  • ایرر ریٹس (Error rates)
  • لیٹنسی (P95)
  • ان پٹ اور آؤٹ پٹ ٹوکنز
  • فی ماڈل اور فی ایجنٹ لاگت

موثر Observability کے اصول

  • ایک لائن جاری کریں اور CloudWatch کو کام کرنے دیں۔
  • ٹیلی میٹری (telemetry) کو کبھی بھی اپنے ایجنٹ کو خراب نہ کرنے دیں۔ اپنی میٹرک کالز کو try-except بلاکس میں لپیٹیں۔
  • صرف ایک واقعے پر نہیں بلکہ اچانک ہونے والے اضافے (bursts) پر الارم لگائیں۔ ایک تھروٹل (throttle) نارمل ہے۔ پانچ منٹ میں دس تھروٹلز ایک حادثہ (incident) ہے۔
  • مخصوص ایجنٹس کے لیے dimensions استعمال کریں، لیکن سسٹم کے پیمانے پر لیٹنسی کے لیے aggregates استعمال کریں۔
  • ایررز کو کوڈ کے ذریعے میچ کریں، ٹیکسٹ اسٹرنگز کے ذریعے نہیں۔

آپ صرف لاگز اور EMF کا استعمال کرتے ہوئے $0 میں ایک پروفیشنل مانیٹرنگ اسٹیک بنا سکتے ہیں۔

ماخذ: https://dev.to/aws-builders/monitorear-agentes-de-ia-con-cloudwatch-45c4

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi