ایجنٹ ٹول کالز کے لیے محدود ری ٹرائیز (Bounded Retries For Agent Tool Calls)

ہمارے ایجنٹ کی وجہ سے ہونے والا بدترین واقعہ کوئی غلط جواب دینا نہیں تھا۔ بلکہ وہ ایک لوپ (loop) تھا۔

ایک ٹول کال فیل ہو گئی۔ ایجنٹ نے دوبارہ کوشش کی۔ ری ٹرائی دوبارہ فیل ہو گئی۔ ایجنٹ مسلسل کوشش کرتا رہا۔ اس نے ٹوکنز ضائع کیے اور ایک منٹ میں سینکڑوں بار ہماری API کو کال کیا۔

ایجنٹ نے وہی کیا جو ہم نے اسے کرنے کو کہا تھا۔ ہم نے اسے کہا تھا کہ اگر کوئی ٹول فیل ہو جائے تو دوبارہ کوشش کرے۔ ہم اسے یہ بتانا بھول گئے کہ اسے کب رکنا ہے۔

عارضی غلطیوں کے لیے ری ٹرائیز (retries) اچھی ہوتی ہیں۔ مسئلہ یہ ہے کہ ایجنٹس عارضی غلطی اور مستقل غلطی میں فرق نہیں کر سکتے۔ حد (limits) کے بغیر، ایک ایجنٹ ایک خراب کال کو تب تک دہراتا رہتا ہے جب تک کہ کوئی چیز اسے روک نہ دے۔

روایتی کوڈ میں ری ٹرائی کی حدیں (retry limits) استعمال ہوتی ہیں۔ ایجنٹ ٹول کالز نے یہ فیصلہ ماڈل کی منطق (reasoning) کے سپرد کر دیا۔ اس سے یہ لوپ نظر نہ آنے والا اور غیر محدود ہو گیا۔

ہم نے ماڈل سے باہر دو بجٹ (budgets) شامل کر کے اس مسئلے کو حل کیا:

• فی کال حد (Per-call cap): ایک مخصوص ٹول کو کوششوں کی ایک مقررہ تعداد دی جاتی ہے۔ اگر وہ فیل ہو جائے، تو ایجنٹ کو کوئی دوسرا راستہ اختیار کرنا ہوگا۔ • فی سیشن بجٹ (Per-session budget): پورے ٹاسک کے لیے کل ٹول کالز کی ایک حد ہوتی ہے۔ اگر ایجنٹ اس حد تک پہنچ جائے، تو وہ رک جاتا ہے اور مدد مانگتا ہے۔

حد بذاتِ خود حل نہیں ہے۔ اصل اہمیت اس بات کی ہے کہ حد ختم ہونے کے بعد کیا ہوتا ہے۔

اگر آپ صرف روک دیں گے، تو ایجنٹ پھنس جائے گا۔ اس کے بجائے، ہم ایجنٹ کو ایک واضح پیغام دیتے ہیں۔ ہم اسے بتاتے ہیں کہ کال فیل ہو گئی ہے اور اسے دوبارہ کوشش نہیں کرنی چاہیے۔ یہ ایک لوپ کو ایک فیصلے میں بدل دیتا ہے۔ عام طور پر، ایجنٹ پھر ایک نیا طریقہ اختیار کرتا ہے۔

جب سے ہم نے یہ شامل کیا ہے، ٹول کے غلط استعمال سے پیدا ہونے والے لوپس تقریباً ختم ہو گئے ہیں۔ جب یہ ہوتے بھی ہیں، تو یہ بڑے API بلز بنانے کے بجائے منظم طریقے سے ختم ہو جاتے ہیں۔

صحیح حد کا تعین کرنا مشکل ہے۔ بہت سخت حد طویل ٹاسک کو روک دیتی ہے۔ بہت نرم حد مہنگے لوپس کی اجازت دیتی ہے۔ ہم اپنی حدیں 95 ویں پرسنٹائل (95th percentile) ٹاسک کی لمبائی کی بنیاد پر مقرر کرتے ہیں۔

کیا آپ کے پاس ان بجٹس کو مقرر کرنے کا کوئی بہتر طریقہ ہے؟ مجھے کمنٹس میں بتائیں۔

Source: https://dev.to/james_oconnor_dev/bounded-retries-for-agent-tool-calls-the-budget-that-stopped-our-infinite-loop-incidents-4354

Optional learning community: https://t.me/GyaanSetuAi