- 简介大语言模型(LLMs)推动了“氛围编程”(vibe coding)的发展,用户借助LLM通过自然语言交互生成代码,并不断迭代优化,直到代码通过他们的“氛围检验”(vibe check)。所谓氛围检验,与现实世界中人类的偏好密切相关,其标准远不止功能正确:解决方案应当“感觉正确”,代码可读性强,保留原始意图,同时保持准确性。然而,当前的代码评估仍局限于pass@k等指标,仅衡量功能正确性,忽略了用户在实际使用中频繁遵循的非功能性指令。本文提出假设:指令遵循能力正是实现氛围检验的关键缺失环节,它体现了除功能正确性之外的人类编程偏好。为了量化模型在代码指令遵循方面的能力并提供可测量的信号,我们提出了VeriCode——一个包含30种可验证代码指令的分类体系,以及相应的确定性验证工具。我们利用该分类体系扩展了现有的评估套件,构建出Vibe Checker,一个能够同时评估代码指令遵循能力和功能正确性的测试平台。通过对31个主流大语言模型的评估,我们发现即使是表现最强的模型,在同时遵守多条指令时也存在明显困难,并表现出显著的功能退化。尤为重要的是,功能正确性与指令遵循能力的综合得分与人类偏好相关性最高,其中指令遵循能力在真实编程任务中成为区分模型优劣的主要因素。本研究揭示了氛围检验的核心要素,为构建更贴合用户编程偏好的模型提供了明确的评估路径和改进方向。
-
- 图表
- 解决问题当前的代码评估方法(如pass@k)主要关注功能正确性,忽略了用户在自然语言交互中对代码风格、意图保持、可读性等非功能性需求的偏好(即'vibe check')。论文试图解决如何量化大模型在代码生成中遵循非功能性指令的能力,并验证指令遵循是影响人类偏好的关键因素。这是一个较新的问题,聚焦于功能之外的人类感知质量。
- 关键思路提出'指令遵循'是实现'vibe check'的核心,并构建VeriCode——一个包含30种可验证代码指令的分类体系及对应的确定性验证器。通过将该体系融入现有评测集形成Vibe Checker测试平台,首次实现了对代码功能正确性和指令遵循能力的联合评估。相比以往工作,其创新在于系统化定义和量化了此前难以衡量的非功能性指令遵循行为。
- 其它亮点研究评估了31个主流大语言模型,发现即使最强模型在多指令遵循上仍有显著缺陷,且常伴随功能退化;实验设计采用人工偏好评分与自动指标对比,证明指令遵循能力比单纯功能正确性更能解释人类偏好;VeriCode和Vibe Checker已开源,为后续研究提供基准;值得深入的方向包括提升模型在复杂指令下的鲁棒性、动态权衡功能与风格的能力。
- 1. CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis 2. InCoder: A Generative Model for Code Infilling and Synthesis 3. PanGu-Coder2: Bug-Detection Enhanced Code Generation 4. AlphaCode: A System for Competitive Programming Problems 5. HumanEval: The First Benchmark for Evaluating Functional Correctness of Code Generation
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流