Imagina una competencia de cocina donde los concursantes ya han visto los ingredientes secretos y han practicado las recetas exactas durante semanas. Cuando el juez prueba el plato, no está midiendo habilidad culinaria o creatividad; está midiendo qué tan bien el cocinero siguió un guion. Es una actuación de memoria, no una demostración de talento.

Eso es exactamente lo que le ha pasado a los benchmarks de programación con IA. La reciente publicación de OpenAI sobre Separating signal from noise in coding evaluations es esencialmente una confesión de que la cultura de los leaderboards en la que todos hemos estado obsesionados es una farsa. Durante los últimos dos años, la industria ha tratado a HumanEval y MBPP como los estándares de oro olímpicos de la inteligencia. Pero esos conjuntos de datos ahora están tan profundamente incrustados en los corpus de entrenamiento de cada modelo principal (que es básicamente emparejamiento de patrones sofisticado) que las puntuaciones carecen de sentido.

¿Por qué seguimos tratando una tasa de aprobación del 90% en una prueba filtrada como un signo de razonamiento? Es una métrica de vanidad. Cuando un modelo “resuelve” un problema que ha visto diez mil veces en sus datos de preentrenamiento, no está programando. Está recordando.

El núcleo del problema es que la línea entre el conjunto de entrenamiento y el conjunto de prueba ha desaparecido. La realidad es que la contaminación es el enemigo de cualquier evaluación honesta. Una vez que un benchmark es público y ampliamente discutido, inevitablemente se filtra en el web scraping. Esto crea un bucle de retroalimentación donde los laboratorios optimizan sus modelos para superar el benchmark en lugar de volverse mejores en ingeniería de software. Es el equivalente de la IA de un estudiante que memoriza la clave de respuestas de un examen de matemáticas sin entender cómo hacer la suma.

(Sospecho que algunos laboratorios han estado haciendo esto intencionalmente durante años.)

Esto crea una brecha masiva entre las “evals” y la experiencia real de usar la herramienta. Ves un modelo que afirma ser un dios de la programación en una hoja de cálculo, pero luego le pides que refactorice un componente de React moderadamente complejo y alucina una biblioteca que no existe. La fricción es real, no solo en la salida, sino en el costo de intentar encontrar un benchmark que realmente funcione. Ejecutar conjuntos de evaluación masivos y privados requiere una cantidad descomunal de compute y un nivel de curaduría de datos que la mayoría de los laboratorios de tamaño medio simplemente no pueden permitirse.

Los benchmarks actuales son inútiles.

Si queremos medir la inteligencia, necesitamos señales del mundo real. OpenAI está sugiriendo un cambio hacia evaluaciones que son más difíciles de “manipular”—tareas que requieren un razonamiento arquitectónico real en lugar de simplemente generar una función de Python para invertir una lista enlazada. Esto significa moverse hacia benchmarks privados y pruebas dinámicas que cambian con el tiempo.

Pero hay un pero. Los benchmarks privados resuelven el problema de la contaminación, pero crean un problema de transparencia. Si el “estándar de oro” es una bóveda secreta propiedad de un solo laboratorio, solo estamos confiando en su palabra de que su modelo es mejor. Intercambiamos una métrica pública rota por una privada pulida. Es un compromiso entre una mentira que todos podemos ver y una verdad que tenemos que aceptar por fe.

Aun así, es un giro necesario. Programar no se trata de resolver acertijos aislados; se trata de gestionar el estado, manejar casos extremos y navegar por una base de código sin romperlo todo. Un modelo que puede aprobar HumanEval pero no puede manejar un repositorio de 50 archivos es un juguete, no una herramienta.

Para Q4, la industria habrá abandonado por completo a HumanEval como métrica principal en favor de conjuntos de pruebas dinámicos y privados. La era del “leaderboard estático” ha terminado. Nos estamos moviendo hacia un mundo donde la única métrica que importa es si el código realmente compila y se ejecuta en un entorno de producción sin que el desarrollador tenga que pasar tres horas corrigiendo las “optimizaciones” de la IA.