跳到正文
原文
arXiv· arXiv:2609.29465· Jiajun Wu·本站收录· 原文发表

SWE-Prometheus:衡量真实代码仓库工程治理改进的基准

SWE-Prometheus: Measuring Engineering Governance Improvements in Real-World Repositories

论文速读

评测与基准

据论文 PDF 整理(AI 生成),以原文为准

十模型在SWE-Prometheus公开22库的valid-run平均NGI为0.0568至0.5760。

问题
现有仓库基准从人工给定的issue出发,只看补丁是否通过功能测试。治理属性分布在测试、CI、文档、环境与依赖上,不能只凭diff判断仓库是否变得更可维护。
方法
SWE-Prometheus给出固定快照和开放式治理目标,不提供缺陷清单或参考补丁。同一套干净环境探针对比改造前后,行为门剔除破坏既有行为的补丁,再用六维分数相对满分5的剩余空间计算NGI。
实验与结果
公开22库十模型valid-run平均NGI为0.0568至0.5760,破坏率0%至22.7%。条件均值同为0.5760的两系统,全池把破坏记0后为0.550对0.445。冻结10库上不读仓库的模板平均NGI为0.272,且D5、D6无提升。
局限与可以继续做的
作者写明仅24/60实例的行为门经变异测试展示判别力,并称D1–D3可被盲模板得分、单次rollout约分辨0.19的NGI差。比较为10模型各1次公开22库rollout;teacher名称未报告,重复rollout与同scaffold重跑未纳入已报告测量。
实验设置GPT-5.6-Sol、Claude-Opus-5 等 · SWE-Prometheus、public shared subset(22 repositories) 等 · NGI、behavior-breakage rate 等
被测模型
GPT-5.6-SolClaude-Opus-5Kimi-K3GLM-5.3-FlashQwen3.8-MaxGLM-5.2DeepSeek-V4-ProGLM-5.3DeepSeek-V4-FlashMiniMax-M3
基准
SWE-Prometheuspublic shared subset(22 repositories)frozen ten-repository auxiliary batch
指标
NGIbehavior-breakage ratevalid/broken countscoverage-weighted NGI
AI 导读SWE-Prometheus 是面向仓库级工程治理改进的基准,每个任务给出固定快照与开放式目标,要求智能体自行识别风险、排定干预优先级并验证改动,从六个治理维度通过配对证据、干净环境探针、行为门控和两名独立教师评分进行评估。基准包含 60 个仓库,10 个模型在共享的 22 仓库公开子集上平均 NGI 为 0.0568 至 0.5760,观测到的行为破坏率为 0% 至 23%。

SWE-Prometheus 是面向仓库级工程治理改进的基准,每个任务给出固定快照与开放式目标,要求智能体自行识别风险、排定干预优先级并验证改动,从六个治理维度通过配对证据、干净环境探针、行为门控和两名独立教师评分进行评估。基准包含 60 个仓库,10 个模型在共享的 22 仓库公开子集上平均 NGI 为 0.0568 至 0.5760,观测到的行为破坏率为 0% 至 23%。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    现有仓库基准从已知issue出发,测不出开放式工程治理改造。

    现有仓库级基准从人工已定位的issue出发,只判断补丁是否满足功能信号,测不到智能体能否把仓库改得更可测试、可维护、可复现、可安全演进。

    • 场景:作者称基于大语言模型的编码智能体已能搜索不熟悉代码库、执行开发命令并提交端到端修改。SWE-bench把真实快照、具体issue和可执行验证配对,使功能修复可测;但测试、CI、工具、文档、结构、环境与依赖上的治理很少是单一局部缺陷,也不能只凭diff确认改进。
    • 现有不足:作者称多数评测在人已经指出问题之后才开始。智能体可以加入workflow、lint配置或测试文件,却不让仓库更有用;也可能改善一个维度,同时引入依赖漂移或行为回归。
    • 评测要求:作者认为合适的评测应让智能体自行诊断、比较干预前后证据,并确认改进能在干净执行环境中成立。任务不给缺陷清单、基线分数、隐藏测试描述或目标补丁。
    • 本文对象:作者提出SWE-Prometheus,把开放式Repository Retrofit作为评测任务,覆盖六个治理维度,并用成对证据、干净环境探针和行为门评分。当前发布含60个真实仓库:22个公开实例供十个模型比较,38个私有实例留作内部评测。
  2. 有哪些相关研究?

    相关工作覆盖issue修复基准、编码智能体与仓库质量审计。

    作者按五类文献定位本文,核心对照是:已有工作多在目标issue或评价信号已经给定之后评测。

    issue级代码与仓库基准

    • SWE-bench(Jimenez等,2024)与SWE-bench Verified(OpenAI,2024):前者把真实GitHub issue、仓库快照和可执行测试配对;后者加入人对可解性与测试质量的核验。
    • 函数级与扩展修复基准:HumanEval、MBPP测局部合成;CodeV、OmniGIRL、MM-IssueLoc以及硬件修复、架构code-smell修复仍是issue驱动。SWE-bench-java、Multi-SWE-bench、SWE-PolyBench、SWE-bench Multimodal、SWE-bench-Live、SWE-rebench、SWE-bench Science、Rust-SWE-bench把issue解决扩展到语言、模态、新鲜度或领域仓库。
    • 与本文的分界:作者称这些基准与本文共享固定版本、隔离执行、提交补丁和可执行检查,但主要终点仍是解决已知缺陷。

    软件工程智能体

    • 仓库交互系统:SWE-agent用专门的agent-computer接口支持搜索、编辑和测试;OpenHands提供通用开发智能体平台;Agentless用定位、修复、验证流水线。
    • 通用智能体与相邻能力:ReAct、Toolformer、Reflexion研究动作、工具使用和言语反馈;WebArena、OmniBench、self-debugging以及RepoBench、RepoCoder、SWE-Explore、RepairAgent、RepoAgent、SWE-Gym分别覆盖浏览、检索、探索、修复或训练。MANTIS、MIRB、MuirBench、OMIBench研究多图像,作者称不能与仓库级改进互换。
    • 作者的定位:这些系统促使本文分开侦察、干预和验证,但通常假定目标issue、修复目标或评价信号已经指定。

    补丁正确性之外的评价

    • 更强的执行证据:RepoExec研究仓库级可执行评价,SWT-Bench强调用真实行为验证修复,EvalPlus显示加强测试套件会改变功能正确性结论。
    • 测试与诊断:变异测试、flaky test研究和CheckList分别讨论测试能否抓住行为变化、基础设施不稳定,以及不应只看单一总分。Reiter的第一性原理诊断和逻辑溯因被用于解释已给出的失败或不一致。
    • 作者的定位:行为门把“既有行为是否仍成立、证据是否够强、运行是否可复现”当作一等结果;智能体要主动找出治理缺口,而不是解释给定失败。

    质量模型、治理工具与基准可靠性

    • 质量与供应链:ISO/IEC 25010组织可维护性、可靠性、安全性等属性;复杂度、技术债和持续集成研究提供测量元件。OpenSSF Scorecard、SLSA、NIST SSDF给出供应链与安全开发指引;依赖告警的实证研究认为朴素告警计数不是风险的充分代理。
    • 基准与评审:自动化建库、泄漏与可复现性研究、LiveBench和基准治理文献要求明确来源、发布控制和可复现执行。MT-Bench、G-Eval一类LLM-as-a-judge工作要求校准和一致性检查。
    • 作者的定位:这些工具通常孤立审计某一属性;作者称它们不评测智能体能否找出最要紧的缺口、跨维度协调修改并保持既有行为。在本文中,质量工具是成对评价里的证据探针,不是基准目标本身。

    基线与数据:实验对照包括空补丁no-op、不读仓库的机械治理模板,以及先检测缺失工件再补齐的规则基线。数据是SWE-Prometheus的60个仓库、十模型共享的22个公开实例,以及从公开集抽出的冻结10库批次。

  3. 论文如何解决这个问题?

    固定快照加开放目标,用六维证据、行为门和NGI评分。

    作者把任务定义成Repository Retrofit:智能体从固定仓库快照和通用治理目标出发,自行发现缺口、排优先级、提交补丁;评测器在干净环境里对比改造前后,并用行为门决定该次运行能否进入有效改进汇总。

    任务设定

    • 输入:每个实例由仓库和base_commit确定。智能体收到检查仓库、在适用维度上提高工程就绪度、保持既有行为和公共接口、并用可执行检查核验重要主张的指令。不提供issue列表、基线分、隐藏测试或参考补丁。
    • 能力边界:智能体可查看源码和公开文档、运行开发工具、修改项目文件并提交统一补丁,不能访问评测器证据或其他模型结果。多种治理策略都可以成立。
    • 六个维度:Tests & CI、Code Quality Gates、Documentation & Collaboration、Structure & Maintainability、Reproducible Environment、Dependency & Security Health。分数为1到5;4分表示对该仓库类型和任务范围可接受。仅有配置文件不算改进,必须有可执行或结构化证据。
    • 筛选:候选需能重建base commit、有可执行行为、干净环境不依赖私有凭证、至少两个维度适用,且任务描述不指定具体补丁。缺失workflow、陈旧元数据等只用于高召回发现,不作为最终分数。不适用或不可用的证据显式保留,不记成零分。

    证据回路与行为门

    • 成对执行:评测器重建base,把补丁应用到独立的treated快照,并对两侧运行同一套安装、测试、质量、复杂度、依赖和安全探针。命令、退出码、日志、工具版本、超时和不可用证据都保留。
    • 行为门:表征测试先在base上验证,再在treated上执行。treated验证失败标为behavior_broken:不进入valid NGI汇总,但保留在行为风险分析中。变异测试把门标为detected、blind、vacuous或none,并与行为结果一起报告。
    • 失败分类:区分基础设施失败、环境或依赖失败、无效或空补丁、行为回归、行为保持但无治理改进、行为保持且有正向改进。一次运行可有主失败标签和次级证据标记;测试通过但引入空洞CI门,不算干净成功。
    • 运行顺序:每次rollout从钉住的base commit全新副本开始。评测依次做安装、表征行为、治理探针和事后工件核验。每条命令有超时、退出码策略和证据模式。只有供应商账目可用时才报告货币成本,不从残缺账目推算。

    评分与NGI

    • 评审:每份固定的base/treated证据由两个独立teacher模型用同一量规各评一次。发布记录保留两次判断、汇总和分差。文档与可维护性用分维度量规,不靠整体印象。论文把不知模型身份的校准、裁决率、量规锚点敏感性和评审族、提示顺序检查列为发布协议,并与已完成基准结果区分;正文未给出校准集上的数值。
    • 归一化:对实例i和维度d,原始改进是treated分减base分。可评分维度集合为D_i时,Normalized Governance Improvement为 NGIi=(1/|Di|)∑d∈ Di(streatedi,d−sbasei,d)/(5−sbasei,d)。分母是该维距离满分5的剩余空间。base已为5的维度不给改进奖励,但检查是否退步。
    • 同时报告的量:treated分数、valid与broken比率、无回归率、strict success、verified claim rate和资源使用。正文未展开后两者的判定细则。不适用维度与失败维度分开记录;缺失分为不适用、环境不可用、超时或工件畸形。
    • 量规锚点:1到2分表示治理缺失或不能运作,3分表示部分覆盖且仍有实质缺口,4分表示可执行、可审查并适合该仓库,5分表示覆盖广且有可维护性、低回归风险的证据。附录写明,文件存在但执行不成功,不足以给4或5分。
  4. 论文做了哪些实验?

    公开22库平均NGI为0.0568–0.5760,破坏率0%–22.7%。

    实验设置

    • 数据:60个真实仓库,22个公开、38个私有。公开子集是共享比较集,不是全部仓库的随机样本。十个模型各完成一次公开子集rollout,共220对。
    • 模型与scaffold:GPT-5.6-Sol、Kimi-K3、GLM-5.3-Flash、Qwen3.8-Max、GLM-5.2、DeepSeek-V4-Pro、GLM-5.3、DeepSeek-V4-Flash、MiniMax-M3使用pi;Claude-Opus-5使用Claude Code。
    • 指标:NGI只在valid运行上汇总,即保持表征行为且有可评分证据。破坏率是broken除以valid加broken。全池比较把behavior_broken记为0、−1或−3后再对22库平均。
    • 辅助批次:从公开集按仓库规模、基线质量和门可用性固定分层抽出10个仓库。no-op、机械模板、规则基线和既有模型rollout使用同一base与同一评分流水线,且复用已存rollout、不再发起模型调用。行为门消融用全部60个实例,因为公开子集没有none门。
    • 评审:同一证据由两名独立teacher评分;论文未说明teacher模型名称。另有对同一批已通过行为检查的代表性补丁做三遍维护者复查,论文未给出该样本条数。
    • 重复:每个模型–实例对一次智能体rollout。附录写明repeated-seed、same-scaffold和expert条件未运行。

    主结果

    据Table 1,公开22库、NGI仅对valid运行汇总:

    表格较宽,可左右滑动

    模型ScaffoldValid破坏率平均NGI
    Kimi-K3pi214.5%0.5760
    GLM-5.3-Flashpi1722.7%0.5760
    Claude-Opus-5Claude Code1818.2%0.5293
    Qwen3.8-Maxpi1818.2%0.4630
    GLM-5.2pi209.1%0.4438
    GPT-5.6-Solpi214.5%0.2956
    DeepSeek-V4-Flashpi220.0%0.2083
    MiniMax-M3pi220.0%0.0568

    表中省略DeepSeek-V4-Pro(valid 18,破坏率18.2%,平均NGI 0.3803)和GLM-5.3(valid 19,破坏率13.6%,平均NGI 0.3198),数字同为Table 1。摘要把破坏率写成0%到23%,表内最高为22.7%。

    • 作者称条件均值最高的两个系统处于安全轴两端:一个破坏1/22,另一个破坏5/22,相等的valid-run均值不表示整体可靠性相同。
    • 作者称零破坏并不伴随高改进,因此改进、安全性和绝对treated质量应分开报告,而不是合成一个排行榜数字。
    • 作者在Section 6.4称,跨scaffold的排序不应读成因果意义上的模型比较;即使同为pi,也只有一次rollout。

    全池可靠性:Kimi-K3与GLM-5.3-Flash

    • 测了什么:Section 5.4把valid-run均值与计入交付失败的全池指标分开。共同valid为双方都保持表征行为的17个仓库。
    • 结果:Table 2中共同valid的平均NGI为0.547与0.576,差为−0.029;Kimi胜6库、GLM-5.3-Flash胜10库、平1库。全池把破坏记0后为0.550与0.445。Section 5.4另报记−1时为0.504与0.218,记−3时为0.413与−0.237。
    • 作者解读:−0.029小于no-op标准差0.073,作者认为不支持任一方有稳定的改进优势;更清楚的差别是交付可靠性,即1个对5个行为破坏仓库。三种全池记分下Kimi-K3都排第一,但其他系统的次序变化很大(Appendix D)。

    模板、no-op与逐库匹配

    • 对照分数:冻结10库上,机械模板平均NGI 0.272,规则基线0.254,都高于该批次上的DeepSeek-V4-Flash和MiniMax-M3(Table 16)。二者几乎每库都提升D1–D3,D5与D6的改进率为0%,D4为20%(Table 20)。规则基线比固定模板低0.018,小于no-op波动。
    • no-op与教师一致:no-op均值−0.009、中位数0.000、标准差0.073,10库中5库分数有变化。同一no-op证据上,两名teacher在57/60个仓库–维度分数上完全一致,非零分歧3格,60格的平均绝对分差0.067。作者称中位数为零表示未改仓库没有系统性加分;0.073混合了证据收集和评分,不能单独当成评分器方差。
    • 匹配与反例:Table 19以超过0.073的差距才算胜,该阈值是启发式而非等价检验。Kimi-K3为9胜0平1负,GLM-5.3-Flash为8胜0平1负;MiniMax-M3为2胜7负。作者称比较的中段多数不能逐库稳定超过一份从不读仓库的补丁。Efficient-WAM上,模板的测试通过,但Ruff探针仍报117个错误,且没有识别出的安装入口和依赖清单。

    行为门强度与当前分辨力

    • 门分层:Table 22在60个实例、十个模型上按变异测试标签汇总。detected、blind、vacuous、none的破坏率分别为13%、8%、0%和不可观察;NGI中位数为+0.333、+0.292、+0.271、+0.250。作者称这与弱门漏掉回归一致,而不是智能体更安全;vacuous与none的零破坏是测量现象。
    • 复查:三遍维护者复查中,通过行为检查的同一批补丁被判断为对维护有用,且未发现新的功能问题。作者称重复复查是为了看定性结论是否依赖单次检查。论文未给出样本条数。
    • 分辨力:45个模型对在共同valid公开实例上的配对NGI差,中位标准差0.270,共享实例中位数18。作者称在80%功效、α=0.05下,公开子集约能分辨0.19的真实均值差,10库批次约0.27;相邻名次小于该分辨力。达到0.10约需110个配对观测,大约是当前公开子集上每个模型–实例对五次rollout。

    其他消融与分析

    • 去掉行为门后,Section 5.9称中位数变化至多0.021且模型次序不变;Table 21在各自全量实例上的Inflation对Kimi-K3为−0.014(gate off +0.517,gate on +0.531)。论文未说明两处是否同一统计量,Table 21也不是公开22库均值。
    • 冻结10库上,Kimi-K3的D1–D6改进率为100%、100%、80%、60%、90%、100%;机械模板为100%、100%、90%、20%、0%、0%(Table 20)。这与Section 5.11对公开valid运行的76%、67%等覆盖率不是同一分母。
    • Section 5.11称,除MiniMax-M3外各模型在多数valid运行上提升Tests & CI;Structure & Maintainability对十个模型中的八个最弱或并列最弱,GPT-5.6-Sol为19%、MiniMax-M3为14%,Kimi-K3为76%、Claude-Opus-5为67%。
    • no-op漂移集中在Structure & Maintainability(3个实例)、Documentation与Reproducible Environment(各2个)。作者认为后者可能受安装证据的运行波动影响,结构分漂移更直接与评审波动一致,但未确定每个分数变化的来源。
    • Appendix D.7:早先流水线把全部6个gate=none实例记成behavior_broken;修正后受影响模型在60库上的破坏率从15–17%降到6–7%。公开22库每个实例都有验证补丁,Table 1无需修订。
    • Table 16中Claude-Opus-5在冻结10库的NGI均值为0.457、中位数为0.722;作者称这是少数实例拉高的右偏,且每个模型–实例对只跑一次,离散来自仓库差异、rollout波动和评分噪声。
  5. 有什么可以进一步探索的点?

    作者指出行为门、评审校准、模板可得分维度和单次rollout。

    作者指出的局限与后续方向

    • 行为门覆盖:仅24/60个实例的行为门经变异测试展示了判别力。blind、vacuous和none仍可用于治理状态分析,但行为证据更弱;作者写明破坏率随门强度从13%到8%再到0%,治理分数几乎不变(Section 7)。
    • 评审校准:当前评分器使用多个teacher并保留分差。三遍维护者复查未发现额外功能问题,但作者称更广的独立专家校准仍然可取;文档和可维护性等主观维度可能有共享评审误差。no-op中Structure & Maintainability在10个未改仓库里有3个发生漂移。后续方向包括盲法专家标注、裁决、跨族评审和对抗校准(Section 7)。
    • 量规可被模板达到:六个维度中的三个可被不读仓库的模板得分。作者称这是当前量规的属性,而不只是模型的属性;Tests & CI、Code Quality Gates、Documentation & Collaboration应收紧到要求已展示的范围和执行(Section 7)。
    • 单次rollout:作者称在观察到的配对离散下,公开子集约分辨0.19的NGI差,当前排序中的相邻位置没有被该工具分开(Section 7)。
    • scaffold、成本与抽样:不同scaffold暴露的工具、提示、上下文处理和终止行为不同;部分运行没有货币成本,效率结论在成本来源完整前应使用token、轮次、墙钟时间和工具调用。公开子集按共同模型覆盖定义,不是随机抽样;公开GitHub仓库也可能出现在训练数据或后续版本中。作者提出仓库族分离、近重复扫描、污染审计和访问受控的私有评测器(Section 7)。
    • 证据边界与后续工作:D6测量的是可得的依赖与安全证据,不是漏洞的全面不存在。作者计划加入重复rollout、专家基线、更强表征测试、同scaffold重跑、专家评审校准和隔离的private holdout;模板与确定性基线已作为辅助测量,但要扩展到更多仓库族之后才当作一般下界(Section 7)。

    实验覆盖范围

    • 十个模型各在22个公开仓库上完成一次rollout,共220对;Claude-Opus-5使用Claude Code,其余使用pi(Section 5.1、Table 1)。
    • 辅助条件使用从公开集按规模、基线质量和门可用性分层并冻结的10个仓库,包括no-op、机械模板、规则基线和既有rollout的重评分(Section 5.2、Table 16)。
    • 行为门消融覆盖各模型可得的全部实例,最多60个;门类别计数为detected 24、blind 27、vacuous 3、none 6(Section 5.9、Table 5、Table 21)。
    • 同一证据的teacher一致性数字来自no-op的60个仓库–维度格子;论文未报告teacher模型名称,也未在正文给出校准集的一致率(Section 5.7、Section 4.5)。
    • 附录写明repeated-seed、same-scaffold和expert条件未运行,不计入已报告测量;私有38个实例保留给内部评测,不与公开共享子集互换汇总(Appendix A.3.4、Section 5.1)。
  6. 总结一下论文的主要内容

    SWE-Prometheus把治理改造拆成改进、行为保持和证据质量。

    SWE-Prometheus评测编码智能体能否在没有给定缺陷的情况下,提高真实仓库的工程治理状态。

    • 问题:issue级基准从人工定位的问题出发,用测试或参考补丁判断功能修复。作者认为测试就绪、干净环境行为、质量与可维护性、文档、可复现性和依赖安全因此没有被测到;加入配置文件也不等于治理结果变好。
    • 做法:每个任务是钉住的仓库快照加开放式改造目标。智能体自行检查、排序并提交补丁,不能看到评测器证据。六个维度按1到5评分。评测器在独立干净副本上重跑同一探针;表征行为失败的运行标为behavior_broken,退出valid NGI。NGI把分数提升除以距离满分5的剩余空间,再对可评分维度平均。
    • 公开22库:十个模型各一次rollout。valid-run平均NGI从MiniMax-M3的0.0568到Kimi-K3、GLM-5.3-Flash的0.5760;破坏率从0%到22.7%(Table 1)。后两者条件均值相同,但分别破坏1个和5个仓库。全池把破坏记0后为0.550与0.445(Table 2)。共同valid的差值−0.029小于no-op标准差0.073。
    • 对照:冻结10库上,不读仓库的机械模板平均NGI为0.272,改进集中在D1–D3,D5与D6没有提升。Efficient-WAM上其测试通过,Ruff仍报117个错误。逐库匹配中,只有Kimi-K3和GLM-5.3-Flash在多数仓库上超过更强模板(Table 19)。no-op中位数为0,两名teacher在57/60个分数上完全一致。
    • 作者的结论:仓库治理评价应同时报告改进、行为保持、证据质量和覆盖范围。作者称当前设计支持高、中、低分段,而不是十个系统的精细排序;工件是否存在,与执行证据是否支持改进,是不同的结果。
阅读原文arxiv.org