ORACLE-SWE:量化Oracle 信息信号对SWE代理的贡献

摘要

语言模型智能体近期取得的进展显著提升了自动化软件工程的能力。先前的研究提出了多种智能体工作流程与训练策略,并分析了智能体系统在软件工程任务中的失败模式,重点关注以下几类上下文信息信号:复现测试、回归测试、编辑位置、执行上下文以及API使用。

然而,每个信号对整体成功的单独贡献,尤其是在能够完美获取中间信息时的理想贡献程度,仍未被充分探索。为了弥补这一空白,我们提出了Oracle-SWE,这是一种统一的方法,用于从软件工程基准测试中隔离并提取神谕信息信号,并量化每个信号对智能体性能的影响。为进一步验证该模式,我们评估了由强大语言模型提取的信号在提供给基础智能体后所带来的性能提升,从而模拟真实世界任务解决场景。这些评估旨在为自主编码系统的研究优先级提供指导。

引言

随着语言模型展现出日益强大的编程能力,对严谨评估框架的需求也随之增长。尽管早期的数据集如Defects4J和LiveCodeBench主要测试独立的代码生成能力,但评估的重点已明确转向仓库级别的问题解决。在SWE-bench中,模型需要作为软件工程智能体发挥作用:它们必须与可执行环境交互,检查整个代码仓库,理解其结构,并处理源自真实世界GitHub问题的问题。SWE-bench的难度和实际相关性催生了大量的后续基准测试,这些基准测试进一步增加了任务的多样性和复杂性。

为了应对SWE基准测试中定义的任务,研究人员开发了多种方法,从完全的智能体框架到更简单的无智能体流程。一些系统使语言模型能够通过将问题解决过程组织成结构化阶段来在真实代码仓库上操作。后续工作通过训练专注于工作流程特定阶段的模型,进一步专业化这一过程,而其他研究则通过分析智能体的执行轨迹来更好地理解常见的失败模式和潜在的改进点。从这些先前的努力中,我们观察到,大多数方法在解决软件工程任务时,都隐式地依赖于一小部分关键的上下文信息信号,这些信号可以分为五类:复现测试、回归测试、编辑位置、执行上下文和API使用。

尽管大量工作聚焦于这五个信号,但一个关键问题依然存在:如果特定的信息信号能够被完美地准确获取,这些系统可能会有多大的潜在提升?这个问题对于指导未来的研究优先级至关重要。为了回答这个问题,我们构建了这些信号的神谕版本,并通过受控消融实验来测量它们各自的影响。实验结果表明,对于SWE-bench,贡献度顺序为:复现测试优于执行上下文与编辑位置(两者相近),这两者优于API使用,再优于回归测试;而对于SWE-bench-Live和SWE-bench-Pro,贡献度顺序变为:复现测试优于执行上下文与API使用(两者相近),这两者优于编辑位置,再优于回归测试。复现信号的强大作用表明,当前的语言模型智能体往往难以解决模糊的问题描述,并会从高质量测试产生的明确故障信号中获益良多。

由于在真实问题解决中无法获得此类神谕信息,我们进一步进行了额外的验证实验,方法是提示一个更强大的语言模型智能体分别找出五个信号,并评估它们对原始智能体的贡献。结果与神谕版本一致。

相关推荐
AI自动化工坊2 小时前
Google LiteRT-LM生产级部署指南:如何在边缘设备实现高效LLM推理?
人工智能·ai·llama
AI_零食2 小时前
声音分贝模拟与波动动画展示:鸿蒙Flutter框架 实现的声音可视化应用
学习·flutter·华为·开源·harmonyos
Keep Running *2 小时前
Spring Cloud Alibaba_学习笔记
笔记·学习
互联网江湖2 小时前
携程当学胖东来
人工智能
陌殇殇3 小时前
001 Spring AI Alibaba框架整合百炼大模型平台 — 快速入门
人工智能·spring boot·ai
liliwoliliwo3 小时前
deim跑代码记录学习思路
学习
Proxy_ZZ03 小时前
用Matlab绘制BER曲线对比SPA与Min-Sum性能
人工智能·算法·机器学习
黎阳之光3 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生