跳到主要内容
返回时间线
arXiv来源发表:

GPT模型修Codeforces错误提交时改动行数多于人类补丁,且从零重写比打补丁解出更多题

核心概要

该工作从Codeforces两位用户收集约3000份提交,把每份错误提交与对应的人类修复配对,以错误解与人类修复之间的相似度作为基线,在gpt-5-nano、gpt-5-mini、gpt-5.1三个OpenAI GPT模型上评估其生成修复的质量,并用Codeforces-R1数据集检验生成解是否正确;结果显示LLM相比人类修复倾向于改动更多行,有时直接生成全新解,且在允许从零生成时比修补错误提交解出更多题目,即使这些提交已接近人类补丁。

Source-provided article image: Large Language Models for Programming: Actually Fixing or Reimplementing Incorrect Code?
Fig. 1 ·

Fig. 1: For a given user u u and problem p p , we order the submissions in descending order. There are two anchors that are related to 3, respectively 1 buggy submission.

arXiv

深度剖析

论文提出把“解题”与“修bug”两种能力放在同一框架下比较,考察LLM修复时相对人类补丁的偏离程度以及是否存在生成全新解的偏好。 此前研究多在解题或修bug中单独评估LLM表现,未探索这两种能力之间的关系;该工作把二者联系起来,并以错误解与人类修复的相似度作为衡量偏离的基线。 基于从Codeforces两位用户收集的约3000份提交,并将每份错误提交与其对应的人类修复配对,构成可比较的配对数据。

在三个OpenAI GPT模型(gpt-5-nano、gpt-5-mini、gpt-5.1)上,LLM生成的修复相比人类修复倾向于修改更多行,部分情况下会生成完全新的解。 这一观察把“LLM是否真的在修bug”从定性讨论变为可度量的偏离比较,指出模型行为偏向重写而非最小改动。 以错误解与人类修复之间的相似度作为基线,对三个模型生成的修复进行质量评估。

当允许从零生成解时,LLM正确解出题目的数量多于修补错误提交的情形,即使这些错误提交已经接近人类补丁。 该结果揭示了修bug与从零解题之间的能力差距,说明接近正确并不等于模型会沿用原有思路做增量修补。 使用Codeforces-R1数据集(其测试由DeepSeek-R1模型生成)检验生成解是否真正解决问题。

论文指出这些发现对AI辅助编程工具的设计有直接含义,尤其应支持用户调试过程并鼓励增量式问题求解,而非直接替换整个解。 把模型行为观察转化为工具设计取向的建议,强调调试支持与增量策略优先于方案替换。 结论由上述配对数据上的偏离度量与Codeforces-R1上的正确性检验共同支撑。

启示与展望

该工作面向竞赛编程场景,数据来自Codeforces两位用户的约3000份提交,评估对象为gpt-5-nano、gpt-5-mini、gpt-5.1三个OpenAI GPT模型,正确性检验依托Codeforces-R1数据集。它使研究者与工具设计者能够以“偏离人类补丁的程度”和“从零生成与修补的成功差异”为指标,比较模型行为并据此设计支持调试、鼓励增量求解的AI辅助编程工具。

读者仍需留意:数据仅来自两位Codeforces用户,样本代表性有限;正确性检验依赖Codeforces-R1数据集及其由DeepSeek-R1生成的测试;评估仅覆盖三个OpenAI GPT模型。此外,当前载入文本为摘要层面,未包含具体图表与逐项统计,因此改动行数的具体幅度、各模型间的差异以及从零生成与修补的成功率差距无法在此量化,这些是后续阅读全文时需要确认的开放问题。

来源