论文
如果没有问题,就不要修复它:关于 LLM 迭代错误修复的动态
If It's Not Buggy, Don't Fix It: On the Dynamics of Iterative Bug-fixing with LLMs
摘要
大语言模型 (LLM) 在软件开发中已经无处不在,基于 LLM 的自动化程序修复工具在代码审查期间越来越多地使用。在本报告中,我们探索了 LLM 作为错误修复程序的迭代盲目使用。在多个模型和修复环境中,我们发现 LLM 始终声称可以检测完全无错误的程序中的错误,而有错误的程序的修复率低于正确程序的损坏率。我们还探索了这个迭代过程的长期动态,并发现这经常达到一个伪错误修复周期,其中相同的更改被无限地添加和删除。最后,通过机械探测,我们揭示了控制编辑倾向的转向向量的存在,这表明 LLM 具有“错误代码”的内部表示,并且该表示是错误激活以诱导伪错误修复的内容。这些结果提供了对完全自主错误修复系统的动态以及在模糊目标下停止条件的洞察。