మీ AI ఏజెంట్ రెస్పాన్స్ కోల్పోయినప్పుడు డబుల్-ఛార్జ్ చేసే ప్రమాదం ఉంది

మీ AI ఏజెంట్ ఒక కార్డును ఛార్జ్ చేయడానికి ఒక టూల్‌ను పిలిచినప్పుడు, నెట్‌వర్క్ రెస్పాన్స్‌ను కోల్పోతే, మీ ఏజెంట్ సరిగ్గా పనిచేయదు. అది తెలియకుండానే కస్టమర్‌ను డబుల్-ఛార్జ్ చేస్తుంది.

డబ్బు ఇప్పటికే బదిలీ అయిపోయింది. ఏజెంట్‌కు "ok" అనే సమాచారం అందలేదు. ప్రతి రిట్రై లూప్ (retry loop) చేసేదే అది కూడా చేస్తుంది: మళ్ళీ ప్రయత్నిస్తుంది. అది అదే ప్రాంప్ట్ మరియు అదే ఆర్గ్యుమెంట్లను ఉపయోగిస్తుంది. దీనివల్ల రెండోసారి ఛార్జ్ అవుతుంది.

రిట్రై అనేది కేవలం నెట్‌వర్క్ ఈవెంట్ కాదు. ఇది ఇప్పటికే జరిగి ఉండవచ్చని అనుమానించే ఒక సైడ్ ఎఫెక్ట్ (side effect) గురించి తీసుకునే నిర్ణయం.

backoff మరియు jitter వంటి ప్రామాణిక రిట్రై టూల్స్ రిట్రైలను క్రమబద్ధీకరిస్తాయి. అవి డబుల్-ఛార్జ్‌లను ఆపడానికి ఏమీ చేయలేవు.

మీకు ఒక idempotency ledger అవసరం. ఇది ఒక యాక్షన్ గరిష్టంగా ఒకసారి మాత్రమే జరిగేలా చూడటానికి ఒక యూనిక్ కీని (unique key) ఉపయోగిస్తుంది.

టూల్ కాల్ విఫలమయ్యే రెండు మార్గాలు ఉన్నాయి:

ఏజెంట్‌కు ఇవి రెండూ ఒకేలా కనిపిస్తాయి. రెండూ టైమ్ అవుట్ (timeout) లేదా కనెక్షన్ తెగిపోయినట్లుగానే కనిపిస్తాయి.

ఒక టూల్‌కు పేమెంట్, ఈమెయిల్ లేదా రీఫండ్ వంటి సైడ్ ఎఫెక్ట్స్ ఉంటే, మీరు సాధారణ రిట్రైలపై ఆధారపడలేరు. మీరు తప్పనిసరిగా idempotency కీని ఉపయోగించాలి.

దీనిని ఎలా పరిష్కరించాలి:

"at-least-once" ను "exactly-once" అని పొరపడకండి. డిస్ట్రిబ్యూటెడ్ సిస్టమ్స్‌లో, at-most-once డెలివరీని, at-least-once రిట్రైలు మరియు ఒక డూప్లికేషన్ లెడ్జర్‌తో కలిపి ఉపయోగించడం ద్వారా మీరు "exactly-once" సాధించవచ్చు.

రైట్స్ (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