Tu agente de IA realizará un doble cargo ante una respuesta perdida

Si tu agente de IA llama a una herramienta para cobrar una tarjeta y la red pierde la respuesta, tu agente fallará de forma deficiente. Realizará un doble cargo al cliente sin saberlo.

El dinero ya se movió. El agente nunca escuchó un "ok". Hace lo que hace cualquier bucle de reintento: lo intenta de nuevo. Utiliza el mismo prompt y los mismos argumentos. Esto provoca un segundo cargo.

Un reintento no es un evento de red. Es una decisión sobre un efecto secundario que puede haber ocurrido ya.

Las herramientas de reintento estándar, como el backoff y el jitter, hacen que los reintentos sean educados. No hacen nada para evitar los dobles cargos.

Necesitas un registro de idempotencia (idempotency ledger). Este utiliza una clave única para garantizar que una acción ocurra como máximo una vez.

Hay dos formas en las que falla la llamada a una herramienta:

Para un agente, ambos parecen idénticos. Ambos parecen un timeout o una conexión perdida.

Si una herramienta tiene un efecto secundario como un pago, un correo electrónico o un reembolso, no puedes confiar en reintentos simples. Debes usar una clave de idempotencia (idempotency key).

Cómo solucionar esto:

No confundas "al menos una vez" (at-least-once) con "exactamente una vez" (exactly-once). En sistemas distribuidos, obtienes "exactamente una vez" combinando la entrega "como máximo una vez" (at-most-once) con reintentos "al menos una vez" y un registro de deduplicación.

Deja de tratar las escrituras como lecturas. Reintentar una lectura es gratis. Reintentar una escritura cuesta dinero.

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

Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi