Wakala wako wa AI atakutoza mara mbili pindi jibu linapopotea

Ikiwa wakala wako wa AI anaita kifaa (tool) ili kutoza kadi na mtandao ukapoteza jibu, wakala wako atafeli vibaya. Atamtoza mteja mara mbili bila kujua.

Pesa tayari imeshasogezwa. Wakala hajawahi kusikia "ok." Anafanya kile ambacho kila mzunguko wa kujaribu tena (retry loop) hufanya: anajaribu tena. Anatumia prompt ile ile na hoja (arguments) zile zile. Hii inasababisha malipo ya pili.

Kujaribu tena (retry) si tukio la mtandao. Ni uamuzi kuhusu athari ya pembeni (side effect) ambayo inaweza kuwa tayari imetokea.

Zana za kawaida za kujaribu tena kama backoff na jitter hufanya majaribio yawe ya staha. Hazifanyi lolote kuzuia malipo mara mbili.

Unahitaji daftari la idempotency (idempotency ledger). Hili hutumia funguo ya kipekee (unique key) kuhakikisha kitendo hutokea mara moja tu kwa wakati mmoja.

Kuna njia mbili ambazo mwito wa kifaa (tool call) hufeli:

Kwa wakala, haya yanaonekana kuwa sawa. Yote yanaonekana kama timeout au muunganisho uliokatika.

Ikiwa kifaa kina athari ya pembeni kama malipo, barua pepe, au marejesho (refund), huwezi kutegemea majaribio rahisi ya kujaribu tena. Lazima utumie funguo ya idempotency (idempotency key).

Jinsi ya kurekebisha hili:

Usichanganye "angalau mara moja" (at-least-once) na "mara moja tu" (exactly-once). Katika mifumo iliyosambazwa (distributed systems), unapata "mara moja tu" kwa kuchanganya uwasilishaji wa "zisizozidi mara moja" (at-most-once) na majaribio ya "angalau mara moja" pamoja na daftari la kuondoa marudio (deduplication ledger).

Acha kutendea maandishi (writes) kama usomaji (reads). Kujaribu tena usomaji ni bure. Kujaribu tena maandishi kuna gharama.

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

Jumuia ya hiari ya kujifunza: https://t.me/GyaanSetuAi