آپ کے AI ایجنٹ کو زیادہ ذہین ہونے کی ضرورت نہیں ہے۔ اسے Idempotent ہونے کی ضرورت ہے۔
زیادہ تر پروڈکشن AI ایجنٹس خراب منطق (reasoning) کی وجہ سے ناکام نہیں ہوتے۔ وہ نیٹ ورک کی غلطیوں (network errors) کی وجہ سے ناکام ہوتے ہیں۔
ماڈل صحیح ٹول کا انتخاب کرتا ہے۔ یہ صحیح تفصیلات فراہم کرتا ہے۔ پھر، یہ ایک ہی کسٹمر سے دو بار چارج کر لیتا ہے۔
ایسا اس لیے ہوتا ہے کیونکہ 'write-capable' ایجنٹس غیر مستحکم نیٹ ورکس پر کام کرتے ہیں۔
- درخواستیں ٹائم آؤٹ ہو جاتی ہیں۔
- کنکشنز ٹوٹ جاتے ہیں۔
- فریم ورکس ان مراحل کو دوبارہ دہراتے ہیں جو پہلے ہی مکمل ہو چکے ہوتے ہیں۔
ایک 'read-only' ایجنٹ میں، دوبارہ کوشش (retry) کی کوئی قیمت نہیں ہوتی۔ لیکن ایک 'write-capable' ایجنٹ میں، دوبارہ کوشش کرنا ایک دوسرا ناقابلِ واپسی عمل (irreversible action) ہوتا ہے۔
اس کا حل idempotency ہے۔
اس عام ناکامی کو دیکھیں:
- ایجنٹ انوائس بھیجنے کے لیے ایک فنکشن کال کرتا ہے۔
- سروس انوائس تیار کرتی ہے۔
- جواب ایجنٹ تک پہنچنے سے پہلے کنکشن ٹوٹ جاتا ہے۔
- ایجنٹ ٹائم آؤٹ دیکھتا ہے اور دوبارہ کوشش کرتا ہے۔
- اب، آپ کے پاس دو انوائسز ہیں۔
ایک زیادہ ذہین ماڈل اسے ٹھیک نہیں کرے گا۔ بلکہ ایک زیادہ ذہین ماڈل ری ٹرائی (retry) کے معاملے میں زیادہ جارحانہ ہو کر صورتحال کو مزید خراب بھی کر سکتا ہے۔
آپ Stripe جیسے پیمنٹ سسٹمز سے سیکھ سکتے ہیں۔ وہ Idempotency-Key کا استعمال کرتے ہیں۔ سرور پہلی درخواست کا نتیجہ محفوظ کر لیتا ہے۔ اگر کلائنٹ دوبارہ وہی کی (key) بھیجتا ہے، تو سرور عمل کو دوسری بار چلانے کے بجائے محفوظ شدہ نتیجہ واپس کر دیتا ہے۔
ایک AI ایجنٹ کے لیے، آپ کو یہ کی (key) ارادے (intent) سے اخذ کرنی چاہیے۔
رینڈم آئی ڈیز (random IDs) استعمال نہ کریں۔ ٹول کے نام اور اس کے مستحکم پیرامیٹرز (stable parameters) کا ہیش (hash) استعمال کریں۔
مثال:
- Tool:
charge_customer - Params:
{customer_id: 42, amount: 500} - Key:
hash(tool + params)
اگر ایجنٹ بالکل وہی چارج دوبارہ کرنے کی کوشش کرتا ہے، تو کی (key) وہی رہتی ہے۔ سسٹم اسے پہچان لیتا ہے اور ڈپلیکیٹ چارجنگ کو روک دیتا ہے۔
ایک احتیاطی لفظ: آپ کی کی (key) اتنی ہی اچھی ہوگی جتنا آپ کا ایک واحد عمل (single action) کا تصور ہوگا۔
- اگر آپ اپنے ہیش میں ٹائم اسٹیمپ (timestamp) شامل کرتے ہیں، تو ہر ری ٹرائی کو ایک نئی کی ملتی ہے۔ آپ کا تحفظ ناکام ہو جاتا ہے۔
- اگر آپ LLM کے ذریعے لکھا گیا میسج باڈی شامل کرتے ہیں، تو ماڈل ایک لفظ بھی بدل سکتا ہے۔ اس سے ایک نئی کی بنتی ہے اور عمل ڈپلیکیٹ ہو جاتا ہے۔
ہمیشہ مستحکم ڈیٹا جیسے کسٹمر آئی ڈیز یا انوائس آئی ڈیز پر کی (key) بنائیں۔ ایسی ہر چیز کو نکال دیں جسے ماڈل تبدیل کر سکتا ہے۔
بہتر پرامپٹس (prompts) کے ذریعے ایجنٹ کی قابلِ اعتمادیت (reliability) کو ٹھیک کرنے کی کوشش کرنا چھوڑ دیں۔
قابلِ اعتمادیت کا مطلب ہے کہ ایک ہی فیصلے کو بار بار کرنے کی لاگت صفر کر دی جائے۔ اگر آپ کا ایجنٹ ایک ہی عمل دو بار انجام دیتا ہے، تو کچھ بھی خراب نہیں ہونا چاہیے۔
Optional learning community: https://t.me/GyaanSetuAi
