AI编程助手46%的PR被拒:AIDev数据集揭示失败模式

Understanding the Rejection of Fixes Generated by Agentic Pull Requests -- Insights from the AIDev Dataset

精选理由

AI编程助手生成的代码修复近一半被拒,浪费大量人力审查和计算资源——做AI辅助开发的团队和工具开发者,建议看看这14个失败原因,能帮你避免踩坑。

AI 摘要

一项基于AIDev数据集的研究发现,Copilot、Devin、Cursor和Claude等AI编程助手生成的代码修复PR中,46.41%被开发者拒绝。研究者对306个未合并PR进行定性和定量分析,归纳出14个拒绝原因,分为四类:实现不正确(如不完整、错误方法)、未通过CI测试、代理无法完成实现(如未生成代码、会话丢失)、以及优先级低。研究建议,应通过提供修复方法提示、明确约束限制、指导CI验证流程来提升AI代理的有效性,并强调任务优先级管理以减少资源浪费。

原文 · arXiv cs.AI

Understanding the Rejection of Fixes Generated by Agentic Pull Requests -- Insights from the AIDev Dataset

AI coding agents are increasingly used to generate pull requests (PRs) that propose code fixes in software projects. From a first exploration of the AIDev dataset, we find that 46.41\% of the fixes proposed by the agents Copilot, Devin, Cursor, and Claude are rejected. This represents a significant amount of wasted resources that require human reviews, verifications, and running tests and validations for fixes that are merely discarded. Our goal in this paper is to understand the failure modes of AI-agents, an understanding that is crucial for better integrating AI-agents as efficient teammates. In this paper, we conduct a qualitative study on a representative sample of 306 non-merged pull requests created or co-authored by the agents mentioned earlier, followed by a quantitative analysis of the reasons for rejection. Our qualitative findings identify 14 reasons divided into four high-level categories for rejecting AI-agent fixes. We observe that developers can reject fixes due to fixes whose implementation is incorrect (e.g., incomplete, wrong approach), fixes that do not pass the continuous integration (CI) pipelines and fail tests, fixes for which the agent is unable to perform the implementation (e.g., no code generated, sessions lost), and fixes whose priority is low. Our results shed light on the importance of better guiding the model at these levels: (1) proposing hints about the approach to follow for fixing an issue, (2) outlining constraints or limitations regarding the approaches that should not be taken, and (3) instructing the agent on how to validate the implementation through CI pipelines and without introducing a breaking change. Our results suggest the need for good prioritization of tasks so that generated fixes do not lead to wasted human review efforts or wasted agent resources (e.g., tokens, compute, or allowed number of requests).