当AI开始"为你好"式改代码
你让AI修一个拼写错误。
它改了。
它还顺手重构了你整个模块、重命名了七个变量、删了三行"冗余"代码、换了一套命名风格、调整了缩进、顺便优化了那个其实不需要优化的循环——然后你的程序崩了。
这不是段子。
一篇刚出炉的研究论文给这种现象起了个名字:Over-editing,翻译成人话就是——AI它改嗨了,停不下来。
研究者测试了市面上几乎所有主流编程模型,包括GPT-5全系列、Claude Opus 4.6、Gemini、DeepSeek、Qwen、Kimi等等。结果发现一个惊人的事实:越强的模型,不一定越精准;反而是越爱乱改。
GPT-5.4:一个正确率倒数第一的"卷王"
数据摊开来,场面一度十分尴尬。
在"推理模式"下,GPT-5.4的Pass@1(一次通过率)只有0.723,垫底水平。但它的Levenshtein距离(编辑量)高达0.395,Added Cognitive Complexity(新增认知复杂度)2.313——双项封王。
什么意思?
它不仅改得多,而且改得蠢。
改得越多,错得越离谱。
与之形成鲜明对比的是Claude Opus 4.6。正确率0.912,全场最高;编辑量0.06,几乎不改;新增复杂度0.20,接近于零。
一图胜千言:
| 模型 | Pass@1 ↑ | 编辑量 ↓ | 过度编辑程度 ↓ |
|---|---|---|---|
| Claude Opus 4.6 | 0.912 | 0.060 | 0.200 |
| GPT-5.4 | 0.723 | 0.395 | 2.313 |
所以问题来了——为什么AI这么爱"过度修复"?
真相:训练数据教会了它"讨好"人类
研究者抛出一个让人后背发凉的假设:
不是AI不能精准修复,而是它被训练成了这样。
看看你的训练数据吧。
GitHub上大量的PR是这种画风:"Here's a cleaner version of your code"(这是你代码的更整洁版本)。Code Review里充斥着"建议重构成更优雅的实现"。模型学到的奖励信号是:改得越漂亮、越完整、越像"专业人士写的",就越容易通过。
最小修改?不存在的。
模型学会了一条生存法则:要大,要全,要漂亮。
这解释了为什么推理模型(Reasoning Models)反而更爱过度编辑。它们被训练要"深度思考",思考过度了,就忍不住帮你"顺便优化"一下。
但有个好消息:一句提示就能治
研究做了个简单实验。
在提示词里加了一句:"IMPORTANT: Try to preserve the original code and the logic of the original code as much as possible."
就这一句。
几乎所有模型的过度编辑量骤降。推理模型尤其明显——原本它们是过度编辑重灾区,加了提示后,反而成了最守规矩的学生。
这个发现让人哭笑不得:
AI不是不能精准,它是需要你明确告诉它"别多事"。
就像一个热情过度的实习生,你不喊停,它能把你的代码重写三遍。
更硬核的解法:强化学习训练
提示词能治标,但研究者想治本。
他们尝试用四种方法训练模型学会"精准编辑":
- SFT(监督微调):在域内数据上表现逆天,跨域直接翻车——它只是学会了记忆特定错误的修复方式。
- rSFT/DPO:稍微好点,但改进有限。
- RL(强化学习):唯一真神。跨域依然有效,编辑量暴跌,正确率提升,而且没有灾难性遗忘。
更骚的是,RL训练用LoRA(轻量级微调)就能达到接近全量微调的效果。
| 方法 | Pass@1 | 编辑量 | 通用能力保持 |
|---|---|---|---|
| RL(全量) | 0.782 | 0.050 | +0.006 |
| RL(LoRA-64) | 0.797 | 0.051 | +0.001 |
结论很清晰:精准编辑是一种"风格",不是一种"能力"。改起来不难,不需要大动干戈。
行业启示录
这篇论文揭开了AI编程一个长期被忽视的暗面:
我们一直抱怨AI代码"质量不稳定"、"容易引入bug"、"不知道它干了什么"。现在有了量化指标——过度编辑程度。
评论区里有人说得一针见血:
"AI学到的奖励信号是'更大更精致的输出会获胜',而不是'最小修改即可'。你在跟整个预训练数据集的惯性对抗。"
也有人说出了心声:
"我用Claude Code,它偶尔过度编辑,但我告诉它哪里错了,它会记住,下次就不犯了。关键是——它真的能学会。"
这才是未来的方向:不是换一个更强的模型,而是训练现有的模型学会"克制"。
最后说几句
over-editing这件事,细思极恐。
它暴露了一个更深层的问题:AI在揣摩人类偏好时,走了一条看似聪明、实则有害的捷径。 它判断"好的代码"的标准是"看起来更专业",而不是"解决问题且不制造新问题"。
研究者最后说了句大实话:
"在现实中,Over-editing几乎存在于所有前沿编程模型中,只是以前很难量化。希望这项工作能成为评估和改进AI精准编辑能力的第一步。**
第一步。
剩下的路,还很长。
【锐评】:GPT-5.4用实力证明了"改得多不代表改得好",而Claude Opus 4.6告诉我们:克制,才是最顶级的能力。
参考链接:
https://nrehiew.github.io/blog/minimal_editing/