Vibe Checker: Согласование оценки кода с человеческими предпочтениями
Vibe Checker: Aligning Code Evaluation with Human Preference
October 8, 2025
Авторы: 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
Аннотация
Крупные языковые модели (LLM) стимулировали развитие "виб-кодинга", где пользователи используют LLM для генерации и итеративного улучшения кода через взаимодействие на естественном языке до тех пор, пока он не пройдет их "виб-проверку". Виб-проверка связана с реальными человеческими предпочтениями и выходит за рамки функциональности: решение должно казаться правильным, выглядеть чистым, сохранять замысел и оставаться корректным. Однако текущая оценка кода остается привязанной к метрике pass@k и учитывает только функциональную корректность, игнорируя нефункциональные инструкции, которые пользователи регулярно применяют. В этой статье мы выдвигаем гипотезу, что следование инструкциям — это недостающий элемент, лежащий в основе виб-проверки, который отражает человеческие предпочтения в кодировании помимо функциональной корректности. Чтобы количественно оценить способности моделей следовать инструкциям в коде с измеримыми сигналами, мы представляем VeriCode — таксономию из 30 проверяемых инструкций для кода вместе с соответствующими детерминированными верификаторами. Мы используем эту таксономию для расширения существующих наборов оценки, создавая Vibe Checker — тестовую среду для оценки как следования инструкциям, так и функциональной корректности. Оценив 31 ведущую LLM, мы показываем, что даже самые сильные модели с трудом соблюдают несколько инструкций и демонстрируют явный функциональный регресс. Важнее всего, что комбинированный показатель функциональной корректности и следования инструкциям лучше всего коррелирует с человеческими предпочтениями, причем последнее становится основным дифференцирующим фактором в реальных задачах программирования. Наша работа выявляет ключевые факторы виб-проверки, предлагая конкретный путь для бенчмаркинга и разработки моделей, которые лучше соответствуют предпочтениям пользователей в кодировании.
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.