大型语言模型(LLM)在代码生成方面表现出了强大的能力,这突显了对严格和全面评估的关键需求。现有的评估方法分为三类,包括以人为中心的方法、基于指标的方法和基于 LLM 的方法。

考虑到以人为中心的方法劳动密集,而基于指标的方法过度依赖参考答案,基于 LLM 的方法因其更强的上下文理解能力而受到越来越多的关注。然而,它们通常基于静态提示来评估生成的代码,并且往往在复杂的代码场景中失败,这些场景通常涉及多个要求,需要更多的上下文信息。此外,这些方法缺乏对复杂代码的细粒度评估,导致可解释性有限。

为了缓解这些局限性,我们提出了 $\textbf{CodeVisionary}$,这是第一个用于复杂代码生成的基于代理的评估框架。

CodeVisionary 包括两个阶段:
$\textbf{(1) \textit{需求引导的多维度上下文提炼阶段}}$,该阶段首先通过分解任务需求来制定详细的评估计划,然后逐步收集每个需求的多维度上下文信息。
$\textbf{(2) \textit{细粒度评分和总结阶段}}$ ,该阶段定义了自我导向和基于协商的行动,允许多个评委从细粒度和不同的角度理解复杂代码,并通过讨论达成共识。
此外,还生成一份全面的评估报告,以增强可解释性。

为了验证,我们构建了一个新的基准,包含 363 个样本,涵盖 37 个编码场景和 23 种编程语言。大量的实验表明,\framework 在评估复杂代码生成方面实现了三个基线中的最佳性能,在 Pearson、Spearman 和 Kendall-Tau 系数方面分别优于最佳基线,平均提升了 0.217、0.163 和 0.141。CodeVisionary 的资源可在 https://anonymous.4open.science/r/CodeVisionary 获取。


http://example.com/posts/9.html
作者
司马吴空
发布于
2026年3月30日
许可协议