WideSWE: Can Coding Agents Coordinate Changes Across Repositories?
Baoyi Wang, Xingliang Wang, Jinyang Wu, Keming Wu, Chen Zhi, Jianwei Yin
cs.SE
2026-09-27
浙大清华从41个生态做出120道跨仓题。七套Agent全过10.83%到42.50%,Codex+GPT-5.6-sol最高;分仓跑能补漏仓,写错的实现很少救得回来。
SWE-bench 把真实 GitHub issue 当成单仓库作业。DeepSWE、ProgramBench 把工期拉长、把工程面做大,计分范围仍停在一个 codebase。产品线里经常不是这样。Sentry 给语言 SDK 加同一条追踪策略,要同时改 Go、Python、Ruby;PHP SDK 的新能力还要下游两个依赖仓跟着动。
论文扫了 103 个软件生态里 1,729,171 条已合并 PR,其中 109,233 条明确指向同一生态的另一个仓库。要测的是:编码 Agent 能不能自己找出该动哪些仓,把同一条需求做完,并且跨仓行为对得上。
WideSWE 的一题是同一个功能或同一个修 bug,至少两个目标仓都要改实质代码。Agent 拿到合并后的 prompt 和一份历史工作区。目标仓计分;另外最多 20 个上下文仓可以读、可以改,但不计入成功。参考补丁和隐藏测试不给模型。
从总星数 Top 200 的 GitHub 组织(2026 年 6 月 5 日,Gitstar Ranking)筛出 103 个活跃生态,收集 2024 年 1 月 1 日之后互链已合并的 PR,按可用性、测试改动和 Linux 可跑过滤后剩 4,437 组。人工审加可执行验证得到 192 道合格题(每个目标仓至少一条 F2P)。最终留下全部 60 道修 bug,从 132 道功能里挑 60 道,覆盖 41 个生态、253 个目标仓,共 2,815 条 F2P、22,139 条 P2P。
80% 是生产者-消费者依赖:一个仓出接口、协议或产物,另一个仓去接。20% 是并行传播,比如多语言 SDK、native 与 polyfill。参考补丁中位改 13 个文件、416 行。Prompt 尽量沿用 issue 和 PR 原文,只合并重复需求、写清边界,不加实现步骤。隐藏测试从参考补丁抽出。120 题里 88 题做了对齐需求的人工改:87 题放宽私有函数名、固定路径、错误文案;16 题删掉 issue 没要求的额外检查。改完仍要求 Base 失败、Gold 通过。整题成功要求每个目标仓的全部 F2P 和 P2P 都过。
七套配置:Codex CLI v0.147.0 配 GPT-5.6-sol(high);Claude Code v2.1.139 分别配 GPT-5.6-sol、Claude Opus 5、Gemini 3.8 Flash、DeepSeek V4 Pro、Qwen 3.8 Max、GLM 5.3。RQ3 用 Codex CLI 加 GPT-5.6-sol,在 89 道 prompt 相同的题上对比联合跑与独立跑。独立跑给每个目标仓单独一次满预算。另外 31 道需要按仓改 prompt,被排除。对比对齐的是单次预算,不是总请求数。
全题通过率从 Gemini 3.8 Flash 的 10.83% 到 Codex CLI 配 GPT-5.6-sol 的 42.50%。同一 GPT-5.6-sol 换到 Claude Code,全过率掉到 32.50%,平均 API 从 86.7 升到 134.8。请求变多,题没变多过。
| 配置 | 全题通过 | 仓库通过 | 平均 API |
| Codex + GPT-5.6-sol | 42.50% | 63.64% | 86.7 |
| Claude Code + Qwen 3.8 Max | 37.50% | 56.92% | 177.1 |
| Claude Code + Opus 5 | 35.00% | 55.34% | 160.2 |
| Claude Code + GPT-5.6-sol | 32.50% | 56.92% | 134.8 |
| Claude Code + DeepSeek V4 Pro | 26.67% | 47.83% | 160.2 |
| Claude Code + GLM 5.3 | 20.00% | 39.92% | 151.1 |
| Claude Code + Gemini 3.8 Flash | 10.83% | 15.81% | 146.1 |
Codex 在 83.33% 的题里至少做成一个目标仓,整题只有 42.50%。69 道失败里 48 道是有的仓 F2P 全过、有的没过。失败分三类:没找全仓(Scope)、认出来了但没交付(Delivery)、仓都改了但行为和回归不过(Post-edit)。Codex 分别占 37.68%、2.90%、59.42%。Gemini 的 Delivery 占 52.34%,其中 82.14% 停在调查和规划;功能题全过率 0.00%。Codex 测试级 F2P 81.74%、P2P 98.84%,旧行为大多保得住,新行为经常做不完。
Sentry 三 SDK 要求同一套严格的 trace continuation 策略,Codex 把目标收成 Go,Python 和 Ruby 一行未改。Godot/Native 已诊断故障在 Godot 调用点,却只实现 Native API,本地 304 个单测全过,Godot 的 F2P 仍是 0/1。
Qwen 修 bug 48.33%,高于 Codex 的 41.67%;功能题掉到 26.67%。三仓题只有 13 道,全过率普遍低于 107 道两仓题。Codex 仓库通过率从两仓 63.08% 升到三仓 66.67%,全题通过率从 42.99% 降到 38.46%。失败的三仓题里 87.50% 三个仓都动过,62.50% 做成了两个。仓找得到,对齐做不完。
89 道配对:联合跑全过 40.45%,独立跑要每个仓都过才算,是 35.96%。修 bug 独立 44.83%、联合 34.48%;功能题联合 43.33%、独立 31.67%。22.47% 的题两种跑法胜负对调。独立跑平均 296.6 次 API,是联合 94.7 的 3.13 倍,总通过率没上去。联合失败且该仓没改过的,独立跑能救回 60.00%;已经改错过的,只救回 9.43%。
这和把 SWE-bench 换成更多语言不是同一类评测。BeyondSWE 的 CrossRepo 是修目标仓时去外仓找参考;WideSWE 的相关仓本身就是必须交卷的目标。SDK 矩阵和协议两端,日常开发就是这种改法。
单仓通过率会把跨仓能力估高:Codex 仓库级 63.64%、整题 42.50%,中间那截是做成一半就停。同一模型换脚手架差 10 个百分点。分仓调度适合把漏掉的仓补上,不适合把已经写错的实现改对。功能开发更需要对着另一个仓核对接口。跟进该优先测多仓编排和交叉验证。
正文没有单独的 Limitations 节。RQ3 给每个目标仓各一次满预算,不是总预算对齐,不能当成拆开跑是否更好的因果估计。修 bug 和功能题方向相反,附录写明不要外推。三仓只有 13 道,波动会很大。
题目要求最新相关 PR 不早于 2025 年 6 月 1 日,预印本是 2026 年 9 月。GPT-5.6、Opus 5、Gemini 3.8 有没有见过这些已合并 PR,正文没测。候选来自总星数 Top 200、只要 Linux 能跑。功能题从 132 道合格里人工挑 60 道,偏好运行时、协议、schema、SDK 集成。
失败分类靠终态 diff 加轨迹,两人一致率 91.2%(Cohen's κ=0.86)。隐藏测试改了 88 题,方向是放宽实现约束,可能让部分投机写法过关。伦理声明写明 Agent 补丁可能带漏洞和回归,不能无人审就上线。