Vibe Checker: Allineamento della Valutazione del Codice con le Preferenze Umane
Vibe Checker: Aligning Code Evaluation with Human Preference
October 8, 2025
Autori: 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
Abstract
I Large Language Model (LLM) hanno catalizzato il cosiddetto "vibe coding", un approccio in cui gli utenti sfruttano i LLM per generare e perfezionare iterativamente il codice attraverso interazioni in linguaggio naturale, fino a quando non supera il loro "vibe check". Il vibe check è legato alle preferenze umane nel mondo reale e va oltre la semplice funzionalità: la soluzione deve sembrare giusta, essere leggibile, preservare l'intento e rimanere corretta. Tuttavia, l'attuale valutazione del codice rimane ancorata a metriche come il pass@k e cattura solo la correttezza funzionale, tralasciando le istruzioni non funzionali che gli utenti applicano di routine. In questo articolo, ipotizziamo che il rispetto delle istruzioni sia l'elemento mancante alla base del vibe check, rappresentando le preferenze umane nella codifica oltre alla correttezza funzionale. Per quantificare le capacità dei modelli nel seguire le istruzioni del codice con segnali misurabili, presentiamo VeriCode, una tassonomia di 30 istruzioni di codice verificabili insieme ai corrispondenti verificatori deterministici. Utilizziamo questa tassonomia per arricchire le suite di valutazione esistenti, dando vita a Vibe Checker, un banco di prova per valutare sia il rispetto delle istruzioni del codice che la correttezza funzionale. Valutando 31 tra i principali LLM, dimostriamo che anche i modelli più potenti faticano a rispettare più istruzioni contemporaneamente e mostrano una chiara regressione funzionale. Soprattutto, un punteggio composito che combina correttezza funzionale e rispetto delle istruzioni si correla meglio con le preferenze umane, con quest'ultimo che emerge come il principale fattore distintivo nei compiti di programmazione del mondo reale. Il nostro lavoro identifica i fattori chiave del vibe check, fornendo un percorso concreto per valutare e sviluppare modelli che si allineino meglio alle preferenze degli utenti nella codifica.
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.