论文
怎样才是一份好的人工智能代理错误报告?
What Makes a Good Bug Report for an AI Agent?
摘要
自动程序修复(APR)代理正在从研究基准过渡到开发人员工作流程,但它们仍然从为人类开发人员编写的错误报告开始。虽然数十年的研究已经确定了人类良好的错误报告的要素(例如,重现步骤、堆栈跟踪),但仍不清楚这些功能是否转移到基于 LLM 的代理。我们通过两次分析来研究这个问题。首先,我们使用统计模型来检查 27 个错误报告功能与 87 个修复代理尝试的 433 个 SWE 基准验证问题之间的修复成功之间的关联。我们发现修复建议、复制脚本、存储库源代码和本地化信息与较高的分辨率可能性相关,而较长的报告与较低的可能性相关。其次,我们在 SWE-bench Pro 上对 2 个模型和 17 个问题陈述突变进行受控消融,改变代理可用的信息,同时保持基础任务固定。我们删除或隔离选定的错误报告内容,删除故障定位线索,并测试使列表扁平化或删除节标题的结构更改。我们发现这两种模型都依赖于本地化线索和预期行为,并且即使不删除任何内容,仅结构变化也会降低解决率。这两个模型在处理缺失信息的方式上有所不同:Qwen 搜索范围更广,可能会耗尽其回合预算,而 Gemma 则尽早做出合理的解释并对其进行修补。我们的研究结果表明,一份好的代理错误报告与一份好的人类报告有重叠,但并不完全相同:代理从具体的、可执行的和本地化良好的信息中获益最多,而人类读者长期强调的一些品质,例如再现的自然语言步骤和可读的描述,贡献很小,甚至与较低的成功率相关。