论文

走向指令即代码:了解指令文件对代理拉取请求的影响

Toward Instructions-as-Code: Understanding the Impact of Instruction Files on Agentic Pull Requests

智能体系统Agent任务评测

摘要

AI 代理(例如 GitHub Copilot)在不同的软件工程任务中作为队友进行协作,包括通过拉取请求(Agentic-PR)提议的代码生成。为了提高代理效率,开发人员创建指导人工智能代理的指令文件,包括如何导航项目、找到正确的组件、运行测试、尊重最佳实践等等。在本文中,我们研究了这些指令的创建与 AI 代理在创建更好的拉取请求方面的性能之间的关系,这些拉取请求具有更高的成功机会(即合并率)、解决更复杂的任务(例如代码搅动)以及需要更少的合并工作(例如合并时间)。为此,我们分析了 AIDev 数据集中 148 个项目的 15,549 个代理 PR。使用三个维度,我们比较创建说明文件之前和之后的每个项目。我们发现,为人工智能代理指定指令并不一定会带来更好的结果。使用说明文件,27.7% 的项目将合并率提高了至少 20%,而 26.35% 的项目降低了合并率。在更改量(例如,代码改动、修改的文件数量)和合并代理 PR 的努力(例如,合并时间和评论数量)上也可以看到相同的观察结果。从第一次探索中,我们发现设法提高合并率的项目具有更长的指令文件,并且这些文件也被很好地构造为更多数量的部分和子部分。我们的结果激发了进行研究的需要,以帮助从业者将指令文件的开发框架作为软件工程活动(又名,\textbf{指令即代码})。