Las dos variantes comparten familia, API y forma de llamada. Lo único que cambia es dónde caen en este eje. Las barras son cualitativas: marcan la dirección del compromiso, no una medida.
Cambiar de variante es cambiar una cadena en el constructor. Esa facilidad es una trampa: como el cambio cuesta cero, es tentador dejar Pro «por si acaso» en todas partes y descubrir el coste a fin de mes.
¿La respuesta la está esperando una persona delante de una pantalla?
¿La tarea tiene una respuesta única y comprobable, o admite matiz?
assert, Flash suele bastar.¿Cuántas veces al día se ejecuta esto?
Fíjate en que ninguna rama pregunta «¿cuál es mejor?». Las tres preguntan por la tarea. Por eso el árbol se recorre una vez por cada llamada distinta de tu aplicación, no una vez por aplicación.
Si la decisión es por tarea, el código no debería tener el nombre del modelo esparcido por todas partes. El patrón mínimo es una sola tabla y una función que la consulte:
MODELO_POR_TAREA = {
"clasificar_ticket": "gemini-flash", # miles/día, salida verificable
"resumen_chat": "gemini-flash", # hay alguien esperando
"informe_mensual": "gemini-pro", # decenas/mes, admite matiz
}
def modelo_para(tarea):
return genai.GenerativeModel(MODELO_POR_TAREA[tarea])
Los nombres de arriba están abreviados a propósito: el identificador exacto sale del listado de la API, no de un PDF. Lo que importa del patrón es que el día que quieras probar si una tarea aguanta en Flash, cambias una línea de la tabla y mides — en vez de buscar por el repositorio.
Ese experimento, además, casi nunca es binario. Una tarea que falla en Flash con un prompt flojo puede aguantar perfectamente con un prompt mejor. Antes de subir de variante, merece la pena gastar un intento en el prompt: sale más barato y el aprendizaje se queda contigo.
Coge un prompt tuyo real y ejecútalo diez veces contra Flash y diez contra Pro. Apunta tres
columnas: segundos hasta la respuesta completa, tokens de entrada y salida (usage_metadata de
la respuesta) y si la salida te vale o no. Si las diez de Flash te valen, esa tarea ya tiene modelo
asignado y no hace falta discutirlo más.