𝗬𝗼𝘂𝗿 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁 𝗪𝗶𝗹𝗹 𝗗𝗼𝘂𝗯𝗹𝗲-𝗖𝗵𝗮𝗿𝗴𝗲 𝗼𝗻 𝗮 𝗟𝗼𝘀𝘁 𝗥𝗲𝘀𝗽𝗼𝗻𝘀𝗲

اگر آپ کا AI ایجنٹ کارڈ چارج کرنے کے لیے کسی ٹول کو کال کرتا ہے اور نیٹ ورک رسپانس (response) کو ڈراپ کر دیتا ہے، تو آپ کا ایجنٹ بری طرح ناکام ہو جاتا ہے۔ وہ جانے بغیر کہ ایسا ہو رہا ہے، کسٹمر سے ڈبل چارج کر لیتا ہے۔

رقم پہلے ہی منتقل ہو چکی ہوتی ہے۔ ایجنٹ کو کبھی "ok" سنائی نہیں دیتا۔ وہ وہی کرتا ہے جو ہر ری ٹرائی لوپ (retry loop) کرتا ہے: وہ دوبارہ کوشش کرتا ہے۔ وہ وہی پرامپٹ (prompt) اور وہی آرگومنٹ (arguments) استعمال کرتا ہے۔ اس سے دوسرا چارج ہو جاتا ہے۔

ری ٹرائی (retry) کوئی نیٹ ورک ایونٹ نہیں ہے۔ یہ ایک ایسے سائیڈ ایفیکٹ (side effect) کے بارے میں فیصلہ ہے جو شاید پہلے ہی ہو چکا ہو۔

بیک آف (backoff) اور جیٹر (jitter) جیسے معیاری ری ٹرائی ٹولز ری ٹرائیز کو باادب بناتے ہیں۔ وہ ڈبل چارجز کو روکنے کے لیے کچھ نہیں کرتے۔

آپ کو ایک آئیڈیمپوٹینسی لیجر (idempotency ledger) کی ضرورت ہے۔ یہ ایک منفرد کی (unique key) کا استعمال کرتا ہے تاکہ اس بات کو یقینی بنایا جا سکے کہ کوئی عمل زیادہ سے زیادہ ایک بار ہو۔

ٹول کال کے ناکام ہونے کے دو طریقے ہیں:

ایجنٹ کے لیے، یہ دونوں ایک جیسے نظر آتے ہیں۔ دونوں ٹائم آؤٹ (timeout) یا ڈراپ شدہ کنکشن کی طرح لگتے ہیں۔

اگر کسی ٹول کا کوئی سائیڈ ایفیکٹ ہے جیسے کہ پیمنٹ، ای میل، یا ری فنڈ، تو آپ سادہ ری ٹرائیز پر بھروسہ نہیں کر سکتے۔ آپ کو آئیڈیمپوٹینسی کی (idempotency key) استعمال کرنی چاہیے۔

اسے کیسے ٹھیک کریں:

"at-least-once" کو "exactly-once" سمجھنے کی غلطی نہ کریں۔ ڈسٹری بیوٹڈ سسٹمز (distributed systems) میں، آپ "exactly-once" حاصل کرتے ہیں "at-most-once" ڈیلیوری کو "at-least-once" ری ٹرائیز اور ایک ڈی ڈپلیکیشن لیجر (deduplication ledger) کے ساتھ ملا کر۔

رائٹس (writes) کے ساتھ ریڈز (reads) جیسا سلوک کرنا بند کریں۔ ریڈ کو ری ٹرائی کرنا مفت ہے۔ رائٹ کو ری ٹرائی کرنے کی قیمت چکانی پڑتی ہے۔

Source: https://dev.to/0012303/your-ai-agent-will-double-charge-on-a-lost-response-5eed

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