- Distinguir retry de modelo, retry de tool y retry de workflow.
- Diseñar acciones idempotentes para pagos, emails, tickets y cambios de datos.
- Crear una tabla de ejecuciones que bloquee duplicados.
tabla_tool_executions:
idempotency_key: "invoice-email:cliente-42:2026-07"
tool: "send_email"
status: "completed"
result_id: "msg_abc123"
regla:
si existe completed con misma key:
devolver result_id anterior
no ejecutar tool otra vez
si existe running:
esperar o marcar conflicto
si falla:
guardar error y decidir retry con humanoPatrón seguro
- Genera una `idempotency_key` antes de llamar la tool.
- Registra `running` antes del efecto externo.
- Marca `completed` solo cuando el proveedor confirma.
- En retry, consulta la tabla antes de actuar.
- Para acciones irreversibles, añade aprobación humana.
Si has guardado la evidencia de esta lección, continúa con «Estado persistente». Si no, repite la comprobación antes de avanzar.