Estrategia de reintento de API de IA es la política que decide qué debe hacer tu aplicación después de que una solicitud a un modelo falle, se ralentice o devuelva un resultado parcial. La política incorrecta es costosa: si reintentas cualquier error, multiplicas la presión sobre la cuota; si cambias de modelo demasiado pronto, alteras la calidad de la respuesta; si encolas trabajo interactivo, los usuarios esperan; si fallas abierto ante fallos de seguridad o autenticación, ocultas un incidente real.
Esta guía es una escalera práctica de decisiones para equipos de producción que usan una pasarela de IA, un enrutador multproveedor o una URL base compatible con OpenAI. Cubre cuándo reintentar con el mismo proveedor, cuándo cambiar de modelo, cuándo poner trabajo en cola y cuándo fallar cerrado. El objetivo de una estrategia de reintento de API de IA no es lograr que cada solicitud tenga éxito a cualquier coste. El objetivo es recuperarse de fallos transitorios sin enmascarar solicitudes incorrectas, problemas de autenticación, agotamiento de cuota, reversiones inseguras o incidentes de enrutamiento.
Flatkey encaja en este problema porque el texto público de su producto se centra en una sola clave de API, una URL base compatible con OpenAI en https://router.flatkey.ai/v1, precios claros, facturación unificada y un panel único para claves, uso y enrutamiento. Flatkey también describe conmutación automática y equilibrio de carga. Aun así, esas funciones necesitan una política de reintento explícita para que los equipos puedan explicar por qué una solicitud se reintentó, cambió de modelo, se encoló o falló cerrado.
Respuesta rápida: la escala de estrategia de reintento de la API de IA
Usa esta escala de decisión como el activo de valor para tu estrategia de reintento de la API de IA. Mantiene el comportamiento de reintento vinculado al responsable del fallo, al flujo de trabajo del usuario y al radio de explosión, en lugar de una sola regla amplia de "inténtalo de nuevo".
| Señal de fallo | Acción predeterminada | Cuándo escalar | Condición de parada |
|---|---|---|---|
| Tiempo de espera de red antes de que el proveedor aceptara la solicitud | Reintenta una vez con retroceso con jitter si la operación es idempotente o usa un ID de solicitud del cliente. | Cambia de ruta después de agotar el presupuesto de reintentos y si el destino de respaldo está aprobado para el mismo flujo de trabajo. | Detente tras el presupuesto de ruta; devuelve una respuesta controlada para reintentar más tarde. |
| Límite de tasa HTTP 429 con guía de reintento | Respeta la señal de espera devuelta, reduce la velocidad del solicitante y disminuye la concurrencia. | Encola el trabajo en segundo plano o cambia a una ruta aprobada con cuota separada. | Falla de forma cerrada si la cuota se agota, el presupuesto se limita o no queda ninguna ruta permitida. |
| HTTP 500, 502, 503, 504 o sobrecarga del proveedor | Reintenta un pequeño número de veces con retroceso exponencial y jitter. | Cambia de modelo o proveedor solo después de confirmar que el respaldo cumple las reglas de calidad y políticas. | Detente cuando la solicitud exceda los límites de latencia, tokens, costo o intentos. |
| Solicitud no válida 400, error de esquema, parámetro no compatible o desbordamiento de contexto | No reintentes sin cambios. Corrige la solicitud, reduce el contexto o devuelve un error que el usuario pueda corregir. | Enruta a un modelo con mayor contexto solo si el producto acepta el cambio de comportamiento y costo. | Falla de forma cerrada ante errores repetidos de forma de solicitud. |
| 401, 403, clave deshabilitada, IP no autorizada o fallo de permiso | Falla de forma cerrada y alerta al propietario de la clave. | Rota claves o repara el acceso a la cuenta mediante un flujo de trabajo de operador. | Nunca hagas un fallback silencioso a otra cuenta a menos que tu política de seguridad lo permita explícitamente. |
| Bloqueo de seguridad, bloqueo de política, fallo de autorización de herramienta o problema de límite de datos | Falla de forma cerrada con un mensaje seguro y registra el motivo de la política. | Escala a revisión si el bloqueo parece incorrecto o afecta al cliente. | No reintentes en un modelo menos restringido solo para obtener una respuesta. |
| La transmisión comienza y luego se detiene o se desconecta | Reintenta solo si la operación se puede reproducir de forma segura y la experiencia del usuario admite una respuesta nueva. | Cambia de ruta para solicitudes futuras después de que los registros muestren fallos repetidos a nivel de flujo. | No añadas una segunda respuesta del modelo a una respuesta entregada parcialmente a menos que la interfaz esté diseñada para ello. |
Por qué un bucle de reintentos ciegos rompe los productos de IA
La mayoría de los servicios web pueden usar un patrón estándar de reintentos para fallos transitorios. Las API de IA requieren más cuidado porque la solicitud puede ser costosa, con estado, transmitida en streaming, usar herramientas y ser sensible al modelo. Un bucle ciego de reintentos de API LLM puede crear cuatro fallos propios:
- Amplificación de cuota: reintentar 429 de forma demasiado agresiva puede consumir la misma capacidad de solicitudes o tokens que ya está limitada.
- Deriva de calidad: un modelo de respaldo puede responder de forma diferente, ignorar un patrón de herramientas o cambiar el formato de salida.
- Sorpresa de coste: un respaldo exitoso puede ser más caro que la ruta principal, especialmente para trabajos de contexto largo, razonamiento, imágenes o vídeo.
- Ocultación de incidentes: el éxito final puede ocultar cinco intentos fallidos a menos que los registros conserven la cadena de reintentos.
Por lo tanto, una buena estrategia de reintentos de API de IA es una política de enrutamiento, una política de observabilidad y una política de producto. Debe indicar qué recuperación está permitida, qué evidencia debe registrarse y qué experiencia de usuario es aceptable cuando la recuperación falla.
Clasifique el fallo antes de reintentar
Empiece toda estrategia de reintento de API de IA con una taxonomía de fallos normalizada. La documentación de los proveedores difiere, pero las categorías operativas son lo bastante estables como para convertirlas en política:
| Clase | Ejemplos | Responsable | Postura de reintento |
|---|---|---|---|
| Defecto del llamador | JSON mal formado, parámetro inválido, esquema de herramienta no compatible, contexto demasiado largo. | Aplicación o canalización de prompts. | No reintentar sin cambios. |
| Autenticación o permisos | Clave inválida, clave deshabilitada, membresía del proyecto, lista de अनुमति de IP, permiso de cuenta. | Propietario de las credenciales o de seguridad. | Fallar cerrado y alertar. |
| Límite de tasa | Solicitudes por minuto, tokens por minuto, límites de aceleración, límites de concurrencia. | Propietario del tráfico y de la cuota. | Reduzca la velocidad, ponga en cola, reduzca la concurrencia o cambie al grupo de cuotas aprobado. |
| Cuota o presupuesto agotado | Créditos agotados, límite de gasto mensual, cuota del equipo, cuota del cliente, límite de saldo prepago. | Finanzas, propietario del plan o propietario del cliente. | Fallar cerrado o poner en cola a la espera de aprobación; no gastar silenciosamente a través de otro presupuesto. |
| Fallo transitorio del proveedor | Error interno del servidor, servicio sobrecargado, error temporal de pasarela, tiempo de espera. | Proveedor o ruta de red. | Reintente con un presupuesto pequeño y luego enrute a una alternativa si está aprobada. |
| Bloqueo de política o seguridad | Bloqueo de moderación, salida restringida, límite de datos, fallo de autorización de herramienta. | Seguridad, protección o política del producto. | Fallar cerrado a menos que exista una vía de remediación aprobada por un humano. |
La guía de códigos de error de OpenAI separa los límites de tasa 429 del agotamiento de cuota, documenta los casos 500 y 503 como situaciones de reintento tras espera, y trata los problemas de autenticación como correcciones de clave u organización en lugar de candidatas a reintento. La documentación de errores de Anthropic también separa las categorías de solicitud inválida, autenticación, permisos, límite de tasa, error de API y sobrecarga. Esas distinciones son la razón por la que el código de estado por sí solo no basta; su puerta de enlace debe conservar en el registro el tipo de error del proveedor y el código de error seguro.
Cuándo reintentar el mismo modelo
Reintenta el mismo modelo cuando el fallo parezca transitorio, la solicitud pueda reproducirse de forma segura y el reintento no empeore el incidente. Esta es la parte más estrecha y útil de una estrategia de reintentos de API de IA.
Los buenos candidatos para reintentar por la misma ruta incluyen:
- Un tiempo de espera de conexión antes de que el proveedor aceptara la solicitud.
- Una respuesta temporal 500, 502, 503 o 504.
- Una respuesta de límite de tasa con una ventana de espera corta y suficiente margen de latencia restante para el usuario.
- Un fallo en la configuración de streaming antes de que se entregara cualquier token visible para el usuario.
Usa backoff exponencial con jitter en lugar de esperas sincronizadas. La guía de reintentos de Google Cloud describe el backoff exponencial truncado con jitter como la forma normal de reintento porque evita los reintentos de estampida. Para las API de IA, añade también un pequeño presupuesto de reintentos por flujo de trabajo. Una solicitud de chat interactivo podría tener uno o dos intentos. Un lote nocturno de resumen puede esperar más y reintentarse con más cuidado. Un flujo de trabajo de pago, seguridad o acción del cliente debería ser más estricto.
Cada reintento por la misma ruta debe registrar el índice del intento, la ruta, el ID de la solicitud al proveedor cuando esté disponible, el código de estado, la clase de error, el tiempo de espera y el resultado final. Combínalo con la lista de verificación de registros de observabilidad de la API de IA para que el éxito final no borre los intentos fallidos.
Cuándo cambiar de modelo o proveedor
Un intento de reintento con respaldo de modelo no es simplemente otro reintento. Cambia el modelo, el proveedor, la cuenta, la línea de costos, el comportamiento y, a veces, el límite de cumplimiento. Cambie solo cuando el respaldo esté preaprobado para ese flujo de trabajo exacto.
Cambie de modelo o proveedor cuando todo lo siguiente sea verdadero:
- La ruta primaria ha agotado su breve presupuesto de reintentos o devolvió un fallo del lado del proveedor.
- El modelo de respaldo está aprobado para la misma clase de datos, nivel de cliente, familia de endpoint, comportamiento de herramientas y formato de salida.
- El propietario del producto acepta la diferencia de calidad y la experiencia del usuario.
- El responsable de finanzas acepta la diferencia de costo y cuota.
- El registro guarda tanto la ruta solicitada como la ruta seleccionada.
No cambie cuando la solicitud esté mal formada, no autorizada, bloqueada por la política de seguridad, o vinculada a una función específica del proveedor que el respaldo no admite. La documentación de fallback de modelo de AI Gateway de Vercel describe los modelos de respaldo ordenados como una forma de recuperarse de fallos o indisponibilidad. Trátelo como un patrón público útil de enrutamiento, pero siga definiendo sus propias pruebas de aceptación antes de usar fallback en producción.
Para los compradores de Flatkey, la pregunta operativa es concreta: si una ruta ascendente tiene errores, qué rutas de respaldo están permitidas, cuántos intentos se permiten y dónde puede ingeniería ver después la cadena de rutas. El manual de balanceo de carga y failover de API de IA es la pieza complementaria para diseñar esa escalera de rutas.
Cuándo poner en cola en lugar de reintentar de forma síncrona
Pon el trabajo en cola cuando el usuario no necesite una respuesta inmediata, cuando la capacidad del proveedor esté temporalmente restringida, o cuando el volumen de solicitudes pertenezca a un flujo de trabajo por lotes. Una cola no es un fallo; es una forma de evitar que la estrategia de reintento de la API de IA choque con los límites síncronos.
La guía de límites de tasa de OpenAI distingue los límites de solicitudes síncronas del trabajo por lotes y señala que los casos de uso no inmediatos pueden usar una ejecución estilo batch sin afectar a los límites de tasa de solicitudes síncronas. El mismo principio de producto se aplica más allá de un solo proveedor: mueve el trabajo no urgente lejos del tráfico interactivo.
Los buenos candidatos para la cola incluyen:
- Enriquecimiento masivo, resumen, generación de embeddings, revisión de moderación o generación de informes.
- Tareas visibles para el cliente que ya tienen una página de estado asíncrona o un webhook.
- Rellenos y migraciones en los que la frescura se mide en minutos u horas.
- Ventanas de reintento que superan el presupuesto de latencia interactiva del usuario, pero encajan en una cola de trabajos.
Los registros de la cola deben conservar el propietario original de la solicitud, la clave de API, la política de ruta, el recuento de reintentos, el modelo solicitado, la hora de encolado, la hora del siguiente intento y el propietario del presupuesto. De lo contrario, los reintentos en cola se convierten en un coste invisible.
Cuándo fallar cerrado
Falla cerrado cuando continuar crearía ambigüedad de seguridad, cumplimiento, datos, presupuesto o riesgo de producto. Esta es la parte de una estrategia de reintentos de API de IA que evita que la ingeniería de confiabilidad se convierta en una omisión silenciosa de políticas.
Falla cerrado para:
- Claves de API inválidas o deshabilitadas, fallos de permisos del proyecto, fallos de listas de अनुमति IP y propiedad de cuenta inesperada.
- Bloqueos de seguridad, bloqueos de moderación, fallos de permisos de herramientas y errores de límites de datos.
- Agotamiento de cuota o presupuesto cuando ningún propietario del presupuesto ha aprobado desbordamiento.
- Solicitudes malformadas que se repetirían sin cambios.
- Rutas de respaldo que no han superado las comprobaciones de calidad, costo, privacidad y cumplimiento.
- Respuestas en streaming que ya entregaron contenido parcial y no pueden reproducirse limpiamente.
Fallar cerrado no significa devolver un error hostil. Significa que el sistema devuelve un mensaje controlado, registra el motivo de la detención, alerta al propietario cuando es necesario y evita un cambio de ruta oculto. Esto es especialmente importante para funciones de IA orientadas al cliente, donde un respaldo silencioso podría producir una respuesta materialmente diferente.
Una plantilla de política de reintentos para equipos de producción
Use esta plantilla para convertir la escalera en un registro de política. Es deliberadamente genérica y debe adaptarse a su pasarela, aplicación y reglas de cumplimiento.
{
"policy_id": "chat-prod-retry-v3",
"workflow": "customer-chat",
"environment": "production",
"idempotency": {
"requires_client_request_id": true,
"allow_replay_after_stream_started": false
},
"same_route_retry": {
"retryable_status_codes": [408, 429, 500, 502, 503, 504],
"max_attempts": 2,
"backoff": "exponential_with_jitter",
"max_elapsed_ms": 9000
},
"fallback": {
"enabled": true,
"allowed_reasons": ["primary_timeout", "provider_overload", "temporary_5xx"],
"blocked_reasons": ["auth_error", "invalid_request", "safety_block", "budget_exhausted"],
"allowed_models": ["approved-backup-chat-model"],
"requires_quality_eval": true,
"requires_cost_owner": true
},
"queue": {
"enabled_for": ["bulk_summary", "nightly_enrichment"],
"not_enabled_for": ["live_customer_chat"]
},
"fail_closed": {
"auth_errors": true,
"policy_errors": true,
"unapproved_fallback": true,
"quota_without_budget_owner": true
},
"logging": {
"record_attempt_chain": true,
"record_retry_after": true,
"record_requested_and_selected_route": true,
"content_logging_mode": "metadata_only"
}
}
Esto no es un contrato de la API de Flatkey. Es una plantilla de revisión para los equipos de ingeniería, producto, finanzas y seguridad. El campo más importante no es el nombre exacto del JSON; es la condición de parada explícita para cada ruta de recuperación.
Lista de verificación de implementación de Flatkey
Use esta lista de verificación al probar una estrategia de reintento de API de IA a través de Flatkey o cualquier gateway de IA:
- Empiece en staging: apunte un cliente compatible con OpenAI a
https://router.flatkey.ai/v1con una clave no productiva. - Elija un flujo de trabajo: seleccione una ruta de chat, resumen, embeddings, imágenes o vídeo en lugar de probar todos los modelos a la vez.
- Establezca un presupuesto de reintentos: defina el máximo de intentos, el tiempo máximo transcurrido y qué clases de estado o error son reintentables.
- Defina la elegibilidad de fallback: exija aprobación de producto para la calidad de salida, aprobación de finanzas para el coste y aprobación de seguridad para la clase de datos.
- Separe el tráfico de la cola: mueva los trabajos por lotes lejos de las solicitudes interactivas de los usuarios donde sea posible.
- Falle de forma cerrada ante problemas de política: no permita que fallos de autenticación, seguridad, presupuesto o forma de la solicitud se desvíen silenciosamente a otra ruta.
- Verifique los registros: confirme que el panel o los registros exportados muestran la ruta solicitada, la ruta seleccionada, la cadena de intentos, el estado, el uso, el coste y el propietario.
- Revise el gasto: use gestión de cuotas de API de IA y prácticas de atribución de costes de API de IA para que la recuperación de reintentos no se convierta en una sorpresa presupuestaria.
La página de precios en vivo de Flatkey publicada por renderizado en servidor mostraba precios de modelos para 638 modelos de IA de 23 proveedores cuando se comprobó el 18 de junio de 2026. Considérelo solo como evidencia de catálogo con fecha. Antes del tráfico de producción, verifique las filas exactas de modelos, los tipos de endpoint, las unidades de precios, el estado de disponibilidad y los campos del panel para su flujo de trabajo.
Errores comunes que evitar
- Reintentar todos los 429 de la misma manera: la presión de tasa, los límites de aceleración y el agotamiento del presupuesto requieren acciones diferentes.
- Reintentar solicitudes inválidas: los errores de esquema, contexto y parámetros no compatibles necesitan cambios en la solicitud, no más intentos.
- Fallback sin evals: un modelo más barato o disponible no es automáticamente aceptable para el mismo flujo de trabajo del cliente.
- Ignorar el estado de streaming: reintentar después de una salida parcial puede crear respuestas duplicadas o conflictivas.
- Eliminar los registros de intentos: la revisión de incidentes necesita la cadena completa de rutas, no solo el éxito final.
- Permitir que los reintentos eludan los presupuestos: cada reintento es otra solicitud, otro recuento de tokens y, a menudo, otra línea de costo.
Preguntas frecuentes
¿Cuántas veces debería una estrategia de reintentos de API de IA reintentar una solicitud fallida?
Para el tráfico interactivo, comience con uno o dos intentos y un presupuesto estricto de tiempo transcurrido. Los trabajos en segundo plano pueden usar una espera exponencial más larga y más intentos. El número adecuado depende de la idempotencia, la latencia del usuario, la orientación del proveedor, la cuota, el costo y de si el fallback está aprobado.
¿Los reintentos de API de LLM deben usar el mismo modelo o un modelo de fallback?
Reintente con el mismo modelo para fallos probablemente transitorios. Use un fallback solo después de agotar el presupuesto de reintentos en la misma ruta y si el fallback ha superado las comprobaciones de calidad, costo, herramientas, privacidad y cumplimiento.
¿Cuándo debería bloquearse el reintento con fallback de modelo?
Bloquee el fallback para fallos de autenticación, fallos de permisos, solicitudes inválidas, bloqueos de seguridad o de política, agotamiento del presupuesto sin aprobación y cualquier flujo de trabajo en el que un modelo diferente pueda cambiar el comportamiento visible para el usuario más allá de la tolerancia del producto.
¿Qué se debe registrar para los incidentes de reintento y fallback?
Registre el ID de la solicitud principal, el índice del intento, la ruta solicitada, la ruta seleccionada, los IDs de solicitud del proveedor cuando estén disponibles, el código de estado, la clase de error, los datos de retry-after, la latencia, el uso de tokens, el costo, el motivo de la decisión de fallback y el resultado final. El registro basado en metadatos suele ser el valor predeterminado adecuado.
Conclusión: haga explícita la recuperación
Una estrategia de reintentos de API de IA es un control de producción, no una función auxiliar. Reintente fallos transitorios con un presupuesto pequeño. Cambie de modelo solo cuando la alternativa esté aprobada. Encole el trabajo que no necesita una respuesta síncrona. Falla de forma cerrada cuando la seguridad, la protección, el presupuesto o la forma de la solicitud sean el problema real.
Si su equipo quiere una sola clave, una URL base compatible y un lugar más claro para revisar el enrutamiento de modelos, los precios, el uso y el comportamiento de recuperación, obtenga una clave de Flatkey y pruebe su escalera de reintentos en staging antes del tráfico de producción.



