Verificador de Vibración: Alineando la Evaluación de Código con las Preferencias Humanas
Vibe Checker: Aligning Code Evaluation with Human Preference
October 8, 2025
Autores: Ming Zhong, Xiang Zhou, Ting-Yun Chang, Qingze Wang, Nan Xu, Xiance Si, Dan Garrette, Shyam Upadhyay, Jeremiah Liu, Jiawei Han, Benoit Schillings, Jiao Sun
cs.AI
Resumen
Los Modelos de Lenguaje de Gran Escala (LLMs, por sus siglas en inglés) han impulsado la codificación basada en sensaciones (vibe coding), donde los usuarios aprovechan los LLMs para generar y refinar iterativamente código a través de interacciones en lenguaje natural hasta que este supera su "prueba de sensación" (vibe check). La prueba de sensación está vinculada a las preferencias humanas del mundo real y va más allá de la funcionalidad: la solución debe sentirse correcta, leerse de manera limpia, preservar la intención y mantenerse precisa. Sin embargo, la evaluación actual del código sigue anclada en métricas como pass@k y captura únicamente la corrección funcional, pasando por alto las instrucciones no funcionales que los usuarios aplican de manera rutinaria. En este artículo, planteamos la hipótesis de que el seguimiento de instrucciones es el elemento faltante subyacente a la prueba de sensación, representando las preferencias humanas en la codificación además de la corrección funcional. Para cuantificar las capacidades de los modelos para seguir instrucciones de código con señales medibles, presentamos VeriCode, una taxonomía de 30 instrucciones de código verificables junto con verificadores deterministas correspondientes. Utilizamos esta taxonomía para ampliar conjuntos de evaluación establecidos, dando como resultado Vibe Checker, un banco de pruebas para evaluar tanto el seguimiento de instrucciones de código como la corrección funcional. Al evaluar 31 LLMs líderes, demostramos que incluso los modelos más potentes tienen dificultades para cumplir con múltiples instrucciones y muestran una clara regresión funcional. Más importante aún, una puntuación compuesta de corrección funcional y seguimiento de instrucciones se correlaciona mejor con las preferencias humanas, siendo este último el principal diferenciador en tareas de programación del mundo real. Nuestro trabajo identifica los factores centrales de la prueba de sensación, proporcionando un camino concreto para la evaluación y el desarrollo de modelos que se alineen mejor con las preferencias de los usuarios en la codificación.
English
Large Language Models (LLMs) have catalyzed vibe coding, where users leverage
LLMs to generate and iteratively refine code through natural language
interactions until it passes their vibe check. Vibe check is tied to real-world
human preference and goes beyond functionality: the solution should feel right,
read cleanly, preserve intent, and remain correct. However, current code
evaluation remains anchored to pass@k and captures only functional correctness,
overlooking the non-functional instructions that users routinely apply. In this
paper, we hypothesize that instruction following is the missing piece
underlying vibe check that represents human preference in coding besides
functional correctness. To quantify models' code instruction following
capabilities with measurable signals, we present VeriCode, a taxonomy of 30
verifiable code instructions together with corresponding deterministic
verifiers. We use the taxonomy to augment established evaluation suites,
resulting in Vibe Checker, a testbed to assess both code instruction following
and functional correctness. Upon evaluating 31 leading LLMs, we show that even
the strongest models struggle to comply with multiple instructions and exhibit
clear functional regression. Most importantly, a composite score of functional
correctness and instruction following correlates the best with human
preference, with the latter emerging as the primary differentiator on
real-world programming tasks. Our work identifies core factors of the vibe
check, providing a concrete path for benchmarking and developing models that
better align with user preferences in coding.