Los scores de un leaderboard te dicen lo que un modelo puede hacer en una habitación limpia. No te dicen cuánto cuesta correr tu carga, cómo se comporta en la cola larga de entradas ni si un modelo más barato con un prefiltro le gana al caro.
En Horizon, la cascada de clasificación de intenciones empezó como “mandar todo a un modelo”. La evaluación defendió lo contrario: un prefiltro de regex delante de un clasificador mediano. La mayoría de las intenciones triviales nunca llegaban a un modelo. La cola larga sí, y la precisión del clasificador ahí era suficientemente cercana como para que la diferencia nunca le importara al producto.
Esa es la parte útil de evaluar. Rara vez dice “usa el mejor modelo”. Dice dónde el razonamiento justifica su costo y dónde es un if caro.
Qué mido
- Precisión en los casos que de verdad aparecen en producción, no en el set balanceado del benchmark.
- Latencia P50 y P95 del camino completo, incluyendo el prefiltro y los reintentos.
- Costo por tarea exitosa, no costo por token.
- Modo de falla: cuando el modelo se equivoca, ¿el sistema degrada con gracia o inventa con confianza?
Lo último es la razón por la que me importa más la arquitectura del agente que la elección del modelo. Una capa de ruteo, un prefiltro determinista y un fallback aburrido le ganan a un mejor modelo sin fronteras alrededor.
La regla que sigo usando
Algoritmos → detección → contexto estructurado → razonamiento con IA, en ese orden. Empuja tanta decisión como puedas a código determinista. Después dale al modelo el contexto más pequeño que todavía explique lo que pasa, y mide si la respuesta vale el precio.
Si la evaluación no cambia la arquitectura, probablemente medí la cosa equivocada.